<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer>
  <Data>
    <StateMachines>
      <StateMachine name="Motion">
        <States>
          <State name="Idle"/>
          <State name="Move"/>
        </States>
        <Transitions>
          <Transition from="Move" to="Idle" >
            <Condition>
              <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition from="Idle" to="Move">
            <Condition>
              <IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>

    <Sprite name="s_cartFront" fileName="game/particles_large14.rttex" textureSize="64" frame="13,10"/>
    <Sprite name="s_cartBack" fileName="game/particles_large14.rttex" textureSize="64" frame="12,10"/>
    <Sprite name="s_trailSpark" fileName="game/particles11.rttex" textureSize="32" frame="24,30"/>
    <Sprite name="s_trailSmoke" fileName="game/particles11.rttex" textureSize="32" frame="25,30"/>
    <Sprite name="s_trailSparks" fileName="game/particles11.rttex" textureSize="32" frame="26,30"/>
    
    <Animations>
      <SpriteAnimation name="a_cartFrontIdle" playOnState="Motion.Idle" sprite="s_cartFront" isLoop="true" animTime="100">
        <Frame>13,10</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_cartFrontMove" playOnState="Motion.Move" sprite="s_cartFront" isLoop="true" animTime="500">
        <Frame>11,11</Frame>
        <Frame>12,11</Frame>
        <Frame>13,11</Frame>
        <Frame>14,11</Frame>
        <Frame>15,11</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_trailSparks" sprite="s_trailSparks">
        <Frame>26,30</Frame>
        <Frame>27,30</Frame>
        <Frame>28,30</Frame>
      </SpriteAnimation>
    </Animations>

    <ParticleSystems>
      <ParticleSystem name="ps_trailFlash" updateStage="AddClothingParticles" renderStage="RenderShoes" updateState="Motion.Move">
        <Emitter>
          <Set name="offset">-30, -6</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
          <Set name="infParticles">true</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="lifeTime">0.4</Set>
          <Set name="delayTimer">0.25</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_trailSpark</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="inSpecificOrder">true</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 0.5, 0.5</KeyFrame>
            <KeyFrame>1, 1.25, 1.25</KeyFrame>
          </Curve>
          <Set name="lifeTime">1</Set>
          <Random name="offset" min="-8,0" max="8,8" />
          <Random name="initialAngle" min="0" max="360" />
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_trailSmoke" updateStage="AddClothingParticles" renderStage="RenderShoes" updateState="Motion.Move">
        <Emitter>
          <Set name="offset">-30, -6</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
          <Set name="infParticles">true</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="lifeTime">0.4</Set>
          <Set name="delayTimer">0.25</Set>
        </Emitter>
        <Particle usePlayerFacing="true">
          <Set name="sprite">s_trailSmoke</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="inSpecificOrder">true</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 0.5, 0.5</KeyFrame>
            <KeyFrame>1, 1.25, 1.25</KeyFrame>
          </Curve>
          <Set name="lifeTime">1</Set>
          <Random name="offset" min="-8,0" max="8,8" />
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_trailSparks" updateStage="AddClothingParticles" renderStage="RenderShoes" updateState="Motion.Move">
        <Emitter>
          <Set name="offset">-24, -4</Set>
          <Set name="emissionInterval">0.04</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Set name="particlesPerEmission">1</Set>
        </Emitter>
        <Particle randomSpriteFrame="true">
          <Set name="sprite">s_trailSparks</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialRotationRate">
            <KeyFrame>0, 15</KeyFrame>
            <KeyFrame>1, 5</KeyFrame>
          </Curve>
          <Random name="initialAngle" min="0" max="360" />
          <Random name="finalAngle" min="0" max="360" />
          <Set name="interpolateAngle">true</Set>
          <Set name="inSpecificOrder">true</Set>
          <Set name="initialScale">1,1</Set>
          <Random name="finalScale" min="0.3" max="0.6" />
          <Set name="interpolateScale">true</Set>
          <Random name="offset" min="-2,-3" max="2,3" />
          <Set name="lifeTime">1</Set>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>
    <RenderOptions>
      <Default>
        <Set name="PlayDefaultPunchAudio">true</Set>
        <Set name="ClothingOffsetFromShoes">0</Set>
        <Set name="UserNameOffset">11</Set>
        <Set name="RenderShoesWithMermaidTail">true</Set>
        <Set name="ShoesHidesBodyLegs">true</Set>
        <Set name="ShoesShouldIgnoreRaptorLegsOffset">true</Set>
        <Set name="IsToRenderPants">false</Set>
        <Set name="IsRidingBird">true</Set>
      </Default>
    </RenderOptions>
  </Data>
  <RenderRules>
    <RenderBehind>
      <StopIf>
        <IsZombified>true</IsZombified>
        <IsTrnsformed>true</IsTrnsformed>
        <IsSitting>true</IsSitting>
        <IsSleepingOnaBed>true</IsSleepingOnaBed>
        <IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
      </StopIf>
      <SpriteRender name="s_cartBack" offset="-6,27" alignment="DOWN_CENTER"/>
    </RenderBehind>
    <RenderShoes>
      <SpriteRender name="s_cartFront" offset="-6,3" alignment="DOWN_CENTER"/>
      <AvatarTransform class="Emotion" onState="Motion.Move">
        <Set name="emotion">SURPRISED</Set>
      </AvatarTransform>
      <StopIf>
        <IsRenderMod>RENDER_MOD_MINI_YOU</IsRenderMod>
      </StopIf>
    </RenderShoes>
    <OnPunchUpdate>
      <AvatarTransform class="Face">
        <Set name="face">MAD</Set>
      </AvatarTransform>
    </OnPunchUpdate>
  </RenderRules>
</ItemRenderer>