<?xml version="1.0"?>
<ItemRenderer item="ITEM_ID_GALAXY_CLOAK">
  <Data>
    <Sprite name="s_capeBack" fileName="game/particles_large13.rttex" textureSize="64"/>
    <Sprite name="s_capeFront" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="1,21" />
    <Sprite name="s_sparkle" fileName="game/particles9.rttex" textureSize="32"/>
    
    <Animations>
      <SpriteAnimation name="a_Sparkles" sprite="s_sparkle" animTime="300" autoPlay="true" isLoop="true">
        <Frame>8,8</Frame>
        <Frame>9,8</Frame>
        <Frame>10,8</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_cape" sprite="s_capeBack" animTime="600" autoPlay="true" isLoop="true">
        <Frame>0,15</Frame>
        <Frame>1,15</Frame>
        <Frame>2,15</Frame>
        <Frame>3,15</Frame>
        <Frame>4,15</Frame>
        <Frame>5,15</Frame>
      </SpriteAnimation>
    </Animations>

    <StateMachines>
      <StateMachine name="Motion">
        <States>
          <State name="Idle" />
          <State name="Move" />
        </States>
        <Transitions>
          <Transition to="Idle" from="Move">
            <Condition>
              <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition to="Move" from="Idle">
            <Condition>
              <IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>
    
    <ParticleSystems>
      <ParticleSystem name="ps_Sparkles">
        <Emitter>
          <Set name="offset">0,0</Set>
          <Set name="offsetFacing">true</Set>
          <Set name="emissionInterval">0.4</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Set name="particlesPerEmission">2</Set>
          <Set name="particlesToEmit">2</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_sparkle</Set>
          <Set name="relativeToEmitter">true</Set>
          <Random name="offset" min="-24, -12" max="24, -2" />
          <Set name="inSpecificOrder">true</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.8, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Select name="lifeTime" input="randomNumber">
            <Item>0.3</Item>
            <Item>0.6</Item>
          </Select>
          <Random name="initialScale" min="0.5" max="0.8" />
          <Random name="initialAngle" min="0" max="360" />
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_SparklesTrail">
        <Emitter>
          <Set name="offset">0,0</Set>
          <Set name="offsetFacing">true</Set>
          <Set name="emissionInterval">0.1</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Set name="particlesPerEmission">2</Set>
          <Set name="particlesToEmit">2</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_sparkle</Set>
          <Random name="offset" min="-28, -16" max="28, 0" />
          <Set name="inSpecificOrder">true</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.8, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>

          <Select name="lifeTime" input="randomNumber">
            <Item>0.3</Item>
            <Item>0.6</Item>
          </Select>
          <Random name="initialScale" min="0.5" max="0.8" />
          <Random name="initialAngle" min="0" max="360" />
        </Particle>
      </ParticleSystem>
    </ParticleSystems>

    <RenderOptions>
      <Default>
        <Set name="ShouldHover">true</Set>
        <Set name="UserNameOffset">6</Set>
      </Default>
    </RenderOptions>
    
  </Data>
  <RenderRules>
    <AddClothingParticles>
      <ParticleSystemUpdate name="ps_Sparkles" />
      <ParticleSystemUpdate name="ps_SparklesTrail" onState="Motion.Move"/>
    </AddClothingParticles>
    <RenderBackpack>
      <SpriteRender name="s_capeBack" offset="0,-11" alignment="CENTER"/>
      <ParticleSystemRender name="ps_Sparkles" />
      <ParticleSystemRender name="ps_SparklesTrail"/>
      <StopIf>
        <IsZombified>true</IsZombified>
      </StopIf>
      <AvatarTransform class="FootPosition">
        <Set name="foot1dy">0</Set>
        <Set name="foot2dy">0</Set>
        <Set name="foot1y">0</Set>
        <Set name="foot2y">0</Set>
      </AvatarTransform>
    </RenderBackpack>
    <RenderFrontpack>
      <SpriteRender name="s_capeFront" offset="0,0" alignment="DOWN_CENTER"/>
    </RenderFrontpack>
  </RenderRules>
</ItemRenderer>
