I think you need to change the code to this
your problem is that, Construct 3 will run through the events in sequence. It will turn the player because it is not mirrored. So then it becomes mirrored, but in the next event, you check if it is mirrored, so it turns it again. So essentially, you need an "else".
+ command: type = "TURN"
----+ player: [X] Is mirrored
-----> player: Set Mirrored
-----> command: Set code3 to 0
-----> command: Set type to ""
----+ System: Else
-----> player: Set Not mirrored
-----> command: Set code3 to 0
-----> command: Set type to ""
I've tried this, and it worked on my side
cool game by the way