<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="s_Punch" fileName="game/particles11.rttex" textureSize="32" frame="9,26" />
		<Sprite name="s_Turntable" fileName="game/particles_large13.rttex" textureSize="64" frame="6,15" />
		<Animations>
			<SpriteCurveAnimation name="a_TurntablePos1" isLoop="true" autoPlay="true" sprite="s_Turntable" animTime="4000">
				<Curve name="pos">
					<KeyFrame>0, 0, 0</KeyFrame>
					<KeyFrame>0.2856, 0, 1</KeyFrame>
					<KeyFrame>0.7854, 0, -1</KeyFrame>
					<KeyFrame>1, 0, 0</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
			<SpriteAnimation name="a_Turntable" sprite="s_Turntable" isLoop="true" playOnState="Motion.Idle">
				<Frame>6,15</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="a_TurntablePulse" sprite="s_Turntable" animTime="400" isLoop="true" playOnState="Motion.Dance|Motion.Punch">
				<Frame>6,15</Frame>
				<Frame>7,15</Frame>
				<Frame>8,15</Frame>
				<Frame>9,15</Frame>
			</SpriteAnimation>
		</Animations>
		<StateMachines>
			<StateMachine name="Motion">
				<States>
					<State name="Idle" />
					<State name="Punch" />
					<State name="Dance" />
					<State name="Sleep" />
				</States>
				<Transitions>
					<Transition to="Idle" from="Punch|Dance|Sleep">
						<Condition type="and">
							<IsAction operatorType="NotEqual">PUNCH</IsAction>
							<IsDancing>false</IsDancing>
							<IsAction operatorType="NotEqual">SLEEP</IsAction>
						</Condition>
					</Transition>
					<Transition to="Punch" from="Idle|Dance|Sleep">
						<Condition>
							<IsAction>PUNCH</IsAction>
						</Condition>
					</Transition>
					<Transition to="Dance" from="Idle|Punch|Sleep">
						<Condition>
							<IsDancing>true</IsDancing>
						</Condition>
					</Transition>
					<Transition to="Sleep" from="Idle|Punch|Dance">
						<Condition>
							<IsAction>SLEEP</IsAction>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<RenderOptions>
			<Default>
				<Set name="IncludeAllActions">true</Set>
				<Set name="PlayDefaultPunchAudio">false</Set>
			</Default>
		</RenderOptions>
		<ParticleSystems>
			<ParticleSystem name="ps_Dance">
				<Emitter>
					<Set name="offset">4, -6</Set>
					<Set name="emissionInterval">0.15</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</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>
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.75, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 0.5, 0.5</KeyFrame>
						<KeyFrame>1, 1, 1</KeyFrame>
					</Curve>
					<Set name="lifeTime">1</Set>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="30,100" />
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_Punch" updateStage="OnPunchStart">
				<Emitter>
					<Set name="offset">4, -6</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>
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.25, 1</KeyFrame>
						<KeyFrame>0.75, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Curve name="initialScale">
						<KeyFrame>0, 0.5, 0.5</KeyFrame>
						<KeyFrame>1, 1, 1</KeyFrame>
					</Curve>
					<Set name="lifeTime">0.6</Set>
					<VectorTo name="initialVelocity" source="targetPos" offset="targetPosOffset" duration="lifeTime" x="1" angle="0" />
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
	</Data>
	<RenderRules>
		<Update>
			<AvatarTransform class="Action" onState="Motion.Sleep|Motion.Idle|Motion.Punch">
				<Set name="action">CLEAR</Set>
			</AvatarTransform>
			<StopIf>
				<IsSleepingOnaBed>true</IsSleepingOnaBed>
				<IsZombified>true</IsZombified>
			</StopIf>
			<AvatarTransform class="Action" onState="Motion.Dance">
				<Set name="action">NOD</Set>
			</AvatarTransform>
			<AvatarTransform class="ArmAngle" onState="Motion.Dance|Motion.Punch">
				<Set name="armName">arm1Angle</Set>
				<Set name="armAngle">-80</Set>
				<Set name="pulseArmScale">10</Set>
				<Set name="pulseArmRate">500</Set>
			</AvatarTransform>
			<AvatarTransform class="ArmAngle" onState="Motion.Dance|Motion.Punch">
				<Set name="armName">arm2Angle</Set>
				<Set name="armAngle">180</Set>
				<Set name="pulseArmScale">10</Set>
				<Set name="pulseArmRate">500</Set>
			</AvatarTransform>
		</Update>
		<SwitchOffClothingParticles>
			<AvatarTransform class="Action">
				<Set name="action">CLEAR</Set>
			</AvatarTransform>
		</SwitchOffClothingParticles>
		<AddClothingParticles>
			<ParticleSystemUpdate name="ps_Dance" onState="Motion.Dance"/>
		</AddClothingParticles>
		<RenderInFront value="playerCenter">
			<MusicSource onState="Motion.Dance|Motion.Punch">
				<Set name="ItemID">ITEM_ID_MUSICAL_MAESTRO</Set>
				<Set name="FadeOutTimeMs">500</Set>
			</MusicSource>
			<StopIf>
				<IsSleepingOnaBed>true</IsSleepingOnaBed>
				<IsZombified>true</IsZombified>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
				<IsSitting ItemID="ITEM_ID_THEATER_SEAT">true</IsSitting>
				<IsWearing slot="SHOES">ITEM_ID_STAR_FIGHTER_REBEL_RAIDER</IsWearing>
				<IsWearing slot="SHOES">ITEM_ID_STAR_FIGHTER_IMPERIAL_ENFORCER</IsWearing>
			</StopIf>
			<SpriteRender name="s_Turntable" offset="0,0" blend="PREMULTIPLIED_ALPHA" alignment="DOWN_CENTER" />
		</RenderInFront>
		<OnPunchUpdate>
			<StopIf>
				<IsSleepingOnaBed>true</IsSleepingOnaBed>
				<IsZombified>true</IsZombified>
			</StopIf>
			<AvatarTransform class="Emotion">
				<Set name="emotion">ECSTATIC</Set>
			</AvatarTransform>
		</OnPunchUpdate>
	</RenderRules>
</ItemRenderer>
