<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="s_body" fileName="game/particles_large17.rttex" textureSize="64" frame="0,10" />
		<Sprite name="s_head" fileName="game/particles_large17.rttex" textureSize="64" frame="0,9" />
		<Sprite name="s_headPunch" fileName="game/particles_large17.rttex" textureSize="64" frame="12,9" />
		<Sprite name="s_punch" fileName="game/particles.rttex" textureSize="32" frame="4,14" />
		<Sprite name="s_trunk" fileName="game/particles12.rttex" textureSize="32" frame="26,10" />
		<Sprite name="s_tusk" fileName="game/particles_large17.rttex" textureSize="64" frame="13,9" />
		<Animations>
			<SpriteAnimation name="a_idle1" sprite="s_body" animTime="800" isLoop="true" playOnState="Movement.Idle">
				<Frame>0,10</Frame>
				<Frame>1,10</Frame>
				<Frame>2,10</Frame>
				<Frame>3,10</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_idle2" sprite="s_head" animTime="800" isLoop="true" playOnState="Movement.Idle">
				<Frame>0,9</Frame>
				<Frame>1,9</Frame>
				<Frame>2,9</Frame>
				<Frame>3,9</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_move1" sprite="s_body" animTime="400" isLoop="true" playOnState="Movement.Move">
				<Frame>4,10</Frame>
				<Frame>5,10</Frame>
				<Frame>6,10</Frame>
				<Frame>7,10</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_move2" sprite="s_head" animTime="400" isLoop="true" playOnState="Movement.Move">
				<Frame>4,9</Frame>
				<Frame>5,9</Frame>
				<Frame>6,9</Frame>
				<Frame>7,9</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_jump1" sprite="s_head" animTime="400" isLoop="true" playOnState="Movement.Jump">
				<Frame>8,9</Frame>
				<Frame>9,9</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_jump2" sprite="s_body" animTime="400" isLoop="true" playOnState="Movement.Jump">
				<Frame>8,10</Frame>
				<Frame>9,10</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_fall1" sprite="s_head" animTime="400" isLoop="true" playOnState="Movement.Fall">
				<Frame>10,9</Frame>
				<Frame>11,9</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_fall2" sprite="s_body" animTime="400" isLoop="true" playOnState="Movement.Fall">
				<Frame>10,10</Frame>
				<Frame>11,10</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_punch" sprite="s_trunk" animTime="400" isLoop="true" playOnState="Action.Punch">
				<Frame>26,10</Frame>
				<Frame>27,10</Frame>
			</SpriteAnimation>
		</Animations>
		<StateMachines>
			<StateMachine name="Movement">
				<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|Fall">
						<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>
			<StateMachine name="Facing">
				<States>
					<State name="Left" />
					<State name="Right" />
				</States>
				<Transitions>
					<Transition to="Left" from="Right">
						<Condition>
							<IsFacingLeft>true</IsFacingLeft>
						</Condition>
					</Transition>
					<Transition to="Right" from="Left">
						<Condition>
							<IsFacingLeft>false</IsFacingLeft>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<RenderOptions>
			<Default>
				<Set name="ClothingOffsetFromShoes">-11</Set>
				<Set name="IgnoreDefaultDamagedTileEffect">false</Set>
				<Set name="IsToRenderPants">false</Set>
				<Set name="RenderShoesWithMermaidTail">true</Set>
				<Set name="IsCar">true</Set>
				<Set name="CarCastSmokeParticle">false</Set>
				<Set name="ShoesShouldIgnoreRaptorLegsOffset">true</Set>
				<Set name="IsRidingBird">true</Set>
				<Set name="UserNameOffset">18</Set>
				<Set name="AllowChangePunchType">true</Set>
				<Set name="IncludeAllActions">true</Set>
			</Default>
		</RenderOptions>
		<VariableMap>
			<Set name="target.angle">0</Set>
			<Set name="turret.Rotation">0</Set>
		</VariableMap>
		<ParticleSystems>
			<ParticleSystem name="p_punch">
				<Emitter attachment="contextRotation">
					<Set name="offset">0, 0</Set>
					<Set name="emissionInterval">0.001</Set>
					<Set name="infParticles">true</Set>
					<Set name="lifeTime">0.2</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_punch</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Set name="lifeTime">0.25</Set>
					<VectorTo name="initialVelocity" source="targetPos" offset="targetPosOffset" duration="lifeTime" x="1" angle="0" />
					<Random name="targetPosOffset" min="-15, -8" max="15, 8"/>
					<Set name="renderAlignment">LEFT_CENTER</Set>
					<OnFinish>
						<ParticleSystemName>p_splash</ParticleSystemName>
					</OnFinish>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="p_splash" >
				<Emitter>
					<Set name="lifeTime">1</Set>
					<Set name="emissionInterval">0.5</Set>
					<Random name="particlesPerEmission" min="1" max="4"/>
				</Emitter>
				<Particle>
					<Set name="sprite">s_punch</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="useGravity">true</Set>
					<Curve name="initialScale">
						<KeyFrame>0, 0.75, 0.75</KeyFrame>
						<KeyFrame>1, 0.25, 0.25</KeyFrame>
					</Curve>
					<Set name="lifeTime">1</Set>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="25,75" baseAnglePosition="targetPos" baseOffset="0,16"/>
					<Set name="gravityVector">0, 45</Set>
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
	</Data>
	<RenderRules>
		<Update>
			<AvatarTransform class="ArmAngle" onState="Action.Punch">
				<Set name="armName">arm2Angle</Set>
				<Set name="armAngle">-30</Set>
			</AvatarTransform>
		</Update>
		<RenderShoes>
			<SpriteRender name="s_body" offset="32,14" alignmentLeft="DOWN_LEFT" alignmentRight="DOWN_RIGHT" />
			<SpriteRender name="s_head" offset="-32,14" alignmentLeft="DOWN_RIGHT" alignmentRight="DOWN_LEFT" onState="Action.None"/>
			<SpriteRender name="s_headPunch" offset="-32,14" alignmentLeft="DOWN_RIGHT" alignmentRight="DOWN_LEFT" onState="Action.Punch"/>
			<Group onState="Action.Punch">
				<ArithmethicOperation LeftHandVariableName="turret.Rotation" RightHandVariableName="target.angle" OperationType="Set" />
				<Group>
					<Translate>13, 0.5, 0</Translate>
					<Rotate forceValue="true" incrementRotate="true">turret.Rotation</Rotate>
					<Group onState="Facing.Right">
						<SpriteRender name="s_trunk" alignment="LEFT_CENTER"/>
					</Group>
					<Group onState="Facing.Left">
						<Rotate incrementRotate="true">0,0,0,1</Rotate>
						<SpriteRender name="s_trunk" alignment="RIGHT_CENTER"/>
					</Group>
				</Group>
				<SpriteRender name="s_tusk" offset="-32,14" alignmentLeft="DOWN_RIGHT" alignmentRight="DOWN_LEFT"/>
			</Group>
		</RenderShoes>
		<OnPunchStart>
			<Translate>13, 0.5, 0</Translate>
			<Rotate forceValue="true" incrementRotate="true">turret.Rotation</Rotate>
			<StopIf type="or">
				<IsRenderMod>RENDER_MOD_MINI_YOU</IsRenderMod>
				<IsSitting>true</IsSitting>
			</StopIf>
			<Translate onState="Facing.Right">0,3,0</Translate>
			<Translate onState="Facing.Left">0,-1,0</Translate>
			<ParticleSystemUpdate name="p_punch"/>
		</OnPunchStart>
		<OnPunchUpdate>
			<AvatarTransform class="Face">
				<Set name="face">MAD</Set>
			</AvatarTransform>
		</OnPunchUpdate>
		<OnDamagedTile />
		<OnDestroyedTile />
	</RenderRules>
</ItemRenderer>
