<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer NPCType="IceGolemBoss" NPCTypeID="12">
	<Data>
		<Sprite name="sprite" fileName="game/npc1.rttex" textureSize="32" frame="29,8"/>
		<Sprite name="jelatinous_sprite" fileName="game/npc2.rttex" textureSize="64" frame="6,0"/>
		<Sprite name="trail_sprite" fileName="game/npc1.rttex" textureSize="32" frame="30,6"/>
		<Sprite name="s_HitEffect" fileName="game/particles.rttex" textureSize="32" frame="10,9" />
		<Sprite name="windFeetSprite" fileName="game/npc1.rttex" textureSize="32"/>
		<StateMachines>
			<StateMachine name="NPC" ServerOnly="true">
				<States start="Patrol">
					<NPCPlatformPatrol name="Patrol">
						<PatrolSpeed>70</PatrolSpeed>
						<DisableFall>false</DisableFall>
					</NPCPlatformPatrol>
					<NPCPlatformDash name="Dash" ExitTime="5">
						<DashVelocity>400, -10</DashVelocity>
						<UsePlayerPosition>true</UsePlayerPosition>
					</NPCPlatformDash>	
					<NPCPlatformSpawnParticlesWithMinions name="SpawnParticlesWithMinions" ExitTime="3">
						<ProjectileName>"IceGolemProjectile"</ProjectileName>
					</NPCPlatformSpawnParticlesWithMinions>	
					<NPCPlatformJump name="Jump" ExitTime="1">
						<JumpHeight>150</JumpHeight>
					</NPCPlatformJump>	
					<NPCCounterOperation name="JumpCounter">
						<CounterName>"JumpCounter"</CounterName>
						<CounterModifier>-1</CounterModifier>
					</NPCCounterOperation>
					<NPCAnticipation name="AnticipationDash" ExitTime="1.5"/>
					<NPCAnticipation name="AnticipationLeap" ExitTime="0.5"/>
					<NPCAnticipation name="AnticipationFire" ExitTime="2"/>
				</States>
				<Transitions>
					<Transition to="Patrol" from="Dash|SpawnParticlesWithMinions"/>
					<Transition to="Patrol" from="Jump">
						<Condition>
							<CheckCounter ResetOnSuccess="true" operatorType="LessOrEqual" name="JumpCounter">0</CheckCounter>
						</Condition>
					</Transition>	
					<Transition to="AnticipationDash" from="Patrol">
						<Condition>
							<CheckRandomRangeNumber EndNumber="3">0</CheckRandomRangeNumber>
						</Condition>
					</Transition>			
					<Transition to="AnticipationFire" from="Patrol">
						<Condition>
							<CheckRandomRangeNumber EndNumber="3">1</CheckRandomRangeNumber>
						</Condition>
					</Transition>
					<Transition to="AnticipationLeap" from="Patrol">
						<Condition>
							<CheckRandomRangeNumber EndNumber="3">2</CheckRandomRangeNumber>
						</Condition>
					</Transition>						
					<Transition to="AnticipationLeap" from="Jump">
						<Condition>
							<CheckCounter operatorType="Greater" name="JumpCounter">0</CheckCounter>
						</Condition>
					</Transition>				
					<Transition to="Dash" from="AnticipationDash"/>
					<Transition to="SpawnParticlesWithMinions" from="AnticipationFire"/>						
					<Transition to="JumpCounter" from="AnticipationLeap"/>			
					<Transition to="Jump" from="JumpCounter"/>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<Animations>
			<SpriteAnimation name="windFeetAnimation" isLoop="true" autoPlay="true" sprite="windFeetSprite" animTime="800">
				<Frame>0,10</Frame>
				<Frame>1,10</Frame>
				<Frame>2,10</Frame>
				<Frame>3,10</Frame>
				<Frame>4,10</Frame>
				<Frame>5,10</Frame>
				<Frame>6,10</Frame>
				<Frame>7,10</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_sprite_walk" playOnState="NPC.Patrol" sprite="jelatinous_sprite" isLoop="true" animTime="400">
				<Frame>6, 0</Frame>
				<Frame>7, 0</Frame>
				<Frame>8, 0</Frame>
				<Frame>9, 0</Frame>
			</SpriteAnimation>			
			<SpriteAnimation name="a_sprite_anticipation_dash" playOnState="NPC.AnticipationDash" sprite="jelatinous_sprite" isLoop="false" animTime="50">
				<Frame>7, 3</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_sprite_anticipation_leap" playOnState="NPC.AnticipationLeap" sprite="jelatinous_sprite" isLoop="false" animTime="300">
				<Frame>6, 0</Frame>
				<Frame>7, 0</Frame>
				<Frame>8, 0</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_sprite_jump_attack" playOnState="NPC.Jump" sprite="jelatinous_sprite" isLoop="true" animTime="50">
				<Frame>9, 3</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_sprite_dash_attack" playOnState="NPC.Dash" sprite="jelatinous_sprite" isLoop="true" animTime="400">
				<Frame>6, 1</Frame>
				<Frame>7, 1</Frame>
				<Frame>8, 1</Frame>
				<Frame>9, 1</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_sprite_anticipation_fire" playOnState="NPC.AnticipationFire" sprite="jelatinous_sprite" isLoop="false" animTime="50">
				<Frame>6, 3</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_sprite_fire_attack" playOnState="NPC.SpawnParticlesWithMinions" sprite="jelatinous_sprite" isLoop="false" animTime="400">
				<Frame>7, 3</Frame>
			</SpriteAnimation>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="windFeetLeftParticle">
				<Emitter>
					<Set name="offset">-32,32</Set>
					<Set name="randomizeInterval">true</Set>
					<Set name="intervalMin">0.15</Set>
					<Set name="intervalMax">0.2</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle usePlayerFacing="true">
					<Set name="sprite">windFeetSprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="isBackgroundParticle">false</Set>
					<Set name="initalRGB">1,1,1</Set>
					<Set name="initialScale">2,2,1</Set>
					<Set name="flipX">false</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>0.2, 0.5</KeyFrame>
						<KeyFrame>0.6, 0.2</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Random name="lifeTime" min="0.8" max="1"/>
					<Random name="initialVelocity" min="10,0" max="30,0"/>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="windFeetRightParticle">
				<Emitter>
					<Set name="offset">32,32</Set>
					<Set name="randomizeInterval">true</Set>
					<Set name="intervalMin">0.15</Set>
					<Set name="intervalMax">0.2</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle usePlayerFacing="true">
					<Set name="sprite">windFeetSprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="isBackgroundParticle">false</Set>
					<Set name="initalRGB">1,1,1</Set>
					<Set name="initialScale">2,2,1</Set>
					<Set name="flipX">true</Set>
					<Random name="lifeTime" min="0.8" max="1"/>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>0.5, 0.5</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Random name="initialVelocity" min="-10,0" max="-30,0"/>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="fireParticle1">
				<Emitter>
					<Set name="offset">45,64</Set>
					<Set name="emissionInterval">0.8</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="offset">0,0</Set>
					<Set name="renderAlignment">DOWN_CENTER</Set>
					<Set name="sprite">sprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="isBackgroundParticle">false</Set>
					<Set name="relativeToEmitter">true</Set>
					<Set name="collisionDamageAmount">5</Set>
					<Set name="destroyOnCollision">false</Set>
					<Set name="collisionSize">16,32</Set>
					<Set name="lifeTime">0.9</Set>
					<Set name="initialScale">4,4</Set>
					<Set name="collisionType">
						<CollisionType>PROJECTILES_ENEMY</CollisionType>
					</Set>
					<Set name="collisionFlag">
						<CollisionFlag>PLAYERS</CollisionFlag>
					</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="trail_particle">
				<Emitter>
					<Set name="emissionInterval">0.07</Set>
					<Set name="lifeTime">1</Set>
					<Set name="infParticles">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="offset">-32,34</Set>
					<Set name="offsetFacing">true</Set>
				</Emitter>
				<Particle usePlayerFacing="true">
					<Set name="sprite">trail_sprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="lifeTime">1</Set>
					<Set name="initalRGB">1,1,1</Set>
					<Set name="collisionDamageAmount">10</Set>
					<Set name="destroyOnCollision">false</Set>
					<Set name="collisionSize">64,48</Set>
					<Set name="interpolateAlpha">true</Set>
					<Set name="initialAlpha">1</Set>
					<Set name="finalAlpha">0</Set>
					<Set name="initialScale">2,2</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">10</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.5,1.5</Set>
					<Set name="lifeTime">0.5</Set>
					<Set name="initalRGB">0,0,1</Set>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="50,130" />
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		<Components>
			<Info/>
			<TintOverrideCmp/>
			<AttachmentSlotsCmp/>
			<MustKillNPC/>
      <IsBossNPC>
        <Set name="displayName">"Ice Golem"</Set>
      </IsBossNPC>
			<StateMachineCounter>
				<Set name="JumpCounter">3</Set>
			</StateMachineCounter>
			<Enemy>
				<Set name="SoulsReward">200</Set>
				<Set name="destroyTileId">9178</Set>
			</Enemy>
			<Movement/>
			<Damage>
				<Set name="damage">20</Set>
			</Damage>
			<NPCRenderActionCmp/>
			<StateMachine/>
			<Physics>
				<Set name="acceleration">0, 9.81</Set>
				<Set name="mass">100</Set>
				<Set name="drag">0.1, 0</Set>
			</Physics>
			<Health>
				<Set name="healthAmount">20000</Set>
				<Set name="maxHealth">20000</Set>
			</Health>
			<CollisionBox>
				<Set name="size">96,128</Set>
				<Set name="CollisionFlag">"PLAYERS|PROJECTILES"</Set>
				<Set name="CollisionType">"ENEMY_NPC"</Set>
			</CollisionBox>
			<DebugDraw/>
		</Components>
	</Data>
	<RenderRules>
		<Render>
			<SpriteRender name="jelatinous_sprite" scale="2,2"/>
		</Render>
		<Update>
			<ParticleSystemUpdate name="windFeetLeftParticle" onState="NPC.AnticipationLeap"/>
			<ParticleSystemUpdate name="windFeetRightParticle" onState="NPC.AnticipationLeap"/>
			<ParticleSystemUpdate name="fireParticle1" onState="NPC.Dash" />
			<ParticleSystemUpdate name="trail_particle" onState="NPC.Dash" />
		</Update>
		<RenderInFront>
			<Translate>0,-16,0</Translate>
			<NPCHealthBarRender TexturePath="interface/large/gui_event_npchealth_bar.rttex" TextureSize="17,9" TextureCoordinates="0,0"/>
		</RenderInFront>
		<SwitchOffClothingParticles>
			<ParticleSystemOff name="fireParticle1"/>
			<ParticleSystemOff name="trail_particle"/>
			<ParticleSystemOff name="windFeetLeftParticle"/>
			<ParticleSystemOff name="windFeetRightParticle"/>
		</SwitchOffClothingParticles>
	</RenderRules>
</ItemRenderer>