mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Objects mounted in shuttle areas drop again & relocates some shuttle objects (#94611)
## About The Pull Request - Fixes #94119 > This will require a different solution which someone smarter than me has to figure out in the foreseeable future Today me is now smarter than yesterday me. We basically just unmount when the object is about to shuttle moved and remount after it has been shuttle moved This also map edits some objects that could not be mounted in shuttles previously ## Changelog 🆑 fix: objects mounted in shuttle areas deconstruct when their support structure is destroyed fix: fixes runtime in arrivals shuttle when its request console is destroyed map: moved around some objects in shuttles so they can be mounted on its walls again /🆑
This commit is contained in:
@@ -118,7 +118,7 @@ All ShuttleMove procs go here
|
||||
// Called on atoms after everything has been moved
|
||||
/atom/movable/proc/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
SEND_SIGNAL(src, COMSIG_ATOM_AFTER_SHUTTLE_MOVE, oldT)
|
||||
|
||||
if(light)
|
||||
update_light()
|
||||
if(rotation)
|
||||
@@ -126,6 +126,8 @@ All ShuttleMove procs go here
|
||||
|
||||
update_parallax_contents()
|
||||
|
||||
SEND_SIGNAL(src, COMSIG_ATOM_AFTER_SHUTTLE_MOVE, oldT)
|
||||
|
||||
return TRUE
|
||||
|
||||
/atom/movable/proc/lateShuttleMove(turf/oldT, list/movement_force, move_dir)
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
new_latejoin += shuttle_chair
|
||||
if(isnull(console))
|
||||
console = locate() in arrival_turf
|
||||
RegisterSignal(console, COMSIG_QDELETING, PROC_REF(find_console))
|
||||
areas += arrival_area
|
||||
|
||||
if(SSjob.latejoin_trackers.len)
|
||||
@@ -100,6 +101,22 @@
|
||||
else if(!found_awake)
|
||||
Launch(FALSE)
|
||||
|
||||
/obj/docking_port/mobile/arrivals/proc/find_console(datum/source, force)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
//clear ref to old deleted console
|
||||
console = null
|
||||
|
||||
//find new console
|
||||
for(var/area/shuttle/arrival/arrival_area as anything in areas)
|
||||
for(var/list/zlevel_turfs as anything in arrival_area.get_zlevel_turf_lists())
|
||||
for(var/turf/arrival_turf as anything in zlevel_turfs)
|
||||
var/obj/machinery/requests_console/target = locate() in arrival_turf
|
||||
if(!QDELETED(target))
|
||||
console = target
|
||||
RegisterSignal(console, COMSIG_QDELETING, PROC_REF(find_console))
|
||||
return
|
||||
|
||||
/obj/docking_port/mobile/arrivals/proc/CheckTurfsPressure()
|
||||
for(var/I in SSjob.latejoin_trackers)
|
||||
var/turf/open/T = get_turf(I)
|
||||
|
||||
Reference in New Issue
Block a user