Port /tg/ move manager, drift and jetpack components. (#27698)

* Port /tg/ move manager, drift and jetpack components.

* don't add go through newtonian movement if not moved to a turf

* various cleans for blood drifts and mob speed

* fix slow meteors

* why on fuck's earth aren't speedbikes vehicles

* style lint

* also wtf

* okay i'm an idiot

* fix meaty ore speed and blood decal double stepping

* fix not unbuckling pulled object occupants

* don't bother dealing with immovable rods just yet

* exclude bubblegum and vetus from move manager for now

* fix issues related to null weightless blood icons

* reset blood icon state properly

* fuck it, we'll deal with mobs when basic mobs happen

* break infinite loop in decal splat
This commit is contained in:
warriorstar-orion
2025-01-22 22:49:58 +00:00
committed by GitHub
parent 3954981ff2
commit 157276d6cb
105 changed files with 2366 additions and 538 deletions
+2 -2
View File
@@ -311,7 +311,7 @@
if(pass_info.is_movable)
. = . || pass_info.pass_flags & PASSTABLE
/obj/structure/m_tray/Process_Spacemove(movement_dir)
/obj/structure/m_tray/Process_Spacemove(movement_dir = 0, continuous_move = FALSE)
return TRUE
/*
@@ -582,7 +582,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
connected = null
return ..()
/obj/structure/c_tray/Process_Spacemove(movement_dir)
/obj/structure/c_tray/Process_Spacemove(movement_dir = 0, continuous_move = FALSE)
return TRUE
// Crematorium switch
@@ -32,7 +32,7 @@
W.setDir(dir)
qdel(src)
/obj/structure/chair/Move(atom/newloc, direct)
/obj/structure/chair/Move(atom/newloc, direct = 0, glide_size_override = 0, update_dir = TRUE)
. = ..()
handle_rotation()
@@ -73,8 +73,6 @@
if(!buckled_mob.Move(get_step(buckled_mob, direction), direction))
loc = buckled_mob.loc //we gotta go back
last_move = buckled_mob.last_move
inertia_dir = last_move
buckled_mob.inertia_dir = last_move
. = 0
else
@@ -50,7 +50,7 @@
stop_following()
return ..()
/obj/structure/transit_tube_pod/Process_Spacemove()
/obj/structure/transit_tube_pod/Process_Spacemove(movement_dir = 0, continuous_move = FALSE)
if(moving) //No drifting while moving in the tubes
return TRUE
else return ..()