<transitions x_include="../defaultTransitions.xml">
    <transition>
        <transitionTo>emote</transitionTo>
        <asSubstate>true</asSubstate>
        <conditions>
            <eventOccurred>EventEmote</eventOccurred>
        </conditions>
    </transition>

    <transition>
        <transitionTo>falling</transitionTo>
        <conditions>
            <isTrue>bFalling</isTrue>
        </conditions>
    </transition>

    <transition>
        <transitionTo>idle</transitionTo>
        <conditions>
            <isFalse>isMoving</isFalse>
        </conditions>
    </transition>

    <transition>
        <transitionTo>run</transitionTo>
        <conditions>
            <isTrue>isMoving</isTrue>
            <isFalse>aim</isFalse>
            <isTrue>isRunning</isTrue>
        </conditions>
    </transition>

    <transition>
        <transitionTo>strafe</transitionTo>
        <conditions>
            <isTrue>isMoving</isTrue>
            <isTrue>isStrafing</isTrue>
        </conditions>
    </transition>

    <!-- For automatic movement (pathfinding) -->
    <transition>
        <transitionTo>climbfence</transitionTo>
        <conditions>
            <eventOccurred>EventClimbFence</eventOccurred>
        </conditions>
    </transition>

    <!-- For automatic movement (pathfinding) -->
    <transition>
        <transitionTo>climbwindow</transitionTo>
        <conditions>
            <eventOccurred>EventClimbWindow</eventOccurred>
        </conditions>
    </transition>

    <!-- For automatic movement (pathfinding) -->
    <transition>
        <transitionTo>climbwall</transitionTo>
        <conditions>
            <eventOccurred>EventClimbWall</eventOccurred>
        </conditions>
    </transition>

    <transition>
        <transitionTo>melee</transitionTo>
        <conditions>
            <isTrue>initiateAttack</isTrue>
            <isFalse>rangedWeapon</isFalse>
            <isFalse>bDoShove</isFalse>
        </conditions>
    </transition>

    <transition>
        <transitionTo>shove</transitionTo>
        <asSubstate>true</asSubstate>
        <conditions>
            <isTrue>initiateAttack</isTrue>
            <isTrue>bDoShove</isTrue>
        </conditions>
    </transition>

    <transition>
        <transitionTo>smashwindow</transitionTo>
        <conditions>
            <eventOccurred>EventSmashWindow</eventOccurred>
        </conditions>
    </transition>

    <transition>
        <transitionTo>collide</transitionTo>
        <conditions>
            <eventOccurred>collideWithWall</eventOccurred>
            <eventOccurred>collideWithWall</eventOccurred>
            <eventOccurred>collideWithWall</eventOccurred>
        </conditions>
    </transition>

    <transition>
        <transitionTo>sprint</transitionTo>
        <conditions>
            <isTrue>isMoving</isTrue>
            <isFalse>aim</isFalse>
            <isTrue>isSprinting</isTrue>
        </conditions>
    </transition>

    <transition>
        <transitionTo>turning</transitionTo>
        <asSubstate>true</asSubstate>
        <conditions>
            <isTrue>isTurning</isTrue>
        </conditions>
    </transition>

    <transition>
        <transitionTo>bumped</transitionTo>
        <conditions>
            <isTrue>bumped</isTrue>
        </conditions>
    </transition>

    <transition>
        <transitionTo>maskingleft</transitionTo>
        <asSubstate>true</asSubstate>
        <conditions>
            <notEquals a="LeftHandMask" b=""/>
        </conditions>
    </transition>

    <transition>
        <transitionTo>maskingright</transitionTo>
        <asSubstate>true</asSubstate>
        <conditions>
            <notEquals a="RightHandMask" b=""/>
        </conditions>
    </transition>
</transitions>
