Some animations are not meant to be played in their totality before allowing the player to change states. For example, when the player is drawing the weapon out, the player is not allowed to move or draw the weapon back in before the weapon has been fully drawn.
To do this, a
no_interrupt variable has been introduced in the animation map which allows a specific animation to have this behaviour; this is transferred to C2 during runtime, of course.
Thus, all player commands are issued through several kinds of ‘intend action’ functions. Currently, they are:
- PlayerUserCommand – handles the SWAP actions; queries if an animation is ok to interrupt or not
- PlayerUserCommandDirection – handles directional actions (ie ‘d:#’); it also sees if an animation can be interrupted, and sets an integer
intend_dirvariable for use with other things in the game.