Horizon mapping cleanup and bugfixes (#21450)

Fixes https://github.com/Aurorastation/Aurora.3/issues/21289
Fixes https://github.com/Aurorastation/Aurora.3/issues/15779

Handles a lot of mapping cleanup, container definitions for the Horizon,
and several bugfixes found along the way.

changes:
- code_imp: "Added set definitions for several Horizon-specific
containers."
- code_imp: "Updated 'full' material stacks on the Horizon from sneaky
var-edited singles to properly defined full stacks"
- code_imp: "Cleaned up all Air Alarms, Fire Alarms, and APCs on the
Horizon that were directional children with their dir var edited."
- code_imp: "Cleaned up all Power Cables on the Horizon that had d1 or
d2 var edited instead of just icon_state."
- code_imp: "Adjusted pixel shifts for 'south' (north-facing) Air
Alarms, Fire Alarms, APCs, and Extinguisher Cabinets to address layering
issues when standing vs. leaning."
- code_imp: "Minor refactor of shuttle/* Air Alarms and APCs to reduce
excess children; req_one_access perms now assigned based on
/area/horizon/shuttle/*."
  - qol: "Adds feedback hint for uses remaining to Emag cards."
- qol: "Added Tip about the shift-click behavior of the 'up-hint'/'Look
Up' button."
- bugfix: "See-through turfs (like lattices/catwalks over open space)
can now be Looked Up through from below."
- bugfix: "Fixed the shift-click behavior of 'up-hint'/'Look Up' button,
allowing you to see nearby turfs that can be Looked Up through."
- bugfix: "Maintenance Panels located on the floor have had their
layering issues fixed."
- bugfix: "Borg eye emissive effects MAYBE no longer visible through
higher z-levels."
- bugfix: "Added missing leanable component to window/shuttle obj type."
This commit is contained in:
Batrachophreno
2025-10-07 22:12:03 +00:00
committed by GitHub
parent dfe57a310f
commit 4d41b0595f
19 changed files with 5002 additions and 5541 deletions
@@ -50,16 +50,18 @@ ABSTRACT_TYPE(/obj/structure/engineer_maintenance)
/obj/structure/engineer_maintenance/Initialize(mapload)
. = ..()
name = panel_location == PANEL_LOCATION_FLOOR ? "maintenance panel" : "large maintenance panel" // floor panels are smaller than the wall mounted ones
// Floor panels are smaller and should be layered beneath dropped objects other structures.
if(panel_location == PANEL_LOCATION_FLOOR)
name = "maintenance_panel"
layer = EXPOSED_WIRE_TERMINAL_LAYER
else
name = "large maintenance panel"
icon_number = pick(icon_numbers_and_descriptions)
detailed_desc = icon_numbers_and_descriptions[icon_number]
for(var/tool_type in panel_tools)
var/atom/tool = tool_type
panel_tool_names += initial(tool.name)
var/turf/target_turf = panel_location == PANEL_LOCATION_FLOOR ? get_turf(src) : get_step(src, NORTH)
RegisterSignal(target_turf, COMSIG_ATOM_DECONSTRUCTED, PROC_REF(remove_self))
/obj/structure/engineer_maintenance/proc/remove_self()
SIGNAL_HANDLER
qdel(src)