Merge pull request #12775 from timothyteakettle/wrestling-rotation-fix
wrestling rotation fix
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user