<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer item="ITEM_ID_MECHA_SHARKJIRA">
  <Data>
    <StateMachines>
      <StateMachine name="playerState">
        <States>
          <State name="Idle"/>
          <State name="Move"/>
          <State name="Punch"/>
        </States>
        <Transitions>
          <Transition from="Idle|Punch" to="Move" >
            <Condition type="and">
              <IsAction operatorType="NotEqual">PUNCH</IsAction>
              <IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition from="Move|Punch" to="Idle" >
            <Condition type="and">
              <IsAction operatorType="NotEqual">PUNCH</IsAction>
              <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition from="Idle|Move" to="Punch">
            <Condition>
              <IsAction>PUNCH</IsAction>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
      <StateMachine name="trailParticleState">
        <States>
          <State name="Idle"/>
          <State name="Move"/>
        </States>
        <Transitions>
          <Transition from="Idle" to="Move" >
            <Condition>
              <IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
          <Transition from="Move" to="Idle" >
            <Condition>
              <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
            </Condition>
          </Transition>
        </Transitions>
      </StateMachine>
    </StateMachines>

    <Sprite name="foot1_sprite" fileName="game/player_feet_large1.rttex" textureSize="64"/>
    <Sprite name="foot2_sprite" fileName="game/player_feet_large1.rttex" textureSize="64"/>
    <Sprite name="trail_sprite" fileName="game/particles11.rttex" textureSize="32"/>
    <Sprite name="punch_laser_sprite" fileName="game/particles11.rttex" textureSize="32" frame="23,17"/>
    <Sprite name="plasma_sprite" fileName="game/particles11.rttex" textureSize="32" frame="25,17"/>
    <Sprite name="break_sprite" fileName="game/particles11.rttex" textureSize="32"/>
    <Sprite name="Hit_fx_Sprite" fileName="game/particles_large12.rttex" textureSize="64"/>

    <Animations>
      <SpriteCurveAnimation name="plasma_anim" sprite="plasma_sprite" animTime="500" isLoop="true" playOnState="playerState.Punch">
        <Curve name="scale">
          <KeyFrame>0.f, 0.1f, 0.75f</KeyFrame>
          <KeyFrame>0.5f, 0.75f, 0.5f</KeyFrame>
          <KeyFrame>1.f, 1.25f, 0.75f</KeyFrame>
        </Curve>
      </SpriteCurveAnimation>
      <SpriteAnimation name="foot1_idle_anim" sprite="foot1_sprite" animTime="1500" isLoop="true" playOnState="playerState.Idle">
        <Frame>0, 6</Frame>
        <Frame>1, 6</Frame>
        <Frame>2, 6</Frame>
        <Frame>3, 6</Frame>
        <Frame>4, 6</Frame>
        <Frame>5, 6</Frame>
        <Frame>6, 6</Frame>
        <Frame>7, 6</Frame>
        <Frame>8, 6</Frame>
        <Frame>9, 6</Frame>
        <Frame>10, 6</Frame>
        <Frame>11, 6</Frame>
        <Frame>12, 6</Frame>
        <Frame>13, 6</Frame>
        <Frame>14, 6</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="foot2_idle_anim" sprite="foot2_sprite" animTime="1500" isLoop="true" playOnState="playerState.Idle">
        <Frame>0, 7</Frame>
        <Frame>1, 7</Frame>
        <Frame>2, 7</Frame>
        <Frame>3, 7</Frame>
        <Frame>4, 7</Frame>
        <Frame>5, 7</Frame>
        <Frame>6, 7</Frame>
        <Frame>7, 7</Frame>
        <Frame>8, 7</Frame>
        <Frame>9, 7</Frame>
        <Frame>10, 7</Frame>
        <Frame>11, 7</Frame>
        <Frame>12, 7</Frame>
        <Frame>13, 7</Frame>
        <Frame>14, 7</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="foot1_move_anim" sprite="foot1_sprite" animTime="1500" isLoop="true" playOnState="playerState.Move">
        <Frame>0, 8</Frame>
        <Frame>1, 8</Frame>
        <Frame>2, 8</Frame>
        <Frame>3, 8</Frame>
        <Frame>4, 8</Frame>
        <Frame>5, 8</Frame>
        <Frame>6, 8</Frame>
        <Frame>7, 8</Frame>
        <Frame>8, 8</Frame>
        <Frame>9, 8</Frame>
        <Frame>10, 8</Frame>
        <Frame>11, 8</Frame>
        <Frame>12, 8</Frame>
        <Frame>13, 8</Frame>
        <Frame>14, 8</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="foot2_move_anim" sprite="foot2_sprite" animTime="1500" isLoop="true" playOnState="playerState.Move">
        <Frame>0, 9</Frame>
        <Frame>1, 9</Frame>
        <Frame>2, 9</Frame>
        <Frame>3, 9</Frame>
        <Frame>4, 9</Frame>
        <Frame>5, 9</Frame>
        <Frame>6, 9</Frame>
        <Frame>7, 9</Frame>
        <Frame>8, 9</Frame>
        <Frame>9, 9</Frame>
        <Frame>10, 9</Frame>
        <Frame>11, 9</Frame>
        <Frame>12, 9</Frame>
        <Frame>13, 9</Frame>
        <Frame>14, 9</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="foot1_punch_anim" sprite="foot1_sprite" animTime="400" isLoop="true" playOnState="playerState.Punch">
        <Frame>0, 10</Frame>
        <Frame>1, 10</Frame>
        <Frame>2, 10</Frame>
        <Frame>3, 10</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="foot2_punch_anim" sprite="foot2_sprite" animTime="400" isLoop="true" playOnState="playerState.Punch">
        <Frame>0, 11</Frame>
        <Frame>1, 11</Frame>
        <Frame>2, 11</Frame>
        <Frame>3, 11</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="trail_Sprites" autoPlay="false" sprite="trail_sprite">
        <Frame>26,17</Frame>
        <Frame>27,17</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="punch_laser_Sprites" autoPlay="false" sprite="punch_laser_sprite" animTime="200" isLoop="true" playOnState="playerState.Punch">
        <Frame>23,17</Frame>
        <Frame>24,17</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="hit_fx_Sprites" autoPlay="false" sprite="Hit_fx_Sprite">
        <Frame>14,4</Frame>
        <Frame>15,4</Frame>
      </SpriteAnimation>
      <SpriteAnimation name="break_fx" autoPlay="false" animTime="500" sprite="break_sprite">
        <Frame>9,17</Frame>
        <Frame>10,17</Frame>
        <Frame>11,17</Frame>
        <Frame>12,17</Frame>
        <Frame>13,17</Frame>
        <Frame>14,17</Frame>
        <Frame>15,17</Frame>
        <Frame>16,17</Frame>
        <Frame>17,17</Frame>
        <Frame>18,17</Frame>
      </SpriteAnimation>
    </Animations>

    <ParticleSystems>
      <ParticleSystem name="trail_particle">
        <Emitter>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">10</Set>
          <Set name="emissionInterval">0.035</Set>
          <Set name="checkParticleNumToEmit">true</Set>
          <Set name="offset">-28,-20</Set>
          <Select name="rgbTint" input="intervalMS">
            <InputConfig>
              <Set name="timeMS">50</Set>
            </InputConfig>
            <Item>1,1,1</Item>
            <Item>0,1,0</Item>
          </Select>
        </Emitter>
        <Particle randomSpriteFrame="true">
          <Set name="sprite">trail_sprite</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.5</Set>
          <Set name="initialVelocity">0,0</Set>
          <Random name="initialAngle" min="0" max="360"/>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.75, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 0.75,0.75</KeyFrame>
            <KeyFrame>1, 2,2</KeyFrame>
          </Curve>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="hit_particle">
        <Emitter>
          <Set name="lifeTime">0.3</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
          <Set name="emissionInterval">0.2</Set>
          <Set name="infParticles">true</Set>
        </Emitter>
        <Particle randomSpriteFrame="true">
          <Set name="sprite">Hit_fx_Sprite</Set>
          <Set name="blendingMode">ADDITIVE</Set>
          <Set name="lifeTime">1</Set>
          <Random name="initialAngle" min="-75" max="75"/>
          <Curve name="initialAlpha">
            <KeyFrame>0, 1</KeyFrame>
            <KeyFrame>0.5, 1</KeyFrame>
            <KeyFrame>1, 0</KeyFrame>
          </Curve>
          <Curve name="initialScale">
            <KeyFrame>0, 0.75,0.75</KeyFrame>
            <KeyFrame>0.5, 1.25,1.25</KeyFrame>
            <KeyFrame>1, 1.25,1.25</KeyFrame>
          </Curve>
        </Particle>
      </ParticleSystem>
      <ParticleSystem name="break_particle">
        <Emitter>
          <Set name="lifeTime">0.5</Set>
          <Set name="particlesPerEmission">1</Set>
          <Set name="particlesToEmit">1</Set>
        </Emitter>
        <Particle>
          <Set name="sprite">break_sprite</Set>
          <Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
          <Set name="lifeTime">0.5</Set>
          <Random name="initialAngle" min="0" max="360"/>
          <Set name="initialRotationRate">360</Set>
          <Set name="initialScale">2,2</Set>
        </Particle>
      </ParticleSystem>
    </ParticleSystems>

    <RenderOptions>
      <Default>
        <Set name="PunchSoundOverride">SHOES</Set>
        <Set name="PlayDefaultPunchAudio">false</Set>
        <Set name="ShoesShouldIgnoreRaptorLegsOffset">true</Set>
        <Set name="IsSurfboard">true</Set>
        <Set name="IsVehicle">true</Set>
        <Set name="IsRidingBird">true</Set>
        <Set name="ClothingOffsetFromShoes">-28</Set>
        <Set name="UserNameOffset">32</Set>
        <Set name="ShouldHover">true</Set>
        <Set name="IgnoreDefaultDamagedTileEffect">true</Set>
        <Set name="IgnoreDefaultDestroyedTileEffect">true</Set>
        <Set name="AllowChangePunchType">true</Set>
      </Default>
    </RenderOptions>

    <TileStampData>
      <Set name="FileName">game/particles11.rttex</Set>
      <Set name="EndFrame">22,17</Set>
      <Set name="FrameCount">4</Set>
    </TileStampData>
  </Data>

  <RenderRules>
    <RenderShoes>
      <SpriteRender name="foot1_sprite" offset="-3,-4" alignmentLeft="LEFT_CENTER" alignmentRight="RIGHT_CENTER"/>
      <SpriteRender name="foot2_sprite" offset="-3,-4" alignmentLeft="RIGHT_CENTER" alignmentRight="LEFT_CENTER"/>

      <StopIf>
        <IsRenderMod>RENDER_MOD_MINI_YOU</IsRenderMod>
      </StopIf>

      <ParticleSystemUpdate name="trail_particle" onState="trailParticleState.Move"/>
      <SpriteRender name="plasma_sprite" offset="30,4" onState="playerState.Punch" blend="PREMULTIPLIED_ALPHA" stretchToTarget="true" alignmentLeft="LEFT_CENTER" alignmentRight="RIGHT_CENTER" drawShadow="false" flip="1,0"/>
      <SpriteRender name="punch_laser_sprite" offset="30,4" onState="playerState.Punch" blend="PREMULTIPLIED_ALPHA" stretchToTarget="true" alignmentLeft="LEFT_CENTER" alignmentRight="RIGHT_CENTER" drawShadow="false" flip="1,0"/>
    </RenderShoes>
    <SwitchOffClothingParticles>
      <ParticleSystemOff name="trail_particle"/>
    </SwitchOffClothingParticles>
    <Update>
      <StopIf type="or">
        <IsZombified>true</IsZombified>
        <IsAction>PUNCH</IsAction>
        <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
      </StopIf>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm2Angle</Set>
        <Set name="armAngle">-45</Set>
      </AvatarTransform>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm1Angle</Set>
        <Set name="armAngle">-45</Set>
      </AvatarTransform>
    </Update>
    <OnPunchUpdate>
      <AvatarTransform class="Face">
        <Set name="face">MAD</Set>
      </AvatarTransform>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm2Angle</Set>
        <Set name="pointTowardsPunchTarget">true</Set>
      </AvatarTransform>
      <AvatarTransform class="ArmAngle">
        <Set name="armName">arm1Angle</Set>
        <Set name="armAngle">0</Set>
      </AvatarTransform>
    </OnPunchUpdate>
    <OnDamagedTile>
      <ParticleSystemUpdate name="hit_particle"/>
    </OnDamagedTile>
    <OnDestroyedTile>
      <ParticleSystemUpdate name="break_particle"/>
    </OnDestroyedTile>
  </RenderRules>
</ItemRenderer>