<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer>
  <Data>
    <Sprite name="s_discBack" fileName="game/player_cosmetics4.rttex" textureSize="32" frame="25,3"/>
    <Sprite name="s_discFront" fileName="game/player_cosmetics4.rttex" textureSize="32" frame="25,3"/>
    <Sprite name="s_discProjectile" fileName="game/particles12.rttex" textureSize="32" frame="27,11"/>
    <Sprite name="s_hitExplosion" fileName="game/particles12.rttex" textureSize="32" frame="28,11"/>
    <Sprite name="s_hitExplosionSpark" fileName="game/particles12.rttex" textureSize="32" frame="20,5"/>

    <Animations>
      <SpriteAnimation name="a_discBack" autoPlay="true" sprite="s_discBack" isLoop="true" animTime="2000">
        <Frame>25,3</Frame>
        <Frame>25,3</Frame>
        <Frame>25,3</Frame>
        <Frame>26,3</Frame>
        <Frame>27,3</Frame>
        <Frame>27,3</Frame>
        <Frame>27,3</Frame>
        <Frame>28,3</Frame>
        <Frame>29,3</Frame>
        <Frame>29,3</Frame>
        <Frame>29,3</Frame>
        <Frame>30,3</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_discFront" autoPlay="true" sprite="s_discFront" isLoop="true" animTime="2000">
        <Frame>25,3</Frame>
        <Frame>25,3</Frame>
        <Frame>25,3</Frame>
        <Frame>26,3</Frame>
        <Frame>27,3</Frame>
        <Frame>27,3</Frame>
        <Frame>27,3</Frame>
        <Frame>28,3</Frame>
        <Frame>29,3</Frame>
        <Frame>29,3</Frame>
        <Frame>29,3</Frame>
        <Frame>30,3</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_hitExplosion" sprite="s_hitExplosion" animTime="400">
        <Frame>31,11</Frame>
        <Frame>28,11</Frame>
        <Frame>29,11</Frame>
        <Frame>30,11</Frame>
      </SpriteAnimation>
    </Animations>
    <ParticleSystems>
      <ParticleSystem name="ps_punchProjectile" secondary="ps_discTrail" updateStage="OnPunchUpdate">
        <Emitter>
          <Random name="offset" min="12,-24" max="12,-8" />
          <Set name="lifeTime">0.3</Set>
          <Set name="emissionInterval">0.05</Set>
          <Set name="infParticles">true</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle>
          <Random name="variantId" min="0" max="3" />
          <Set name="sprite">s_discProjectile</Set>
          <Select name="initalRGB" input="variantId">
            <Item>1.0,0.851,0.043</Item>
            <Item>0.016,0.925,0.282</Item>
            <Item>1.0,0.043,0.874</Item>
          </Select>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.2</Set>
          <Random name="targetPosOffset" min="-12,-11" max="12,11"/>
          <VectorTo name="initialVelocity" source="targetPos" offset="targetPosOffset" duration="lifeTime" x="1"/>
          <OnFinish>
            <ParticleSystemName>ps_bouncedDisc</ParticleSystemName>
          </OnFinish>
        </Particle>
      </ParticleSystem>
      
      <ParticleSystem name="ps_discTrail">
        <Emitter>
          <Set name="lifeTime">0.2</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">80</Set>
          <Set name="emissionInterval">0.001</Set>
        </Emitter>
        <Particle UseParentVariantId="true">
          <Set name="sprite">s_discProjectile</Set>
          <Select name="initalRGB" input="variantId">
            <Item>1.0,0.851,0.043</Item>
            <Item>0.016,0.925,0.282</Item>
            <Item>1.0,0.043,0.874</Item>
          </Select>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.2</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 0.5</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
        </Particle>
      </ParticleSystem>
      
      <ParticleSystem name="ps_hitDiscTrail">
        <Emitter>
          <Set name="lifeTime">1</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">80</Set>
          <Set name="emissionInterval">0.1</Set>
        </Emitter>
        <Particle UseParentVariantId="true">
          <Set name="sprite">s_discProjectile</Set>
          <Select name="initalRGB" input="variantId">
            <Item>1.0,0.851,0.043</Item>
            <Item>0.016,0.925,0.282</Item>
            <Item>1.0,0.043,0.874</Item>
          </Select>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.5</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 0.25</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_bouncedDisc" secondary="ps_hitDiscTrail" >
        <Emitter>
          <Set name="offset">0, 0</Set>
          <Set name="infParticles">true</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle UseParentVariantId="true">
          <Set name="sprite">s_discProjectile</Set>
          <Select name="initalRGB" input="variantId">
            <Item>1.0,0.851,0.043</Item>
            <Item>0.016,0.925,0.282</Item>
            <Item>1.0,0.043,0.874</Item>
          </Select>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="useGravity">true</Set>
          <Set name="lifeTime">1</Set>
          <Random name="initialVelocity" min="-80, -150" max="80, -150" />
          <Set name="gravityVector">0, 150</Set>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_explosion" updateStage="OnDamagedTile">
        <Emitter>
          <Set name="particlesPerEmission">30</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_hitExplosionSpark</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.75, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="useGravity">true</Set>

          <Random name="initialScale" min="0.05" max="0.075" />
          <Set name="lifeTime">1</Set>
          <RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="30,50"/>
          <Set name="gravityVector">0, 75</Set>
          <Set name="TintTargetTileColorVariable">random</Set>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_explosionBreak" updateStage="OnDestroyedTile">
        <Emitter>
          <Set name="particlesPerEmission">60</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_hitExplosionSpark</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.75, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="useGravity">true</Set>
          <Set name="TintTargetTileColorVariable">random</Set>

          <Random name="initialScale" min="0.05" max="0.075" />
          <Set name="lifeTime">1</Set>
          <RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="30,50"/>
          <Set name="gravityVector">0, 75</Set>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_explosionAnim">
        <Emitter>
          <Set name="offset">0, 0</Set>
          <Set name="infParticles">true</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_hitExplosion</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.4</Set>
          <Set name="TintTargetTileColorVariable">random</Set>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>
    <RenderOptions>
      <Default>
        <Set name="PunchSoundOverride">HAND</Set>
        <Set name="PlayDefaultPunchAudio">false</Set>
        <Set name="RenderBackArmInfected">true</Set>
        <Set name="RenderFrontArmInfected">true</Set>
        <Set name="RenderBackArmBuild">true</Set>
        <Set name="IncludeAllActions">true</Set>
        <Set name="DefaultRenderMannequinHandItem">false</Set>
        <Set name="RenderFrontArmInTheFront">true</Set>
        <Set name="RenderBackArmAfterItem">true</Set>
        <Set name="IgnoreDefaultDamagedTileEffect">true</Set>
        <Set name="IgnoreDefaultDestroyedTileEffect">true</Set>
      </Default>
    </RenderOptions>
  </Data>

  <RenderRules>
    <OnPunchUpdate>
      <AvatarTransform class="Face">
        <Set name="face">MAD</Set>
      </AvatarTransform>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm1Angle</Set>
        <Set name="animTime">300</Set>
        <Set name="Curve">
          <KeyFrame>0, 0</KeyFrame>
          <KeyFrame>1, 360</KeyFrame>
        </Set>
      </AvatarTransform>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm2Angle</Set>
        <Set name="animTime">300</Set>
        <Set name="Curve">
          <KeyFrame>0, 180</KeyFrame>
          <KeyFrame>1, 540</KeyFrame>
        </Set>
      </AvatarTransform>
    </OnPunchUpdate>
    <RenderHandItem>
      <SpriteRender name="s_discFront" offset="0.3,16.3" rotateOffset="true" rotationPoint="0,1" blend="NORMAL" alignment="CENTER" drawShadow="true" />
    </RenderHandItem>
    <RenderBackHandItem>
      <StopIf>
        <IsAction>BUILD</IsAction>
      </StopIf>
      <StopIf type="and">
        <IsZombified>true</IsZombified>
        <IsAction>PUNCH</IsAction>
      </StopIf>
      <SpriteRender name="s_discBack" offset="-2.8,11.3" rotateOffset="true" rotationPoint="1,1" blend="NORMAL" alignment="CENTER" drawShadow="true" />
    </RenderBackHandItem>
    <OnDamagedTile>
      <ParticleSystemUpdate name="ps_explosionAnim"/>
    </OnDamagedTile>
    <OnDestroyedTile>
      <ParticleSystemUpdate name="ps_explosionAnim"/>
    </OnDestroyedTile>
  </RenderRules>
</ItemRenderer>