<?xml version="1.0"?>
<ItemRenderer item="ITEM_ID_CANDLEWICKS_HAIR">
	<Data>
		<Sprite name="s_Hair" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="28,20" />
		<Sprite name="s_Hair_glow" fileName="game/particles11.rttex" textureSize="32" frame="23,31" />
		<Sprite name="s_hair_back_proxy" fileName="game/particles11.rttex" textureSize="32" frame="6,31" />
		<Sprite name="s_hair_back_proxy_2" fileName="game/particles11.rttex" textureSize="32" frame="6,31" />
		<Sprite name="emberSprite" fileName="game/particles11.rttex" textureSize="32" frame="22,31" />
		<StateMachines>
			<StateMachine name="Action">
				<States>
					<State name="Idle" />
					<State name="Walk" />
					<State name="JumpStraight" />
					<State name="JumpDiagonal" />
					<State name="FallStraight" />
					<State name="FallDiagonal" />
				</States>
				<Transitions>
					<Transition to="Idle" from="Walk|FallStraight|FallDiagonal">
						<Condition>
							<IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>					
					<Transition to="Walk" from="Idle|FallDiagonal|FallStraight">
						<Condition type="and">
							<IsVariableFloat name="speed.x" operator="Greater" abs="true">0.1</IsVariableFloat>
							<IsVariableFloat name="speed.y" operator="Less" abs="true">0.1</IsVariableFloat>
							<IsAction operatorType="NotEqual">JUMP</IsAction>
							<IsAction operatorType="NotEqual">FALL</IsAction>
						</Condition>
					</Transition>
					<Transition to="JumpStraight" from="Idle|Walk|FallStraight|JumpDiagonal|FallDiagonal">
						<Condition type="and">
							<IsVariableFloat name="speed.y" operator="Less">-0.1</IsVariableFloat>
							<IsVariableFloat name="speed.x" operator="Less" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>			
					<Transition to="JumpDiagonal" from="Idle|Walk|FallStraight|JumpStraight|FallDiagonal">
						<Condition type="and">
							<IsVariableFloat name="speed.y" operator="Less">-0.1</IsVariableFloat>
							<IsVariableFloat name="speed.x" operator="Greater" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>
					<Transition to="FallStraight" from="Walk|FallDiagonal|JumpStraight|JumpDiagonal|Idle">
						<Condition type="and">
							<IsVariableFloat name="speed.y" operator="Greater">0.1</IsVariableFloat>
							<IsVariableFloat name="speed.x" operator="Less" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>				
					<Transition to="FallDiagonal" from="Walk|FallStraight|JumpStraight|JumpDiagonal|Idle">
						<Condition type="and">
							<IsVariableFloat name="speed.y" operator="Greater">0.1</IsVariableFloat>
							<IsVariableFloat name="speed.x" operator="Greater" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<Animations>
			<SpriteAnimation name="s_Belt_back_proxy_idle" sprite="s_hair_back_proxy" playOnState="Action.Idle" animTime="800" isLoop="true">
				<Frame>6,31</Frame>
				<Frame>7,31</Frame>
				<Frame>8,31</Frame>
				<Frame>9,31</Frame>
				<Frame>10,31</Frame>
				<Frame>11,31</Frame>
				<Frame>12,31</Frame>
				<Frame>13,31</Frame>
			</SpriteAnimation>			
			<SpriteAnimation name="s_Belt_back_proxy_walk" sprite="s_hair_back_proxy" playOnState="Action.Walk|Action.FallStraight|Action.FallDiagonal|Action.JumpStraight|Action.JumpDiagonal" animTime="800" isLoop="true">
				<Frame>14,31</Frame>
				<Frame>15,31</Frame>
				<Frame>16,31</Frame>
				<Frame>17,31</Frame>
				<Frame>18,31</Frame>
				<Frame>19,31</Frame>
				<Frame>20,31</Frame>
				<Frame>21,31</Frame>
			</SpriteAnimation>			
			<SpriteAnimation name="s_Belt_back_proxy_idle_2" sprite="s_hair_back_proxy_2" playOnState="Action.Idle" animTime="800" isLoop="true">
				<Frame>7,31</Frame>
				<Frame>8,31</Frame>
				<Frame>9,31</Frame>
				<Frame>10,31</Frame>
				<Frame>11,31</Frame>
				<Frame>12,31</Frame>
				<Frame>13,31</Frame>
				<Frame>6,31</Frame>
			</SpriteAnimation>			
			<SpriteAnimation name="s_Belt_back_proxy_walk_2" sprite="s_hair_back_proxy_2" playOnState="Action.Walk|Action.FallStraight|Action.FallDiagonal|Action.JumpStraight|Action.JumpDiagonal" animTime="800" isLoop="true">
				<Frame>15,31</Frame>
				<Frame>16,31</Frame>
				<Frame>17,31</Frame>
				<Frame>18,31</Frame>
				<Frame>19,31</Frame>
				<Frame>20,31</Frame>
				<Frame>21,31</Frame>
				<Frame>14,31</Frame>
			</SpriteAnimation>				
			<InterpolationVec4Animation name="idleProxy" variableName="hair_rotation" targetValue="0, 0, 0, 1" animTime="600" playOnState="Action.Idle"/>
			<InterpolationVec4Animation name="walkProxy" variableName="hair_rotation" targetValue="-90, 0, 0, 1" animTime="400" playOnState="Action.Walk"/>
			<InterpolationVec4Animation name="fallProxyFallStraight" variableName="hair_rotation" targetValue="0, 0, 0, 1" animTime="1000" playOnState="Action.FallStraight"/>
			<InterpolationVec4Animation name="fallProxyFallDiagonal" variableName="hair_rotation" targetValue="-45, 0, 0, 1" animTime="400" playOnState="Action.FallDiagonal"/>
			<InterpolationVec4Animation name="jumpProxyJumpStraight" variableName="hair_rotation" targetValue="-180, 0, 0, 1" animTime="1000" playOnState="Action.JumpStraight"/>
			<InterpolationVec4Animation name="jumpProxyJumpDiagonal" variableName="hair_rotation" targetValue="-135, 0, 0, 1" animTime="400" playOnState="Action.JumpDiagonal"/>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="EmberLeftParticle">
				<Emitter>
					<Set name="offset">0, -28</Set>
					<Set name="emissionInterval">0.1</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">3</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">emberSprite</Set>
					<Random name="offset" min="-4, -2" max="4, 2" />
					<Set name="renderAlignment">CENTER</Set>
					<Set name="blendingMode">ADDITIVE</Set>
					<Set name="inSpecificOrder">true</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.3, 1</KeyFrame>
						<KeyFrame>0.8, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.85</Set>a
					<Random name="initialVelocity" min="0, -16" max="0, -30" />
					<Set name="initialRotationRate">360</Set>
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		<VariableMap>
			<Set name="hair_rotation">0, 0, 0, 1</Set>
			<Set name="hair_position">0, -31.75, 0</Set>
			<Set name="proxy_position_back">0, -32, 0</Set>
			<Set name="localScale">1, 1, 1</Set>
			<Set name="sittingOffset">0, 0, 0</Set>
			<Set name="portraitOffset">0,0, 0</Set>
		</VariableMap>
	</Data>
	<RenderRules>
		<RenderBackHair>
			<StopIf>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
				<IsRenderMod>RENDER_MOD_SPIRIT_GUIDE</IsRenderMod>
				<IsRenderMod>RENDER_MOD_RAINBOW_GUY</IsRenderMod>
				<IsSitting ItemID="ITEM_ID_THEATER_SEAT">true</IsSitting>
			</StopIf>
			<ParticleSystemRender name="EmberLeftParticle"/>
			<Group>			
				<Translate>proxy_position_back</Translate>
				<Rotate>hair_rotation</Rotate>
				<SpriteRender name="s_hair_back_proxy" blend="ADDITIVE" alignment="DOWN_CENTER" drawShadow="false"/>
				<SpriteRender name="s_hair_back_proxy_2" blend="ADDITIVE" alignment="DOWN_CENTER" drawShadow="false"/>
			</Group>
		</RenderBackHair>
		<RenderHair>
			<StopIf>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
				<IsRenderMod>RENDER_MOD_SPIRIT_GUIDE</IsRenderMod>
				<IsRenderMod>RENDER_MOD_RAINBOW_GUY</IsRenderMod>
				<IsSitting ItemID="ITEM_ID_THEATER_SEAT">true</IsSitting>
			</StopIf>
			<Translate>hair_position</Translate>
			<SpriteRender name="s_Hair_glow" blend="ADDITIVE" />
		</RenderHair>
		<AddClothingParticles>
			<ParticleSystemUpdate name="EmberLeftParticle" onState="Action.Walk|Action.FallStraight|Action.FallDiagonal|Action.JumpStraight|Action.JumpDiagonal"/>
		</AddClothingParticles>
	</RenderRules>
</ItemRenderer>
