<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="s_flash" fileName="game/tf_page4.rttex" textureSize="64" frame="14,2" />
		<Sprite name="s_hit" fileName="game/particles_large14.rttex" textureSize="64" frame="0,15" />
		<Sprite name="s_pendant" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="28,25" />
		<Sprite name="s_shard" fileName="game/particles10.rttex" textureSize="32" frame="30,6" />
		<Sprite name="s_slash" fileName="game/particles12.rttex" textureSize="32" frame="5,0" />
		<Sprite name="s_transform" fileName="game/tf_page4.rttex" textureSize="64" frame="0,2" />
		<StateMachines>
			<StateMachine name="Main">
				<States>
					<State name="Idle" />
					<State name="Walk" />
					<State name="Jump" />
					<State name="Fall" />
					<State name="PunchOnGround" />
					<State name="PunchInAir" />
				</States>
        <Transitions>
          <Transition to="Idle" from="Walk|Fall|PunchOnGround|Jump|PunchInAir">
            <Condition type="and">
              <IsVariableBool name="onGround">true</IsVariableBool>
              <IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
              <IsAction operator="NotEqual">PUNCH</IsAction>
            </Condition>
          </Transition>
          <Transition to="Walk" from="Idle|Fall|PunchOnGround|PunchInAir|Jump">
            <Condition type="and">
              <IsVariableBool name="onGround">true</IsVariableBool>
              <IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
              <IsAction operator="NotEqual">PUNCH</IsAction>
            </Condition>
          </Transition>
          <Transition to="Jump" from="Idle|Walk|Fall|PunchInAir|PunchOnGround">
            <Condition type="and">
              <IsVariableBool name="onGround">false</IsVariableBool>
              <IsVariableFloat name="speed.y" operator="Less">-0.1</IsVariableFloat>
              <IsAction operator="NotEqual">PUNCH</IsAction>
            </Condition>
          </Transition>
          <Transition to="Fall" from="Jump|Idle|Walk|PunchInAir|PunchOnGround">
            <Condition type="and">
              <IsVariableBool name="onGround">false</IsVariableBool>
              <IsVariableFloat name="speed.y" operator="Greater">0.1</IsVariableFloat>
              <IsAction operator="NotEqual">PUNCH</IsAction>
            </Condition>
          </Transition>
          <Transition to="PunchOnGround" from="Idle|Walk|PunchInAir|Jump|Fall">
            <Condition type="and">
              <IsAction>PUNCH</IsAction>
              <IsVariableBool name="onGround">true</IsVariableBool>
            </Condition>
          </Transition>
          <Transition to="PunchInAir" from="Idle|Walk|Jump|Fall|PunchOnGround">
            <Condition type="and">
              <IsAction>PUNCH</IsAction>
              <IsVariableBool name="onGround">false</IsVariableBool>
            </Condition>
          </Transition>
        </Transitions>
			</StateMachine>
			<StateMachine name="IsTransformed">
				<States>
					<State name="No" />
					<State name="Yes" />
					<State name="Changing" />
				</States>
				<Transitions>
					<Transition to="Yes" from="Changing">
						<Condition>
							<IsItemTransformed>true</IsItemTransformed>
						</Condition>
					</Transition>
					<Transition to="No" from="Changing">
						<Condition>
							<IsItemTransformed>false</IsItemTransformed>
						</Condition>
					</Transition>
					<Transition to="Changing" from="Yes">
						<Condition>
							<IsItemTransformed>false</IsItemTransformed>
						</Condition>
					</Transition>
					<Transition to="Changing" from="No">
						<Condition>
							<IsItemTransformed>true</IsItemTransformed>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<RenderOptions>
			<Default>
				<Set name="IncludeAllActions">false</Set>
				<Set name="IgnoreDefaultDamagedTileEffect">true</Set>
				<Set name="AllowChangePunchType">true</Set>
			</Default>
      <Override overrideOnState="IsTransformed.Yes">
        <Set name="UserNameOffset">16</Set>
      </Override>
		</RenderOptions>
		<Animations>
			<SpriteAnimation name="a_hit" sprite="s_hit" animTime="600">
				<Frame>3,15</Frame>
				<Frame>0,15</Frame>
				<Frame>1,15</Frame>
				<Frame>2,15</Frame>
				<Frame>3,15</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_idle" sprite="s_transform" animTime="900" isLoop="true" playOnState="Main.Fall|Main.Idle|Main.Jump|Main.Walk">
				<Frame>0,2</Frame>
				<Frame>1,2</Frame>
				<Frame>2,2</Frame>
				<Frame>3,2</Frame>
				<Frame>4,2</Frame>
				<Frame>5,2</Frame>
				<Frame>6,2</Frame>
				<Frame>7,2</Frame>
				<Frame>8,2</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_punch" sprite="s_transform" animTime="500" isLoop="true" playOnState="Main.PunchInAir|Main.PunchOnGround">
				<Frame>9,2</Frame>
				<Frame>10,2</Frame>
				<Frame>11,2</Frame>
				<Frame>12,2</Frame>
				<Frame>13,2</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_shards" sprite="s_shard" animTime="200">
				<Frame>30,6</Frame>
				<Frame>31,6</Frame>
			</SpriteAnimation>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="p_flash" updateStage="AddClothingParticles" updateState="IsTransformed.Changing">
				<Emitter>
					<Set name="offset">0, -32</Set>
					<Set name="emissionInterval">0.1</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="checkParticleNumToEmit">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle usePlayerFacing="true" usePlayerFacing="true">
					<Set name="sprite">s_flash</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 1, 1</KeyFrame>
						<KeyFrame>1, 1.25, 1.25</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.5</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="p_flashShards" updateStage="AddClothingParticles" updateState="IsTransformed.Changing">
				<Emitter>
					<Set name="offset">0, -32</Set>
					<Set name="emissionInterval">0.1</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="checkParticleNumToEmit">true</Set>
					<Set name="particlesPerEmission">16</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true" usePlayerFacing="true" usePlayerFacing="true">
					<Set name="sprite">s_shard</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 0.5</KeyFrame>
						<KeyFrame>0.8, 0.5</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.5</Set>
					<Set name="initialScale">0.5,0.5</Set>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="120,170" />
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="p_hit" updateStage="OnDamagedTile">
				<Emitter>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_hit</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 0.8, 0.8</KeyFrame>
						<KeyFrame>1, 1.2, 1.2</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.6</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="p_punch" updateStage="OnPunchStart">
				<Emitter>
					<Set name="offset">10, -26</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle alternateSpriteFrameWithPunch="true" autoLifeTimeToTarget="true" >
					<Set name="sprite">s_slash</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Set name="initialScale">2, 2</Set>
					<RandomRadial name="initialVelocity" angleRange="0" radiusRange="160,160" baseAnglePosition="targetPos" baseOffset="0,16"/>
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
	</Data>
	<RenderRules>
		<RenderChestItem>
			<SpriteRender name="s_pendant" alignment="DOWN_CENTER" />
		</RenderChestItem>
		<RenderTransform>
			<SpriteRender name="s_transform" offset="0,-8" />
		</RenderTransform>
		<OnDamagedTile>
			<StopIf>
				<IsItemTransformed>false</IsItemTransformed>
			</StopIf>
		</OnDamagedTile>
	</RenderRules>
</ItemRenderer>
