<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="s_Blaster1" fileName="game/particles11.rttex" textureSize="32" frame="4,24" />
		<Sprite name="s_Blaster2" fileName="game/particles11.rttex" textureSize="32" frame="5,24" />
		<Sprite name="s_Hit" fileName="game/particles_large14.rttex" textureSize="64" frame="14,0" />
		<Sprite name="s_Muzzle" fileName="game/particles11.rttex" textureSize="32" frame="6,24" />
		<Sprite name="s_Projectile" fileName="game/particles11.rttex" textureSize="32" frame="7,24" />
		<Sprite name="s_Wings" fileName="game/particles_large14.rttex" textureSize="64" frame="10,0" />
		<Animations>
			<SpriteAnimation name="a_WingsIdle" sprite="s_Wings" animTime="400" isLoop="true" playOnState="Motion.Idle|Motion.Move">
				<Frame>10,0</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_WingsInAir" sprite="s_Wings" animTime="400" isLoop="true" playOnState="Motion.Fall|Motion.Jump">
				<Frame>10,0</Frame>
				<Frame>11,0</Frame>
				<Frame>12,0</Frame>
				<Frame>13,0</Frame>
			</SpriteAnimation>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="ps_Hit" updateStage="OnDamagedTile">
				<Emitter>
					<Set name="lifeTime">0</Set>
					<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.25, 0.25</KeyFrame>
						<KeyFrame>1, 0.75, 0.75</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.4</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_MuzzleFlash" updateStage="OnPunchStart">
				<Emitter>
					<Set name="offset">5, -18</Set>
					<Set name="lifeTime">0</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_Muzzle</Set>
					<Select name="offset" input="punchCount">
						<Item>-8, 0</Item>
						<Item>8, 0</Item>
					</Select>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.5, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.3</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_Projectile" updateStage="OnPunchStart">
				<Emitter>
					<Set name="offset">5, -18</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_Projectile</Set>
					<Select name="offset" input="punchCount">
						<Item>-8, 0</Item>
						<Item>8, 0</Item>
					</Select>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 1</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.3</Set>
					<VectorTo name="initialVelocity" source="targetPos" duration="lifeTime" x="1" />
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		<StateMachines>
			<StateMachine name="Motion">
				<States>
					<State name="Idle" />
					<State name="Move" />
					<State name="Jump" />
					<State name="Fall" />
				</States>
				<Transitions>
					<Transition to="Idle" from="Fall|Move">
						<Condition type="and">
							<IsVariableBool name="onGround">true</IsVariableBool>
							<IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>
					<Transition to="Move" from="Jump|Fall|Idle">
						<Condition type="and">
							<IsVariableBool name="onGround">true</IsVariableBool>
							<IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>
					<Transition to="Jump" from="Idle|Move">
						<Condition type="and">
							<IsVariableBool name="onGround">false</IsVariableBool>
							<IsVariableFloat name="speed.y" operator="Less">-0.1</IsVariableFloat>
						</Condition>
					</Transition>
					<Transition to="Fall" from="Jump|Idle|Move">
						<Condition type="and">
							<IsVariableBool name="onGround">false</IsVariableBool>
							<IsVariableFloat name="speed.y" operator="Greater">0.1</IsVariableFloat>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
			<StateMachine name="Action">
				<States>
					<State name="None" />
					<State name="Punch" />
				</States>
				<Transitions>
					<Transition to="None" from="Punch">
						<Condition>
							<IsAction operatorType="NotEqual">PUNCH</IsAction>
						</Condition>
					</Transition>
					<Transition to="Punch" from="None">
						<Condition>
							<IsAction>PUNCH</IsAction>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<RenderOptions>
			<Default>
				<Set name="IncludeAllActions">true</Set>
				<Set name="IgnoreDefaultDamagedTileEffect">true</Set>
			</Default>
		</RenderOptions>
	</Data>
	<RenderRules>
		<RenderBackpack>
			<Translate>0,-1,0</Translate>
			<SpriteRender name="s_Wings" alignment="DOWN_CENTER" />
			<SpriteRender name="s_Blaster2" alignment="DOWN_CENTER" />
		</RenderBackpack>
		<RenderFrontpack>
			<Translate>0,-1,0</Translate>
			<SpriteRender name="s_Blaster1" alignment="DOWN_CENTER" />
		</RenderFrontpack>
		<OnDestroyedTile>
			<ParticleSystemUpdate name="ps_Hit" />
		</OnDestroyedTile>
		<OnPunchStart>
			<AvatarTransform class="Face">
				<Set name="face">NORMAL</Set>
			</AvatarTransform>
		</OnPunchStart>
	</RenderRules>
</ItemRenderer>
