<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="chestBackgroundSprite" fileName="game/particles_large16.rttex" textureSize="64" frame="0,14" />
		<Sprite name="chestBackgroundSpriteCats" fileName="game/particles_large16.rttex" textureSize="64" frame="0,13" />
		<Sprite name="chestBackgroundSpriteCatsNoAnim" fileName="game/particles_large16.rttex" textureSize="64" frame="0,13" />
		<Sprite name="chestForegroundSprite" fileName="game/player_cosmetics4.rttex" textureSize="32" frame="7,1" />
		<Sprite name="chestForegroundSpriteGlow" fileName="game/player_cosmetics4.rttex" textureSize="32" frame="8,1" />
		<Sprite name="emberSprite" fileName="game/particles12.rttex" textureSize="32" frame="24,8" />
		<Sprite name="flameSprite" fileName="game/particles12.rttex" textureSize="32" frame="27,8" />
		<Sprite name="respawnParticle" fileName="game/particles_large16.rttex" textureSize="64" frame="8,11" />
		<StateMachines>
			<StateMachine name="IsPunching">
				<States>
					<State name="False" />
					<State name="True" />
				</States>
				<Transitions>
					<Transition from="False" to="True">
						<Condition>
							<IsAction>PUNCH</IsAction>
						</Condition>
					</Transition>
					<Transition from="True" to="False">
						<Condition>
							<IsAction operatorType="NotEqual">PUNCH</IsAction>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
			<StateMachine name="Motion">
				<States>
					<State name="Idle" />
					<State name="Moving" />
				</States>
				<Transitions>
					<Transition to="Idle" from="Moving">
						<Condition>
							<IsVariableFloat name="speed.length" operator="Less" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>
					<Transition to="Moving" from="Idle">
						<Condition>
							<IsVariableFloat name="speed.length" operator="Greater" abs="true">0.1</IsVariableFloat>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
			<StateMachine name="IsDying">
				<States>
					<State name="False" />
					<State name="True" />
				</States>
				<Transitions>
					<Transition from="False" to="True">
						<Condition>
							<IsAction>DIE</IsAction>
						</Condition>
					</Transition>
					<Transition from="True" to="False">
						<Condition>
							<IsAction operatorType="NotEqual">DIE</IsAction>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<Animations>
			<SpriteAnimation name="MantleAnimation" sprite="chestBackgroundSprite" animTime="3200" autoPlay="true" isLoop="true">
				<Frame>0,14</Frame>
				<Frame>1,14</Frame>
				<Frame>2,14</Frame>
				<Frame>3,14</Frame>
				<Frame>4,14</Frame>
				<Frame>5,14</Frame>
				<Frame>6,14</Frame>
				<Frame>7,14</Frame>
				<Frame>8,14</Frame>
				<Frame>9,14</Frame>
				<Frame>10,14</Frame>
				<Frame>11,14</Frame>
				<Frame>12,14</Frame>
				<Frame>13,14</Frame>
				<Frame>14,14</Frame>
				<Frame>15,14</Frame>
			</SpriteAnimation>				
			
			<SpriteAnimation name="MantleAnimationCats" sprite="chestBackgroundSpriteCats" autoPlay="true" animTime="punchAnimTime" isLoop="true">
				<Frame>0,13</Frame>
				<Frame>1,13</Frame>
				<Frame>2,13</Frame>
				<Frame>3,13</Frame>
				<Frame>4,13</Frame>
				<Frame>5,13</Frame>
				<Frame>6,13</Frame>
				<Frame>7,13</Frame>
				<Frame>8,13</Frame>
				<Frame>9,13</Frame>
				<Frame>10,13</Frame>
				<Frame>11,13</Frame>
				<Frame>12,13</Frame>
				<Frame>13,13</Frame>
				<Frame>14,13</Frame>
				<Frame>15,13</Frame>
			</SpriteAnimation>					
			
			<SpriteAnimation name="emberAnimation" sprite="emberSprite" animTime="300">
				<Frame>24,8</Frame>
				<Frame>25,8</Frame>
				<Frame>26,8</Frame>
			</SpriteAnimation>			
			
			<SpriteAnimation name="flameAnimation" sprite="flameSprite" animTime="300">
				<Frame>27,8</Frame>
				<Frame>28,8</Frame>
				<Frame>29,8</Frame>
			</SpriteAnimation>

			<SpriteCurveAnimation name="chestForegroundSpriteGlowAnim" isLoop="true" sprite="chestForegroundSpriteGlow" animTime="5000" autoPlay="true">
				<Curve name="alpha">
					<KeyFrame>0.f, 0.f</KeyFrame>
					<KeyFrame>0.2f, 0.f</KeyFrame>
					<KeyFrame>0.4f, 1.f</KeyFrame>
					<KeyFrame>0.8f, 1.f</KeyFrame>
					<KeyFrame>1.f, 0.f</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="MistParticles">
				<Emitter>
					<Set name="offset">-16, -16</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="particlesToEmit">1</Set>
					<Set name="emissionInterval">0.02</Set>
				</Emitter>
				<Particle usePlayerFacing="true" randomSpriteFrame="true">
					<Set name="sprite">flameSprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 1, 1</KeyFrame>
						<KeyFrame>1, 4, 1</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.6</Set>
					<Set name="initialVelocity">-50, 0</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="EmberLeftParticle">
				<Emitter>
					<Set name="offset">0, 0</Set>
					<Set name="emissionInterval">0.1</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true" velocityRelativeToPlayerSpeed="true">
					<Set name="sprite">emberSprite</Set>
					<Set name="relativeToEmitter">false</Set>
					<Random name="offset" min="-24, -24" max="24, 8" />
					<Set name="renderAlignment">CENTER</Set>
					<Set name="blendingMode">ADDITIVE</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>0.5, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Random name="initialScale" min="1, 1" max="1.5, 1.5" />
					<Random name="finalScale" min="1.25, 1.25" max="2, 2" />
					<Set name="interpolateScale">true</Set>
					<Set name="lifeTime">1</Set>
					<Random name="initialVelocity" min="-25, 0" max="-50, 0" />
				</Particle>
			</ParticleSystem>
		
			<ParticleSystem name="SpawnParticle">
				<Emitter>
					<Set name="offset">0, -500</Set>
					<Set name="lifeTime">1</Set>
					<Set name="infParticles">true</Set>
					<Set name="checkParticleNumToEmit">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">respawnParticle</Set>
					<Set name="renderAlignment">CENTER</Set>
					<Set name="blendingMode">ADDITIVE</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>0.5, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 1, 1</KeyFrame>
						<KeyFrame>1, 3, 3</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.4</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="SpawnParticleRabbits">
				<Emitter>
					<Set name="offset">0, -500</Set>
					<Set name="lifeTime">1</Set>
					<Set name="infParticles">true</Set>
					<Set name="checkParticleNumToEmit">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">chestBackgroundSpriteCatsNoAnim</Set>
					<Set name="renderAlignment">CENTER</Set>
					<Set name="blendingMode">ADDITIVE</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>0.5, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 1, 1</KeyFrame>
						<KeyFrame>1, 3, 3</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.4</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="SpawnSparkle">
				<Emitter>
					<Set name="offset">0, -900</Set>
					<Set name="lifeTime">1</Set>
					<Set name="infParticles">true</Set>
					<Set name="checkParticleNumToEmit">true</Set>
					<Set name="particlesPerEmission">24</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">emberSprite</Set>
					<Set name="renderAlignment">UPPER_CENTER</Set>
					<Random name="offset" min="-24, -16" max="24, 16" />
					<Set name="blendingMode">ADDITIVE</Set>
					<Set name="relativeToEmitter">true</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>0.5, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Random name="initialScale" min="1" max="1.5" />
					<Increment name="finalScale" source="initialScale" multiplier="2.5,2.5"/>
					<Set name="interpolateScale">true</Set>
					<Set name="lifeTime">1</Set>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="25,50" />
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		<RenderOptions>
			<Default>
				<Set name="IgnorePunchTypeCheck">true</Set>
				<Set name="HideParticlesOnTransform">true</Set>
				<Set name="HideParticlesOnTheaterSeat">true</Set>
				<Set name="HasDeathParticles">true</Set>
				<Set name="IncludeAllActions">true</Set>
			</Default>
		</RenderOptions>
		<VariableMap>
			<Set name="punchAnimTime">1600</Set>
		</VariableMap>
	</Data>
	<RenderRules>
		<RenderChestItem>
			<SpriteRender name="chestForegroundSprite" blend="PREMULTIPLIED_ALPHA" alignment="DOWN_CENTER" drawShadow="false"/>
			<SpriteRender name="chestForegroundSpriteGlow" blend="PREMULTIPLIED_ALPHA" alignment="DOWN_CENTER" drawShadow="false"/>
		</RenderChestItem>
		<AddClothingParticles>
			<ParticleSystemUpdate name="MistParticles" onState="Motion.Moving" />
			<ParticleSystemUpdate name="EmberLeftParticle" onState="Motion.Moving" />
		</AddClothingParticles>
		<OnRespawned>
			<ParticleSystemUpdate name="SpawnParticle" />
			<ParticleSystemUpdate name="SpawnParticleRabbits" />
			<ParticleSystemUpdate name="SpawnSparkle" />
		</OnRespawned>
		<SwitchOffClothingParticles>
			<ParticleSystemOff name="SpawnParticle" />
			<ParticleSystemOff name="SpawnParticleRabbits" />
			<ParticleSystemOff name="SpawnSparkle" />
		</SwitchOffClothingParticles>
		<RenderInFront value="playerCenter">
			<StopIf>
				<IsZombified>true</IsZombified>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
			</StopIf>
			<ContextUpdate type="SetFlip">
				<Set name="flip">0,0</Set>
			</ContextUpdate>
			<Group onState="IsDying.False">
				<SpriteRender name="chestBackgroundSpriteCats" offset="0,6" blend="PREMULTIPLIED_ALPHA" alignment="DOWN_CENTER" drawShadow="false"/>
			</Group>
		</RenderInFront>
		<RenderBehind value="playerCenter">
			<StopIf>
				<IsZombified>true</IsZombified>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
			</StopIf>
			<Group onState="IsDying.False">
				<ArithmethicOperation LeftHandVariableName="punchAnimTime" RightHandVariableName="1600" OperationType="Set" onState="IsPunching.False" />
				<ArithmethicOperation LeftHandVariableName="punchAnimTime" RightHandVariableName="800" OperationType="Set" onState="IsPunching.True" />
				<SpriteRender name="chestBackgroundSprite" offset="0,6" drawShadow="false" blend="PREMULTIPLIED_ALPHA" alignment="DOWN_CENTER" />
			</Group>
		</RenderBehind>
	</RenderRules>
</ItemRenderer>
