diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 918cbb4e283..7afc8ed5cca 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -90,7 +90,7 @@ if(A.density && !A.throwpass) // **TODO: Better behaviour for windows which are dense, but shouldn't always stop movement src.throw_impact(A,speed) -/atom/movable/proc/throw_at(atom/target, range, speed, thrower) +/atom/movable/proc/throw_at(atom/target, range, speed, thrower, var/do_throw_animation = TRUE) if(!target || !src) return 0 //use a modified version of Bresenham's algorithm to get from the atom's current position to that of the target @@ -161,8 +161,9 @@ sleep(1) a = get_area(src.loc) // and yet it moves - if(src.does_spin) - src.SpinAnimation(speed = 4, loops = 1) + if(do_throw_animation) + if(src.does_spin) + src.SpinAnimation(speed = 4, loops = 1) //done throwing, either because it hit something or it finished moving if(isobj(src)) src.throw_impact(get_turf(src),speed) diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index f614965cd1e..ef5a7b6a5a2 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -666,7 +666,7 @@ "You leap horizontally at \the [T]!", "You hear an electric whirr followed by a weighty thump!") H.face_atom(T) - H.throw_at(T, leapDistance, 1, src) + H.throw_at(T, leapDistance, 1, src, do_throw_animation = FALSE) return 1 else var/turf/simulated/open/TA = GetAbove(src) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 88b40660f79..439955f8a8a 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -91,7 +91,7 @@ status_flags |= LEAPING visible_message("[src] leaps at [T]!", "You leap at [T]!") - throw_at(get_step(get_turf(T), get_turf(src)), 4, 1, src) + throw_at(get_step(get_turf(T), get_turf(src)), 4, 1, src, do_throw_animation = FALSE) // Only Vox get to shriek. Seriously. if (isvox(src)) diff --git a/html/changelogs/alberyk_flip.yml b/html/changelogs/alberyk_flip.yml new file mode 100644 index 00000000000..4bf46ae7995 --- /dev/null +++ b/html/changelogs/alberyk_flip.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - bugfix: "Fixed hardsuit actuator jump and leaping forcing people to do backflip in mid air."