Files
Paradise/code/modules/shuttle/on_move.dm
T
AffectedArc07andGitHub 1feb9fbd38 [READY] Atmos Refactor Part 7 (I think) - Kills signals + TGUIs stuff (#19867)
* I AM NOT A KING. I AM NOT A GOD. I AM LUNACY.

* THE SCOPE CREEP

* This was done in vi. No langserver. Send help.

* Progress

* Some issues fixed

* The code builds, but the maps dont

* CC builds, I doubt anything else does

* Do this now

* Safety

* The map compiles

* THE MAPPING HELL

* Airlock controllers dont work

* Fixed bombs

* AND THATS FIXED

* Phantom edit

* Restores LL I think

* The mapmerge hooks are actually retarded

* Fixes spawners

* Half working air control

* Picky

* Hyper efficient tank monitor

* Sanity

* Laying the framework

* Improved alert console

* Dont think this is actually done anywhere

* Metering

* ONE HUNDRED AND ~~EIGHTY~~ TWENTY SEVEN

* WE ARE READY FOR BOX TO BUILD

* One map done

* Well that was easy

* Another one

* I think this is done

* I should have removed this

* I would make a russian joke but <current event>

* Delta WIP

* Makes delta work

* Early review

* TM safeguard

* oops

* METAAAAAAAAAAAAAAAAAAAAAAAAA

* Fix #4213

* Trailing

* oh for piss sake

* Shutter fix

* Roundstart ATs can go away

* Review pass 1

* What could go wrong

* BOOM BOOM BOOM

* Not needed

* Fix seed vault

* Oops

* Review changes
2023-01-03 20:59:35 +00:00

78 lines
1.8 KiB
Plaintext

// Shuttle on-movement //
/atom/movable/proc/onShuttleMove(turf/oldT, turf/T1, rotation, mob/caller)
var/turf/newT = get_turf(src)
if(newT.z != oldT.z)
onTransitZ(oldT.z, newT.z)
if(light)
update_light()
if(rotation)
shuttleRotate(rotation)
forceMove(T1)
return 1
/obj/effect/landmark/shuttle_import/onShuttleMove()
// Used for marking where to preview/load shuttles
return 0
/obj/docking_port/onShuttleMove()
// Stationary ports shouldn't move, mobile ones move themselves
return 0
/obj/machinery/door/airlock/onShuttleMove()
. = ..()
if(!.)
return
INVOKE_ASYNC(src, PROC_REF(close), 0, 1)
// Close any nearby airlocks as well
for(var/obj/machinery/door/airlock/D in orange(1, src))
INVOKE_ASYNC(D, PROC_REF(close), 0, 1)
/obj/machinery/door/airlock/onShuttleMove()
. = ..()
if(id_tag == "s_docking_airlock")
INVOKE_ASYNC(src, PROC_REF(lock))
/mob/onShuttleMove(turf/oldT, turf/T1, rotation)
if(!move_on_shuttle)
return 0
. = ..()
if(!.)
return
if(!client)
return
if(buckled)
shake_camera(src, 2, 1) // turn it down a bit come on
else
shake_camera(src, 7, 1)
update_parallax_contents()
/mob/living/carbon/onShuttleMove()
. = ..()
if(!.)
return
if(!buckled)
Weaken(6 SECONDS)
// After docking //
/atom/proc/postDock(obj/docking_port/S1)
if(smoothing_flags)
QUEUE_SMOOTH(src)
/mob/postDock()
update_parallax_contents()
/obj/machinery/door/airlock/postDock(obj/docking_port/stationary/S1)
. = ..()
if(!S1.lock_shuttle_doors && id_tag == "s_docking_airlock")
INVOKE_ASYNC(src, PROC_REF(unlock))
/obj/structure/ladder/onShuttleMove()
if(resistance_flags & INDESTRUCTIBLE)
// simply don't be moved
return FALSE
disconnect()
LateInitialize() // who the fuck did this
return ..()