shuttle_cling
Gets added to all movables that enter hyperspace and are supposed to suffer from "hyperspace drift" This lets people fly around shuttles during transit using jetpacks, or cling to the side if they got a spacesuit Dumping into deepspace is handled by the hyperspace turf, not the component. Not giving something this component while on hyperspace is safe, it just means free movement like carps
Vars | |
clinging_move_delay | If we can "hold on", how often do we move? |
---|---|
direction | The direction we push stuff towards |
hyperloop | Our moveloop, handles the transit pull |
hyperspace_type | Path to the hyperspace tile, so we know if we're in hyperspace |
not_clinging_move_delay | If we can't hold onto anything, how fast do we get pulled away? |
Procs | |
do_remove | This is just for signals and doesn't run for most removals, so dont add behaviour here expecting it to do much |
is_holding_on | Check if we're "holding on" to the shuttle |
is_on_hyperspace | Are we on a hyperspace tile? There's some special bullshit with lattices so we just wrap this check |
is_tile_solid | Check if it's a closed turf or contains a dense object |
launch_very_hard | Launch the atom very hard, away from hyperspace |
update_drift_direction | Check if we arent just being blocked, and if we are give us some diagonal push so we cant just infinitely cling to the front |
update_state | Check if we're in hyperspace and our state in hyperspace |
Var Details
clinging_move_delay
If we can "hold on", how often do we move?
direction
The direction we push stuff towards
hyperloop
Our moveloop, handles the transit pull
hyperspace_type
Path to the hyperspace tile, so we know if we're in hyperspace
not_clinging_move_delay
If we can't hold onto anything, how fast do we get pulled away?
Proc Details
do_remove
This is just for signals and doesn't run for most removals, so dont add behaviour here expecting it to do much
is_holding_on
Check if we're "holding on" to the shuttle
is_on_hyperspace
Are we on a hyperspace tile? There's some special bullshit with lattices so we just wrap this check
is_tile_solid
Check if it's a closed turf or contains a dense object
launch_very_hard
Launch the atom very hard, away from hyperspace
update_drift_direction
Check if we arent just being blocked, and if we are give us some diagonal push so we cant just infinitely cling to the front
update_state
Check if we're in hyperspace and our state in hyperspace