<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer>
  <Data>
    <Sprite name="s_brain" fileName="game/particles_large14.rttex" textureSize="64" frame="10,9"/>
    <Sprite name="s_brainGlow" fileName="game/particles_large14.rttex" textureSize="64" frame="11,9"/>
    <Sprite name="lineSprite" fileName="game/particles11.rttex" textureSize="32" frame="19,29"/>
    <Sprite name="sparkSprite" fileName="game/particles11.rttex" textureSize="32" frame="18,29"/>

    <Animations>
      <SpriteCurveAnimation name="a_brainGlow" isLoop="true" playOnState="Punch.False" sprite="s_brainGlow" animTime="3000">
        <Curve name="alpha">
          <KeyFrame>0.f, 0.f</KeyFrame>
          <KeyFrame>0.5f, 1.f </KeyFrame>
          <KeyFrame>1.f, 0.f</KeyFrame>
        </Curve>
      </SpriteCurveAnimation>
      <SpriteCurveAnimation name="a_brainGlowPunch" isLoop="true" playOnState="Punch.True" sprite="s_brainGlow" animTime="3000">
        <Curve name="alpha">
          <KeyFrame>0.f, 1.f</KeyFrame>
          <KeyFrame>1.f, 1.f</KeyFrame>
        </Curve>
      </SpriteCurveAnimation>
    </Animations>

    <StateMachines>
      <StateMachine name="Punch">
        <States>
          <State name="True"/>
          <State name="False"/>
        </States>
        <Transitions>
          <Transition from="False" to="True">
            <Condition>
              <IsAction>PUNCH</IsAction>
            </Condition>
          </Transition>
          <Transition from="True" to="False">
            <Condition>
              <IsAction operatorType="NotEqual">PUNCH</IsAction>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>

    <ParticleSystems>
      <ParticleSystem name="LineAura" updateStage="RenderHat" updateState="Punch.True">
        <Emitter>
          <Set name="offset">0, -24</Set>
          <Set name="emissionInterval">0.2</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Set name="particlesPerEmission">2</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">lineSprite</Set>
          <Set name="relativeToEmitter">true</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="isBackgroundParticle">true</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.75, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="interpolateScale">true</Set>
          <Set name="initialScale">0.1, 0.5</Set>
          <Random name="finalScale" min="5, 0.5" max="3, 0.5"/>
          <Set name="lifeTime">0.5</Set>
          <Random name="initialAngle" min="0" max="360"/>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="LineMoveAura" updateStage="RenderHat" updateState="Punch.True">
        <Emitter>
          <Set name="offset">0, -24</Set>
          <Set name="emissionInterval">0.2</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Set name="particlesPerEmission">3</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">lineSprite</Set>
          <Set name="relativeToEmitter">true</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="isBackgroundParticle">true</Set>
          <Set name="rotateWithVelocity">true</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.75, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Random name="initialScale" min="0.5, 0.5" max="1.5, 0.5"/>
          <Set name="lifeTime">0.5</Set>
          <RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="60,60"/>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="SparksAura" updateStage="RenderHat" updateState="Punch.True">
        <Emitter>
          <Set name="offset">0, -24</Set>
          <Set name="emissionInterval">0.5</Set>
          <Set name="infParticles">true</Set>
          <Set name="infLifeTime">true</Set>
          <Set name="particlesPerEmission">3</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">sparkSprite</Set>
          <Set name="relativeToEmitter">true</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="isBackgroundParticle">true</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.75, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="initialScale">0.5, 0.5</Set>
          <Set name="lifeTime">0.75</Set>
          <RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="35,35"/>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>

    <RenderOptions>
      <Default>
        <Set name="IgnorePunchTypeCheck">true</Set>
      </Default>
    </RenderOptions>

  </Data>

  <RenderRules>
    <RenderHat>
      <SpriteRender name="s_brain" alignment="DOWN_CENTER" offset="-1,0"/>
      <SpriteRender name="s_brainGlow" alignment="DOWN_CENTER" offset="-1,0" drawShadow="false"/>
      <StopIf>
        <IsRenderMod>RENDER_MOD_MINI_YOU</IsRenderMod>
      </StopIf>
    </RenderHat>
  </RenderRules>
</ItemRenderer>