Machinist workshop remap (#22898)

Remaps the machinist workshop to fulfil a few criteria missing from
https://github.com/Aurorastation/Aurora.3/pull/22718. Particularly aims
to make the workshop more functional for IPC medical gameplay.

- The surgical theatre has been expanded so two machinists can more
practically work in the same space at the same time. In the existing
design, this portion of the workshop is far too claustrophobic. It also
has a desk.
- The exosuit chargers no longer obstruct access from the garage door.
- Resolved a lot of awkward uses of decals and platforms, which should
also make for more useable space.
- Cleaned up the wiring - both rooms are now wired to the civilian
subgrid. Previously, the main workshop area was hooked via a very
awkward line to the operations subgrid, while the theatre was wired to
civilian.
- Shifted a lot of the clutter into the robotics vendor, such as the
empty first-aid kits for medbots.
- Shifted materials crates + the crate shelf to a central position, to
make them easier to track.

Things of note for maintainers:

- It's never ideal to remap something very soon after the original
implementation, but having given this remap a full month, I think it's
had a fair chance. Having played machinist in it, the layout is very
tough to work in. It's a very cluttered environment, which becomes much
harder to look at once there's a disassembled mech cluttering the centre
with a dozen or so objects. This aims to be more intuitive to play in
and less overwhelming for players.
- The surgical theatre contains one additional IV drip, one extra O-
bag, and one organ cooler for borgings, and there are now two roller
beds accessible by the front desk. I'd rather have a more unique
solution for this problem long-term, but in the short-term it very much
sucks to have to ask to borrow a roller from medical just so you can
move a damaged industrial, given you can no longer pick that industrial
up unless you're playing a huge species.
- Otherwise, the workshop has the same resources as before and will be
able to make the same things.

(screenshot taken after testing, and prior to further changes)
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/a8eef0e3-630b-463d-b3c3-22769001b513"
/>
<img width="480" height="448" alt="image"
src="https://github.com/user-attachments/assets/535dc851-7bab-48f7-a916-a5a1f12bf650"
/>
This commit is contained in:
hazelrat
2026-07-30 14:48:50 +00:00
committed by GitHub
parent 5786902956
commit c080d4b5fe
7 changed files with 4079 additions and 3913 deletions
@@ -336,6 +336,8 @@
/obj/item/storage/box/fancy/tray/machinist
name = "machinist operation tray"
desc = "A tray of various tools for use by machinists in repairing robots."
// So additional tools can be added.
max_storage_space = 23
can_hold = list(
/obj/item/surgery/cautery,
/obj/item/surgery/circular_saw,
@@ -19,15 +19,18 @@
vend_id = "robo-tools"
products = list(
/obj/item/stack/cable_coil = 4,
/obj/item/flash/synthetic = 4,
/obj/item/flash/synthetic = 10,
/obj/item/cell/high = 12,
/obj/item/assembly/prox_sensor = 8,
/obj/item/assembly/signaler = 20,
/obj/item/healthanalyzer = 3,
/obj/item/surgery/scalpel = 2,
/obj/item/surgery/hemostat = 2,
/obj/item/storage/firstaid/empty = 2,
/obj/item/surgery/circular_saw = 2,
/obj/item/screwdriver = 5,
/obj/item/crowbar = 5
/obj/item/crowbar = 5,
/obj/item/mmi = 2
)
contraband = list(
/obj/item/flash = 2
+16 -3
View File
@@ -430,6 +430,14 @@
color = COLOR_TILED
pass_flags_self = LETPASSTHROW|PASSSTRUCTURE|PASSRAILING
/obj/structure/platform/Initialize(mapload)
. = ..()
update_icon()
/obj/structure/platform/update_icon()
if(dir == NORTH)
layer = ABOVE_HUMAN_LAYER
/obj/structure/platform/dark
icon_state = "platform_dark"
color = COLOR_DARK_GUNMETAL
@@ -510,9 +518,6 @@
/obj/structure/platform/cutout/CanPass()
return TRUE
/obj/structure/platform/bar
layer = ABOVE_HUMAN_LAYER
/// No special CanPass for this one.
/obj/structure/platform_deco
name = "platform"
@@ -522,6 +527,14 @@
icon_state = "platform_deco"
color = COLOR_TILED
/obj/structure/platform_deco/Initialize(mapload)
. = ..()
update_icon()
/obj/structure/platform_deco/update_icon()
if(dir & (NORTH|SOUTH))
layer = ABOVE_HUMAN_LAYER
/obj/structure/platform_deco/dark
icon_state = "platform_deco_dark"
color = COLOR_DARK_GUNMETAL
@@ -134,6 +134,11 @@
name = "space cleaner"
desc = "BLAM!-brand non-foaming space cleaner!"
/obj/item/reagent_containers/spray/cleaner/surgical
name = "surgical cleaner"
desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."
icon_state = "sterilespray"
/obj/item/reagent_containers/spray/cleaner/drone
name = "space cleaner"
desc = "BLAM!-brand non-foaming space cleaner!"
+11
View File
@@ -886,6 +886,17 @@ won't update every console in existence) but it's more of a hassle to do. Also,
allow_analyzer = FALSE
circuit = /obj/item/circuitboard/robotics_console
/obj/structure/machinery/computer/rdconsole/robotics/terminal
name = "robotics R&D terminal"
icon = 'icons/obj/modular_computers/modular_terminal.dmi'
icon_screen = "mecha"
icon_keyboard = "power_key"
icon_keyboard_emis = "power_key_mask"
is_connected = TRUE
has_off_keyboards = TRUE
can_pass_under = FALSE
light_power_on = 1
/obj/structure/machinery/computer/rdconsole/core
name = "core R&D console"
desc = "A console which is used to operate various research devices. It is the backbone of any megacorporate research division."
+59
View File
@@ -0,0 +1,59 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: hazelmouse
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Implemented a remap of the Machinist Workshop."
- rscadd: "North-facing platforms now layer correctly over humans."
File diff suppressed because it is too large Load Diff