<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer item="ITEM_ID_SCARECROWS_CHAINS">
  <Data>
    <Sprite name="s_FrontArm" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="13,19"/>
    <Sprite name="s_BackArm" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="14,19"/>
    <Sprite name="s_Sickle" fileName="game/player_longhanditem4.rttex" textureSize="64,32" frame="2,5"/>
    <Sprite name="s_PunchChain" fileName="game/particles11.rttex" textureSize="32" frame="1,25"/>
    <Sprite name="s_HitSlash" fileName="game/particles11.rttex" textureSize="32" frame="0,25"/>
    <Sprite name="s_DestroySparkles" fileName="game/particles11.rttex" textureSize="32" frame="24,24"/>
    <Sprite name="s_DestroyImpact" fileName="game/particles11.rttex" textureSize="32" frame="18,24"/>

    <StateMachines>
      <StateMachine name="Facing">
        <States>
          <State name="Left"/>
          <State name="Right"/>
        </States>
        <Transitions>
          <Transition from="Right" to="Left">
            <Condition>
              <IsFacingLeft>true</IsFacingLeft>
            </Condition>
          </Transition>
          <Transition from="Left" to="Right">
            <Condition>
              <IsFacingLeft>false</IsFacingLeft>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
      <StateMachine name="Punch">
        <States>
          <State name="True"/>
          <State name="False"/>
        </States>
        <Transitions>
          <Transition from="False" to="True">
            <Condition type="and">
              <IsAction>PUNCH</IsAction>
              <IsZombified>false</IsZombified>
            </Condition>
          </Transition>
          <Transition from="True" to="False">
            <Condition>
              <IsAction operatorType="NotEqual">PUNCH</IsAction>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>

    <Animations>
      <SpriteAnimation name="a_PunchChains" sprite="s_PunchChain" animTime="400" isLoop="true" playOnState="Punch.True">
        <Frame>1,25</Frame>
        <Frame>2,25</Frame>
        <Frame>3,25</Frame>
        <Frame>4,25</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_DestroySparkles" sprite="s_DestroySparkles">
        <Frame>24,24</Frame>
        <Frame>25,24</Frame>
        <Frame>26,24</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="a_DestroyImpact" sprite="s_DestroyImpact" animTime="300">
        <Frame>23,24</Frame>
        <Frame>18,24</Frame>
        <Frame>19,24</Frame>
        <Frame>20,24</Frame>
        <Frame>21,24</Frame>
        <Frame>22,24</Frame>
      </SpriteAnimation>
    </Animations>
    
    <RenderOptions>
      <Default>
        <Set name="PunchSoundOverride">HAND</Set>
        <Set name="PlayDefaultPunchAudio">false</Set>
        <Set name="DefaultRenderMannequinHandItem">false</Set>
        <Set name="RenderFrontArmInfected">true</Set>
        <Set name="RenderBackArmInfected">true</Set>
        <Set name="RenderBackArmBuild">true</Set>
        <Set name="IgnoreDefaultDamagedTileEffect">true</Set>
        <Set name="IgnoreDefaultDestroyedTileEffect">true</Set>
        <Set name="IncludeAllActions">true</Set>
      </Default>
    </RenderOptions>

    <TileStampData>
      <Set name="FileName">game/particles11.rttex</Set>
      <Set name="EndFrame">30,24</Set>
      <Set name="FrameCount">4</Set>
    </TileStampData>

    <ParticleSystems>
      <ParticleSystem name="ps_hitSlash">
        <Emitter attachment="targetPos">
          <Set name="lifeTime">0.2</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">3</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_HitSlash</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Random name="lifeTime" min="0.2" max="0.5" />
          <Curve name="initialAlpha">
            <KeyFrame>0, 0</KeyFrame>
            <KeyFrame>0.5, 0.8</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Select name="initialScale" input="randomNumber">
            <Item>1,1</Item>
            <Item>1,-1</Item>
          </Select>
          <RandomRadial name="initialVelocity" angleRange="-45,45" radiusRange="1,1" baseAnglePosition="targetPos" baseOffset="0,16"/>
          <Set name="rotateWithVelocity">true</Set>
          <Random name="offset" min="-8,-4" max="8,4" />
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_hitSparkles">
        <Emitter>
          <Set name="lifeTime">0.25</Set>
          <Set name="particlesPerEmission">8</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle randomSpriteFrame="true">
          <Set name="sprite">s_DestroySparkles</Set>
          <Set name="blendingMode">ADDITIVE</Set>
          <Set name="lifeTime">1</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 1,1</KeyFrame>
            <KeyFrame>1, 0.25,0.25</KeyFrame>
          </Curve>
          <Random name="initialRotationRate" min="5" max="15" />
          <Random name="offset" min="0" max="16" />
          <Set name="useGravity">true</Set>
          <Set name="gravityVector">0, 100</Set>
          <RandomRadial name="initialVelocity" angleRange="45,315" radiusRange="40,100" />
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_destroySparkles">
        <Emitter>
          <Set name="lifeTime">0.25</Set>
          <Set name="particlesPerEmission">16</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle randomSpriteFrame="true">
          <Set name="sprite">s_DestroySparkles</Set>
          <Set name="blendingMode">ADDITIVE</Set>
          <Set name="lifeTime">1</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 1,1</KeyFrame>
            <KeyFrame>1, 0.25,0.25</KeyFrame>
          </Curve>
          <Random name="initialRotationRate" min="5" max="15" />
          <Random name="offset" min="0" max="16" />
          <Set name="useGravity">true</Set>
          <Set name="gravityVector">0, 100</Set>
          <RandomRadial name="initialVelocity" angleRange="45,315" radiusRange="80,200" />
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="ps_destroyImpact">
        <Emitter>
          <Set name="particlesPerEmission">1</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">s_DestroyImpact</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.3</Set>
          <Random name="initialAngle" min="0" max="360" />
          <Curve name="initialScale">
            <KeyFrame>0, 1,1</KeyFrame>
            <KeyFrame>1, 2,2</KeyFrame>
          </Curve>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>
  </Data>

  <RenderRules>
    <RenderBackHandItem>
      <StopIf>
        <IsAction>BUILD</IsAction>
      </StopIf>
      <StopIf type="and">
        <IsZombified>true</IsZombified>
        <IsAction>PUNCH</IsAction>
      </StopIf>
      <Group onState="Facing.Right">
        <SpriteRender name="s_BackArm" offset="-3,10.5" rotateOffset="true" rotationPoint="1,1" alignment="CENTER" blend="PREMULTIPLIED_ALPHA"/>
      </Group>
      <Group onState="Facing.Left">
        <SpriteRender name="s_BackArm" offset="-3,10.5" rotateOffset="true" rotationPoint="-1,1" alignment="CENTER" blend="PREMULTIPLIED_ALPHA"/>
      </Group>
    </RenderBackHandItem>
    
    <RenderHandItem>
      <SpriteRender name="s_Sickle" offset="0,7" rotateOffset="true" rotationPoint="0,1" alignment="CENTER" blend="PREMULTIPLIED_ALPHA" onState="Punch.False"/>

      <Group>
        <StopIf type="and">
          <IsZombified>true</IsZombified>
          <IsAction>PUNCH</IsAction>
        </StopIf>
          <SpriteRender name="s_PunchChain" offset="0,2" alignmentLeft="LEFT_CENTER" alignmentRight="RIGHT_CENTER" drawShadow="false" blend="PREMULTIPLIED_ALPHA" stretchToTarget="true" tintOverride="255,255,255,255" onState="Punch.True" />
      </Group>
      
      <SpriteRender name="s_FrontArm" offset="0,-1.5" rotateOffset="true" rotationPoint="0,1" alignment="UPPER_CENTER" blend="PREMULTIPLIED_ALPHA"/>

    </RenderHandItem>
    <OnPunchStart>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm1Angle</Set>
        <Set name="armAngle">0</Set>
      </AvatarTransform>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm2Angle</Set>
        <Set name="pointTowardsPunchTarget">true</Set>
      </AvatarTransform>
      <ParticleSystemUpdate name="ps_hitSlash" />
      <AvatarTransform class="Face">
        <Set name="face">MAD</Set>
      </AvatarTransform>
    </OnPunchStart>
    <OnDamagedTile>
      <ParticleSystemUpdate name="ps_hitSparkles" />
    </OnDamagedTile>
    <OnDestroyedTile>
      <ParticleSystemUpdate name="ps_destroySparkles" />
      <ParticleSystemUpdate name="ps_destroyImpact" />
    </OnDestroyedTile>
  </RenderRules>
</ItemRenderer>