<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer>
  <Data>
    <Sprite name="s_cannon" fileName="game/player_longhanditem4.rttex" textureSize="64,32" frame="7,7"/>
    <Sprite name="s_MuzzleFlash" fileName="game/particles12.rttex" textureSize="32" frame="0,18"/>
    <Sprite name="s_Projectile" fileName="game/particles12.rttex" textureSize="32" frame="1,18"/>

    <StateMachines>
      <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>

    <RenderOptions>
      <Default>
        <Set name="DefaultRenderMannequinHandItem">false</Set>
        <Set name="RenderFrontArmInfected">true</Set>
        <Set name="RenderFrontArmInTheFront">true</Set>
      </Default>
    </RenderOptions>

    <ParticleSystems>
      <ParticleSystem name="MuzzleFlash" updateStage="RenderHandItem" updateState="Punch.True">
        <Emitter>
          <Set name="offset">38, 6</Set>
          <Set name="lifeTime">0.25</Set>
          <Set name="infParticles">true</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle usePlayerFacing="true">
          <Set name="sprite">s_MuzzleFlash</Set>
          <Set name="relativeToEmitter">true</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Set name="lifeTime">0.15</Set>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="Punch" updateStage="RenderHandItem" updateState="Punch.True">
        <Emitter>
          <Set name="offset">24, 6</Set>
          <Set name="lifeTime">0.25</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_Projectile</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="rotateWithVelocity">true</Set>
          <Set name="lifeTime">0.2</Set>
          <VectorTo name="initialVelocity" source="targetPos" duration="lifeTime" x="1"/>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>

    <TileStampData>
      <Set name="FileName">game/particles12.rttex</Set>
      <Set name="EndFrame">6,18</Set>
      <Set name="FrameCount">4</Set>
    </TileStampData>
  </Data>

  <RenderRules>
    <RenderHandItem>
      <SpriteRender name="s_cannon" offset="-4,8" useFixedRotation="true" fixedRotation="0" blend="PREMULTIPLIED_ALPHA"/>
    </RenderHandItem>
    <Update>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm2Angle</Set>
        <Set name="armAngle">30</Set>
      </AvatarTransform>
      <StopIf>
        <IsZombified>true</IsZombified>
      </StopIf>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm1Angle</Set>
        <Set name="armAngle">-45</Set>
      </AvatarTransform>
    </Update>
    <OnPunchUpdate>
      <StopIf>
        <IsZombified>true</IsZombified>
      </StopIf>
      <AvatarTransform class="Face">
        <Set name="face">MAD</Set>
      </AvatarTransform>
    </OnPunchUpdate>
  </RenderRules>
</ItemRenderer>