Files
Bubberstation/code/modules/shuttle/on_move.dm
Cyberboss e48564d941 Arrivals Ferry (#24694)
* 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
2017-03-10 14:19:34 +13:00

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))