wait how did you do the animation for when you can’t move?
It's a really manual process! I made extra objects with the different offsets visually built in for anything that should be able to move like that, then swap them out and back with an again turn. A really important thing making it at least doable, not totally absurd, is that I used pattern:script rather than Puzzlescript, which supports offsets of sprites via a text under them, for all 4 directions at once, and lets me also write just one rule to swap them out for all directions. That was a very long sentence, sorry :P