diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index 18fd8e7b18..8dc1afba81 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -215,11 +215,17 @@ /datum/martial_art/wrestling/proc/FlipAnimation(mob/living/carbon/human/D) set waitfor = FALSE + var/transform_before + var/laying_before if (D) + transform_before = D.transform + laying_before = D.lying animate(D, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0) sleep(15) if (D) - animate(D, transform = null, time = 1, loop = 0) + if(transform_before && laying_before == D.lying) //animate calls sleep so this should be fine and stop a bug with transforms + D.transform = transform_before + animate(D, transform = null, time = 1, loop = 0) /datum/martial_art/wrestling/proc/slam(mob/living/carbon/human/A, mob/living/carbon/human/D) if(!D) @@ -415,11 +421,17 @@ to_chat(A, "You can't drop onto [D] from here!") return FALSE + var/transform_before + var/laying_before if(A) + transform_before = A.transform + laying_before = A.lying animate(A, transform = matrix(90, MATRIX_ROTATE), time = 1, loop = 0) sleep(10) if(A) - animate(A, transform = null, time = 1, loop = 0) + if(transform_before && laying_before == A.lying) //if they suddenly dropped to the floor between this period, don't revert their animation + animate(A, transform = null, time = 1, loop = 0) + A.transform = transform_before A.forceMove(D.loc)