<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer NPCType="TerraShark">
	<Data>
		<Sprite name="s_sprite" fileName="game/npc2.rttex" textureSize="64" frame="0,7" />
		<Sprite name="s_dirt_anim_sprite" fileName="game/npc2.rttex" textureSize="64" frame="3,9" />
		<Sprite name="slash_sprite" fileName="game/npc1.rttex" textureSize="32" frame="12,7"/>
		<Sprite name="s_HitEffect" fileName="game/particles.rttex" textureSize="32" frame="10,9" />
		<Animations>
			<SpriteAnimation name="dirt_anim_patrol" sprite="s_dirt_anim_sprite" isLoop="true" animTime="400" autoPlay="false" playOnState="NPC.Patrol">
				<Frame>3,9</Frame>
				<Frame>4,9</Frame>
				<Frame>5,9</Frame>
				<Frame>6,9</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="dirt_anim_get_out" sprite="s_dirt_anim_sprite" isLoop="false" animTime="600" autoPlay="false" playOnState="NPC.GetOutOfGround">
				<Frame>0,10</Frame>
				<Frame>1,10</Frame>
				<Frame>2,10</Frame>
				<Frame>3,10</Frame>
				<Frame>4,10</Frame>
				<Frame>5,10</Frame>
			</SpriteAnimation>			
			<SpriteAnimation name="dirt_anim_get_int" sprite="s_dirt_anim_sprite" isLoop="false" animTime="300" autoPlay="false" playOnState="NPC.GetInToGround">
				<Frame>0,9</Frame>
				<Frame>1,9</Frame>
				<Frame>2,9</Frame>
			</SpriteAnimation>

			<SpriteAnimation name="dirt_anim_invisible" sprite="s_dirt_anim_sprite" isLoop="true" animTime="100" autoPlay="false" playOnState="NPC.Fall|NPC.Jump|NPC.Chase|NPC.AttackProjectile">
				<Frame>0,8</Frame>
			</SpriteAnimation>

			<SpriteAnimation name="patrol" sprite="s_sprite" isLoop="true" animTime="100" autoPlay="false" playOnState="NPC.Patrol">
				<Frame>0,7</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="getOutOfGround" sprite="s_sprite" isLoop="false" animTime="600" autoPlay="false" playOnState="NPC.GetOutOfGround">
				<Frame>1,7</Frame>
				<Frame>2,7</Frame>
				<Frame>3,7</Frame>
				<Frame>4,7</Frame>
				<Frame>5,7</Frame>
				<Frame>6,7</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="getInToGround" sprite="s_sprite" isLoop="false" animTime="600" autoPlay="false" playOnState="NPC.GetInToGround">
				<Frame>1,8</Frame>
				<Frame>2,8</Frame>
				<Frame>3,8</Frame>
				<Frame>4,8</Frame>
				<Frame>5,8</Frame>
				<Frame>6,8</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="chase" sprite="s_sprite" isLoop="true" animTime="400" autoPlay="false" playOnState="NPC.Chase|NPC.AttackProjectile">
				<Frame>7,8</Frame>
				<Frame>8,8</Frame>
				<Frame>9,8</Frame>
				<Frame>10,8</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="jump" sprite="s_sprite" isLoop="false" animTime="50" autoPlay="false" playOnState="NPC.Jump">
				<Frame>7,7</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="fall" sprite="s_sprite" isLoop="false" animTime="50" autoPlay="false" playOnState="NPC.Fall">
				<Frame>8,7</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="slash_anim" sprite="slash_sprite" animTime="800">
				<Frame>12,7</Frame>
				<Frame>13,7</Frame>
				<Frame>14,7</Frame>
				<Frame>15,7</Frame>
				<Frame>16,7</Frame>
				<Frame>17,7</Frame>
				<Frame>18,7</Frame>
				<Frame>19,7</Frame>
			</SpriteAnimation>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="fireParticle1">
				<Emitter>
					<Set name="offset">16,-4</Set>
					<Set name="emissionInterval">0.6</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="offsetFacing">true</Set>
				</Emitter>
				<Particle usePlayerFacing="true">
					<Set name="sprite">slash_sprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="relativeToEmitter">true</Set>
					<Set name="collisionDamageAmount">40</Set>
					<Set name="destroyOnCollision">false</Set>
					<Set name="collisionSize">32,32</Set>
					<Set name="lifeTime">0.3</Set>
					<Set name="initialScale">1.5,1</Set>
					<Set name="collisionType">
						<CollisionType>PROJECTILES_ENEMY</CollisionType>
					</Set>
					<Set name="collisionFlag">
						<CollisionFlag>PLAYERS</CollisionFlag>
					</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_HitEffect" updateStage="OnDamaged">
				<Emitter>
					<Set name="particlesPerEmission">1</Set>
					<Set name="emissionInterval">0.2</Set>
					<Set name="checkParticleNumToEmit">true</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_HitEffect</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.4, 0</KeyFrame>
						<KeyFrame>0.41, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="initialScale">1,1</Set>
					<Set name="lifeTime">0.5</Set>
					<Set name="initalRGB">0.37,0.9,0.4</Set>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="30,90" />
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		<StateMachines>
			<StateMachine name="NPC" ServerOnly="true">
				<States start="Patrol">
					<NPCStationary name="GetInToGround" ExitTime="0.5"/>
					<NPCStationary name="GetOutOfGround" ExitTime="0.5"/>				
					<NPCPlatformPatrol name="Patrol">
						<PatrolSpeed>100</PatrolSpeed>
						<DisableFall>true</DisableFall>
					</NPCPlatformPatrol>
					<NPCPlatformChase name="Chase">
						<ChaseSpeed>250</ChaseSpeed>
						<DisableFall>false</DisableFall>
					</NPCPlatformChase>					
					<NPCPlatformAttack name="AttackProjectile" ExitTime="0.1">
						<AttackSpeed>400</AttackSpeed>
						<ProjectileName>""</ProjectileName>
						<MinRangeToAttack>0</MinRangeToAttack>
					</NPCPlatformAttack>					
					<NPCPlatformJump name="Jump">
						<JumpHeight>85</JumpHeight>
					</NPCPlatformJump>
					<NPCFall name="Fall"/>
				</States>
				<Transitions>
					<Transition to="Patrol" from="GetInToGround"/>
					<Transition to="Fall" from="Patrol|Chase|Jump">
						<Condition>
							<CheckNPCVelocity ComparisonElement="Y" operatorType="GreaterOrEqual" abs="false">0.1</CheckNPCVelocity>
						</Condition>
					</Transition>
					<Transition to="GetInToGround" from="Chase">
						<Condition type="and">
							<CheckNPCVelocity ComparisonElement="Y" operatorType="Less" abs="true">0.1</CheckNPCVelocity>
							<IsPlayerDistanceMatching operatorType="Greater">192</IsPlayerDistanceMatching>
						</Condition>
					</Transition>

					<Transition to="GetOutOfGround" from="Patrol">
						<Condition type="and">
							<CheckNPCVelocity ComparisonElement="Y" operatorType="Less" abs="true">0.1</CheckNPCVelocity>
							<IsPlayerDistanceMatching operatorType="Less">96</IsPlayerDistanceMatching>
						</Condition>
					</Transition>
					<Transition to="AttackProjectile" from="GetOutOfGround"/>
					<Transition to="Chase" from="AttackProjectile"/>
					<Transition to="AttackProjectile" from="Chase">
						<Condition>
							<CheckTimer ResetOnSuccess="true" name="timeToAttack">true</CheckTimer>
						</Condition>
					</Transition>
					<Transition to="Chase" from="Fall">
						<Condition>
							<CheckNPCVelocity ComparisonElement="Y" operatorType="Less" abs="true">0.1</CheckNPCVelocity>
						</Condition>
					</Transition>

					<Transition to="Jump" from="Chase">
						<Condition type="and">
							<IsPlayerDistanceMatching operatorType="Less">192</IsPlayerDistanceMatching>
							<CheckNPCVelocity ComparisonElement="Y" operatorType="Less" abs="true">0.1</CheckNPCVelocity>
							<CheckTimer ResetOnSuccess="true" name="timeToJump">true</CheckTimer>
							<SubCondition type="or">
								<SubCondition type="and">
									<IsCollidableBetweenTarget Width="8">true</IsCollidableBetweenTarget>
									<CheckPositionDifferenceToPlayer UseVertical="true" operatorType="Less">11</CheckPositionDifferenceToPlayer>
								</SubCondition>
								<CheckPositionDifferenceToPlayer UseVertical="true" operatorType="Less">-16</CheckPositionDifferenceToPlayer>
							</SubCondition>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<Components>
			<Info/>
			<MustKillNPC/>
			<AttachmentSlotsCmp/>
			<TintOverrideCmp/>
			<StateMachineTimer>
				<Set name="timeToJump">2</Set>
				<Set name="timeToAttack">2</Set>
			</StateMachineTimer>			
			<StateMachineCounter>
				<Set name="JumpCounter">3</Set>
			</StateMachineCounter>
			<Enemy>
				<Set name="SoulsReward">8</Set>
				<Set name="destroyTileId">11782</Set>
			</Enemy>
			<Movement/>
			<Damage>
				<Set name="damage">10</Set>
			</Damage>
			<NPCRenderActionCmp/>
			<StateMachine/>
			<Health>
				<Set name="healthAmount">400</Set>
				<Set name="maxHealth">400</Set>
			</Health>
			<Physics>
				<Set name="acceleration">0, 9.81</Set>
				<Set name="mass">70</Set>
				<Set name="drag">0.6, 0</Set>
			</Physics>
			<CollisionBox>
				<Set name="size">42,24</Set>
				<Set name="CollisionFlag">"PLAYERS|PROJECTILES"</Set>
				<Set name="CollisionType">"ENEMY_NPC"</Set>
			</CollisionBox>
			<DebugDraw/>
		</Components>
	</Data>
	<RenderRules>
		<Update>
			<SetCollisionFlagAction CollisionFlag="NO_COLLISION" onState="NPC.Patrol"/>
			<SetCollisionFlagAction CollisionFlag="PLAYERS|PROJECTILES" onState="NPC.Chase|NPC.AttackProjectile|NPC.Jump|NPC.Fall"/>
			<ParticleSystemUpdate name="fireParticle1" onState="NPC.AttackProjectile" />
		</Update>
		<Render>
			<Translate>0,-4,0</Translate>
			<SpriteRender name="s_sprite" offset="0,-16"/>
			<SpriteRender name="s_dirt_anim_sprite" offset="0,-16" tintOverride="117,85,49,255"/>
		</Render>
		<RenderInFront>
			<Translate>0,-26,0</Translate>
			<NPCHealthBarRender TexturePath="interface/large/gui_event_npchealth_bar.rttex" TextureSize="17,9" TextureCoordinates="0,0" onState="NPC.Chase|NPC.AttackProjectile|NPC.Jump|NPC.Fall"/>
		</RenderInFront>
		<SwitchOffClothingParticles>
			<ParticleSystemOff name="ps_HitEffect"/>
			<ParticleSystemOff name="fireParticle1"/>
		</SwitchOffClothingParticles>
	</RenderRules>
</ItemRenderer>