diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm
index 7287cee2c6..ac82faba2d 100644
--- a/code/modules/clothing/spacesuits/flightsuit.dm
+++ b/code/modules/clothing/spacesuits/flightsuit.dm
@@ -104,8 +104,6 @@
var/obj/item/weapon/stock_parts/matter_bin/part_bin = null
var/crashing = FALSE //Are we currently getting wrecked?
- var/atom/movable/cached_pull
- var/turf/old_pull_turf
/obj/item/device/flightpack/proc/changeWearer(mob/changeto)
if(wearer)
@@ -247,24 +245,9 @@
momentum_y = Clamp(momentum_y + amounty, -momentum_max, momentum_max)
calculate_momentum_speed()
-/obj/item/device/flightpack/proc/update_cached_pull()
- if(!wearer)
- return
- if(!QDELETED(wearer.pulling))
- cached_pull = wearer.pulling
- if(istype(cached_pull))
- old_pull_turf = get_turf(cached_pull)
- else if(old_pull_turf)
- old_pull_turf = null
-
-/obj/item/device/flightpack/proc/handle_linked_movement(turf/oldTurf, turf/newTurf)
- if(!QDELETED(cached_pull))
- cached_pull.forceMove(oldTurf)
-
/obj/item/device/flightpack/intercept_user_move(dir, mob, newLoc, oldLoc)
if(!flight)
return
- update_cached_pull()
var/momentum_increment = momentum_gain
if(boost)
momentum_increment = boost_power
@@ -281,7 +264,6 @@
adjust_momentum(momentum_increment, 0)
if(WEST)
adjust_momentum(-momentum_increment, 0)
- handle_linked_movement(oldLoc, get_turf(wearer))
//The wearer has momentum left. Move them and take some away, while negating the momentum that moving the wearer would gain. Or force the wearer to lose control if they are incapacitated.
/obj/item/device/flightpack/proc/momentum_drift()
@@ -303,14 +285,10 @@
return FALSE
momentum_decay()
for(var/i in 1 to momentum_speed)
- var/turf/oldturf = get_turf(wearer)
- update_cached_pull()
if(momentum_speed_x >= i)
- if(step(wearer, drift_dir_x))
- handle_linked_movement(oldturf, get_turf(wearer))
+ step(wearer, drift_dir_x)
if(momentum_speed_y >= i)
- if(step(wearer, drift_dir_y))
- handle_linked_movement(oldturf, get_turf(wearer))
+ step(wearer, drift_dir_y)
sleep(1)
//Make the wearer lose some momentum.
@@ -548,11 +526,8 @@
/obj/item/device/flightpack/proc/door_hit(obj/structure/mineral_door/door)
spawn()
door.Open()
- update_cached_pull()
- var/turf/old = get_turf(wearer)
var/turf/T = get_turf(door)
wearer.forceMove(T)
- handle_linked_movement(old, T)
wearer.visible_message("[wearer] rolls to their sides and slips past [door]!")
/obj/item/device/flightpack/proc/crash_grille(obj/structure/grille/target)
@@ -578,23 +553,17 @@
A.open()
wearer.visible_message("[wearer] rolls sideways and slips past [A]")
var/turf/target = get_turf(A)
- var/turf/old = get_turf(wearer)
if(istype(A, /obj/machinery/door/window) && (get_turf(wearer) == get_turf(A)))
target = get_step(A, A.dir)
- update_cached_pull()
wearer.forceMove(target)
- handle_linked_movement(old, target)
return pass
/obj/item/device/flightpack/proc/mobknockback(mob/living/victim, power, direction)
if(!ismob(victim))
return FALSE
- update_cached_pull()
- var/turf/old = get_turf(wearer)
var/turf/T = get_turf(victim)
wearer.forceMove(T)
- handle_linked_movement(old, T)
wearer.visible_message("[wearer] flies over [victim]!")
/obj/item/device/flightpack/proc/victimknockback(atom/movable/victim, power, direction)
@@ -663,11 +632,11 @@
wearer.movement_type |= FLYING
wearer.pass_flags |= flight_passflags
usermessage("ENGAGING FLIGHT ENGINES.")
- update_slowdown()
wearer.floating = TRUE
wearer.visible_message("[wearer]'s flight engines activate as they lift into the air!")
//I DONT HAVE SOUND EFFECTS YET playsound(
flight = TRUE
+ update_slowdown()
update_icon()
ion_trail.start()
@@ -679,7 +648,6 @@
momentum_x = 0
momentum_y = 0
usermessage("DISENGAGING FLIGHT ENGINES.")
- update_slowdown()
wearer.floating = FALSE
wearer.visible_message("[wearer] drops to the ground as their flight engines cut out!")
//NO SOUND YET playsound(
@@ -687,6 +655,7 @@
wearer.movement_type &= ~FLYING
wearer.pass_flags &= ~flight_passflags
flight = FALSE
+ update_slowdown()
if(suit && suit.shoes)
suit.shoes.toggle(FALSE)
if(isturf(wearer.loc))