diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index f66c407a633..f319aa13f50 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -284,8 +284,11 @@ return var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction - - if(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE)) + var/do_callback = FALSE + if(!user.flying) + user.flying = TRUE + do_callback = TRUE + if(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE, callback = do_callback ? VARSET_CALLBACK(user, flying, FALSE) : null)) playsound(src, 'sound/effects/stealthoff.ogg', 50, 1, 1) user.visible_message("[usr] dashes forward into the air!") recharging_time = world.time + recharging_rate diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index a898b9d893e..9c3ffda1c39 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -388,8 +388,11 @@ return var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction - - if (user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE)) + var/do_callback = FALSE + if(!user.flying) + user.flying = TRUE + do_callback = TRUE + if(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE, callback = do_callback ? VARSET_CALLBACK(user, flying, FALSE) : null)) playsound(src, 'sound/effects/stealthoff.ogg', 50, 1, 1) user.visible_message("[usr] dashes forward into the air!") recharging_time = world.time + recharging_rate