Alright, that solved the issue. But there's a new issue now; in that case the player is right next to the flag and moves to it, the player stops on the flag. Now, they don't spawn a PlayerOrigin, which is good, but they do stop there and get to make another move from that position (sort of as if the player never turns into PSUR or something), which I don't want.
Here is the current set of rules:
(start sliding)
[up PlayerLeft ] -> [up PSUL] again
[down PlayerLeft ] -> [down PSDL] again
[up PlayerRight ] -> [up PSUR] again
[down PlayerRight ] -> [down PSDR] again
[left Player ] -> [left PSL] again
[right Player] -> [right PSR] again
(stop at obstacles)
up [PSUL | wall] -> [PlayerLeft PlayerOrigin | wall]
down [PSUR | wall] -> [PlayerRight PlayerOrigin | wall]
up [PSDL | wall] -> [PlayerLeft PlayerOrigin | wall]
down [PSDR | wall] -> [PlayerRight PlayerOrigin | wall]
left [PSL | wall] -> [PlayerLeft PlayerOrigin | wall]
right [PSR | wall] -> [PlayerRight PlayerOrigin | wall]
(bump boxes)
up [PSUL | crate | no wall] -> [PlayerLeft PlayerOrigin | | crate]
down [PSUR | crate | no wall] -> [PlayerRight PlayerOrigin | | crate]
up [PSDL | crate | no wall] -> [PlayerLeft PlayerOrigin | | crate]
down [PSDR | crate | no wall] -> [PlayerRight PlayerOrigin | | crate]
left [PSL | crate | no wall] -> [PlayerLeft PlayerOrigin | | crate]
right [PSR | crate | no wall] -> [PlayerRight PlayerOrigin | | crate]
(slide)
[PSUL] -> [up PSUL] again
[PSUR] -> [up PSUR] again
[PSDL] -> [down PSDL] again
[PSDR] -> [down PSDR] again
[PSL] -> [left PSL] again
[PSR] -> [right PSR] again
(player falls in water)
[player no ice] -> [ ]
[mover no ice] -> [ ]
(remove markers)
[PlayerOrigin no Player] -> [ ]