Instead of using a transition variable to detect when we are in the crash sequence, I set the contact monitor on the player to false instead:
call_deferred("set_contact_monitor", false)
This of course prevents the signals from being generated in the first place when making contact with other bodies, thus negating the need for conditional checks. Is there any reason why this shouldn’t be done? Or is this a viable alternative solution?