<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer>
  <Data>
    <Sprite name="s_equip" fileName="game/particles_large14.rttex" textureSize="64" frame="7,12"/>
    <Sprite name="s_trail" fileName="game/particles9.rttex" textureSize="32" frame="15,0" />

    <Animations>
      <SpriteAnimation name="a_idle" playOnState="Motion.Idle" sprite="s_equip" isLoop="true" animTime="400">
        <Frame>7,12</Frame>
        <Frame>8,12</Frame>
        <Frame>9,12</Frame>
        <Frame>10,12</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_move" playOnState="Motion.Move" sprite="s_equip" isLoop="true" animTime="400">
        <Frame>11,12</Frame>
        <Frame>12,12</Frame>
        <Frame>13,12</Frame>
        <Frame>14,12</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_jump" playOnState="Motion.Jump" sprite="s_equip" isLoop="true" animTime="100">
        <Frame>15,12</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_fall" playOnState="Motion.Fall" sprite="s_equip" isLoop="true" animTime="100">
        <Frame>15,13</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_trail" sprite="s_trail">
        <Frame>15,0</Frame>
        <Frame>16,0</Frame>
        <Frame>17,0</Frame>
      </SpriteAnimation>
    </Animations>

    <ParticleSystems>
      <ParticleSystem name="ps_trail" updateStage="AddClothingParticles" renderStage="RenderShoes" updateState="Motion.Move">
        <Emitter>
          <Set name="emissionInterval">1</Set>
          <Set name="useCharacterPos">true</Set>
          <Set name="particlesPerEmission">1</Set>
        </Emitter>
        <Particle randomSpriteFrame="true">
          <Set name="sprite">s_trail</Set>
          <Random name="offset" min="-20, 0" max="20, 0" />
          <Random name="initialAngle" min="0" max="360" />
          <Set name="inSpecificOrder">true</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="useGravity">true</Set>
          <Curve name="initialScale">
            <KeyFrame>0, 0.5, 0.5</KeyFrame>
            <KeyFrame>1, 1, 1</KeyFrame>
          </Curve>
          <Set name="lifeTime">0.6</Set>
          <RandomRadial name="initialVelocity" angleRange="-80,-110" radiusRange="50,75" />
          <Set name="gravityVector">0, 300</Set>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>
    
    <StateMachines>
      <StateMachine name="Motion">
        <States>
          <State name="Idle" />
          <State name="Move" />
          <State name="Jump" />
          <State name="Fall" />
        </States>
        <Transitions>
          <Transition to="Idle" from="Fall|Move|Jump">
            <Condition type="and">
              <IsVariableBool name="onGround">true</IsVariableBool>
              <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition to="Move" from="Jump|Fall|Idle">
            <Condition type="and">
              <IsVariableBool name="onGround">true</IsVariableBool>
              <IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition to="Jump" from="Idle|Move|Fall">
            <Condition type="and">
              <IsVariableBool name="onGround">false</IsVariableBool>
              <IsVariableFloat name="speed.y" operator="Less">-0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition to="Fall" from="Jump|Idle|Move">
            <Condition type="and">
              <IsVariableBool name="onGround">false</IsVariableBool>
              <IsVariableFloat name="speed.y" operator="Greater">0.1</IsVariableFloat>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>

    <RenderOptions>
      <Default>
        <Set name="IsToRenderPants">true</Set>
        <Set name="IgnorePunchTypeCheck">true</Set>
        <Set name="ShoesShouldIgnoreRaptorLegsOffset">true</Set>
        <Set name="ClothingOffsetFromShoes">-15</Set>
        <Set name="UserNameOffset">11</Set>
        <Set name="IsHorse">true</Set>
      </Default>
    </RenderOptions>

  </Data>

  <RenderRules>
    <RenderShoes>
      <SpriteRender name="s_equip" offset="12,-16"/>
      <StopIf>
        <IsRenderMod>RENDER_MOD_MINI_YOU</IsRenderMod>
      </StopIf>
    </RenderShoes>
  </RenderRules>
</ItemRenderer>