mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-04 14:01:22 +00:00
* Highlight docking ports in TESTING * Buckle arrivals to their seats * Fixes shuttle/Initialize not calling the base * Arrivals docking * Use forceMove so the shuttle effect starts * Forgot this check * Fixes * Needful * Fix this shit * Line endings? * Double check, fix sound * Remove empty if * Fucking lists * Fix parallax and ghosts * Ghost fix * GHOST * Fix shit * Fix parallax + config * I lied slightly * Hyperspace sound refactor * Finish fixing the maps + doors * Fix the sound not playing * Consoles + area fix * Updates default config * Fix line endings * Safety checks * Damage checks * This should be down here * Clean some stuff up * Fix a few things on Delta and Omega * Delete the useless air alarm on Pubby's shuttle * Fixes #24727 * Always the fucking line endings * Fix this negative check * LINE ENDINGS!!!!! * Revert to master * Redo the changes * Fix the sound not repeating * Readds the shuttle door * Fix people disabling latejoins
88 lines
2.0 KiB
Plaintext
88 lines
2.0 KiB
Plaintext
/atom/movable/proc/onShuttleMove(turf/T1, rotation)
|
|
if(rotation)
|
|
shuttleRotate(rotation)
|
|
loc = T1
|
|
if (length(client_mobs_in_contents))
|
|
update_parallax_contents()
|
|
return 1
|
|
|
|
/obj/onShuttleMove()
|
|
if(invisibility >= INVISIBILITY_ABSTRACT)
|
|
return 0
|
|
. = ..()
|
|
|
|
/obj/machinery/atmospherics/onShuttleMove()
|
|
. = ..()
|
|
for(DEVICE_TYPE_LOOP)
|
|
if(get_area(nodes[I]) != get_area(src))
|
|
nullifyNode(I)
|
|
|
|
#define DIR_CHECK_TURF_AREA(X) (get_area(get_ranged_target_turf(src, X, 1)) != A)
|
|
/obj/structure/cable/onShuttleMove()
|
|
. = ..()
|
|
var/A = get_area(src)
|
|
//cut cables on the edge
|
|
if(DIR_CHECK_TURF_AREA(NORTH) || DIR_CHECK_TURF_AREA(SOUTH) || DIR_CHECK_TURF_AREA(EAST) || DIR_CHECK_TURF_AREA(WEST))
|
|
cut_cable_from_powernet()
|
|
#undef DIR_CHECK_TURF_AREA
|
|
|
|
/atom/movable/light/onShuttleMove()
|
|
return 0
|
|
|
|
/obj/machinery/door/onShuttleMove()
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
INVOKE_ASYNC(src, .proc/close)
|
|
// Close any attached airlocks as well
|
|
for(var/obj/machinery/door/D in orange(1, src))
|
|
INVOKE_ASYNC(src, .proc/close)
|
|
|
|
/obj/machinery/door/airlock/onShuttleMove()
|
|
shuttledocked = 0
|
|
for(var/obj/machinery/door/airlock/A in orange(1, src))
|
|
A.shuttledocked = 0
|
|
INVOKE_ASYNC(A, /obj/machinery/door/.proc/close)
|
|
. = ..()
|
|
shuttledocked = 1
|
|
for(var/obj/machinery/door/airlock/A in orange(1, src))
|
|
A.shuttledocked = 1
|
|
/mob/onShuttleMove()
|
|
if(!move_on_shuttle)
|
|
return 0
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
if(client)
|
|
if(buckled)
|
|
shake_camera(src, 2, 1) // turn it down a bit come on
|
|
else
|
|
shake_camera(src, 7, 1)
|
|
|
|
/mob/living/carbon/onShuttleMove()
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
if(!buckled)
|
|
Weaken(3)
|
|
|
|
// Shuttle Rotation //
|
|
|
|
/atom/proc/shuttleRotate(rotation)
|
|
//rotate our direction
|
|
setDir(angle2dir(rotation+dir2angle(dir)))
|
|
|
|
//resmooth if need be.
|
|
if(smooth)
|
|
queue_smooth(src)
|
|
|
|
//rotate the pixel offsets too.
|
|
if (pixel_x || pixel_y)
|
|
if (rotation < 0)
|
|
rotation += 360
|
|
for (var/turntimes=rotation/90;turntimes>0;turntimes--)
|
|
var/oldPX = pixel_x
|
|
var/oldPY = pixel_y
|
|
pixel_x = oldPY
|
|
pixel_y = (oldPX*(-1))
|