<?xml version="1.0" encoding="utf-8"?>
<ItemRenderer item="ITEM_ID_JADE_DAJIO_STAFF">
	<Data>
		<StateMachines>
			<StateMachine name="playerState">
				<States>
					<State name="Idle"/>
					<State name="Punch"/>
					<State name="ZombiePunch"/>
				</States>
				<Transitions>
					<Transition from="ZombiePunch|Punch" to="Idle" >
						<Condition>
							<IsAction operatorType="NotEqual">PUNCH</IsAction>
						</Condition>
					</Transition>
					<Transition from="ZombiePunch|Idle" to="Punch">
						<Condition type="and">
							<IsAction>PUNCH</IsAction>
							<IsZombified>false</IsZombified>
						</Condition>
					</Transition>
					<Transition from="Idle|Punch" to="ZombiePunch">
						<Condition type="and">
							<IsAction>PUNCH</IsAction>
							<IsZombified>true</IsZombified>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>

		<Sprite name="Staff_Sprite" fileName="game/particles_large12.rttex" textureSize="64" frame="15,1"/>
		<Sprite name="Staff_Sprite_Idle" fileName="game/particles_large12.rttex" textureSize="64" frame="15,1"/>
		<Sprite name="Strap" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="27,13"/>
		<Sprite name="BackPack" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="28,13"/>
		<Sprite name="sword_slash_Sprite" fileName="game/particles11.rttex" textureSize="32" frame="31,18"/>
		<Sprite name="hit_Sprite" fileName="game/particles11.rttex" textureSize="32" frame="31,17"/>
		<Sprite name="smoke_sprite" fileName="game/particles11.rttex" textureSize="32" frame="9,17"/>

		<Animations>
			<SpriteCurveAnimation name="staff_rotation_anim" isLoop="true" playOnState="playerState.Punch"  useFacing="RIGHT" sprite="Staff_Sprite" animTime="500">
				<Curve name="rotation">
					<KeyFrame>0, 0</KeyFrame>
					<KeyFrame>1, 360</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
			<SpriteCurveAnimation name="staff_rotation_anim_left" isLoop="true" playOnState="playerState.Punch"  useFacing="LEFT" sprite="Staff_Sprite" animTime="500">
				<Curve name="rotation">
					<KeyFrame>0, 0</KeyFrame>
					<KeyFrame>1, -360</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
			<SpriteCurveAnimation name="staff_idle_anim" isLoop="true" playOnState="playerState.Idle|playerState.ZombiePunch" useFacing="RIGHT" sprite="Staff_Sprite_Idle" animTime="100">
				<Curve name="rotation">
					<KeyFrame>0, 20</KeyFrame>
					<KeyFrame>1, 20</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
			<SpriteCurveAnimation name="staff_idle_anim_left" isLoop="true" playOnState="playerState.Idle|playerState.ZombiePunch" useFacing="LEFT" sprite="Staff_Sprite_Idle" animTime="100">
				<Curve name="rotation">
					<KeyFrame>0, -20</KeyFrame>
					<KeyFrame>1, -20</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
			<SpriteAnimation name="staff_punch_anim" autoPlay="false" sprite="Staff_Sprite" playOnState="playerState.Punch" animTime="50">
				<Frame>15,0</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="staff_idle" autoPlay="false" sprite="Staff_Sprite_Idle" playOnState="playerState.Idle" animTime="50">
				<Frame>15,1</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="smoke_anim" autoPlay="false" sprite="smoke_sprite" animTime="500">
				<Frame>9,19</Frame>
				<Frame>10,19</Frame>
				<Frame>11,19</Frame>
				<Frame>12,19</Frame>
				<Frame>13,19</Frame>
				<Frame>14,19</Frame>
				<Frame>15,19</Frame>
				<Frame>16,19</Frame>
				<Frame>17,19</Frame>
				<Frame>18,19</Frame>
			</SpriteAnimation>
		</Animations>
		<ParticleSystems>
			<ParticleSystem name="slash_particle">
				<Emitter>
					<Set name="offset">0,-16</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">sword_slash_Sprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="lifeTime">0.4</Set>
					<Set name="interpolateScale">true</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Set name="initialScale">0.3,0.3</Set>
					<Set name="finalScale">2,2.5</Set>
					<Set name="interpolateVelocity">true</Set>
					<VectorTo name="initialVelocity" source="targetPos" duration="lifeTime" x="1" angle="0"/>
					<VectorTo name="finalVelocity" source="targetPos" duration="lifeTime" x="1" angle="0"/>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="hit_particle">
				<Emitter>
					<Set name="offset">0,0</Set>
					<Set name="lifeTime">0</Set>
					<Random name="particlesPerEmission" min="6" max="8"/>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">hit_Sprite</Set>
					<Set name="blendingMode">ADDITIVE</Set>
					<Set name="isBackgroundParticle">false</Set>
					<Set name="lifeTime">0.6</Set>
					<Set name="rotateWithVelocity">true</Set>
					<Set name="finalRotationRate">5</Set>
					<Set name="initialAlpha">1</Set>
					<Set name="finalAlpha">0</Set>
					<Set name="interpolateAlpha">true</Set>
					<Set name="interpolateScale">true</Set>
					<Set name="initialScale">1,1</Set>
					<Random name="finalScale" min="0.2" max="0.5"/>
					<Set name="interpolateAngle">true</Set>
					<Random name="initialAngle" min="-360" max="360"/>
					<Random name="finalAngle" min="-360" max="360"/>
					<RandomRadial name="initialVelocity" angleRange="0,360" radiusRange="50,80"/>
					<Random name="posOffset" min="0, 0" max="16,16"/>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="smoke_particle">
				<Emitter>
					<Set name="particlesPerEmission">1</Set>
					<Set name="particlesToEmit">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">smoke_sprite</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="isBackgroundParticle">false</Set>
					<Set name="lifeTime">0.5</Set>
					<Set name="initialScale">1,1</Set>
					<Set name="finalScale">1.3,1.3</Set>
					<Set name="interpolateScale">true</Set>
					<Set name="interpolateAlpha">true</Set>
					<Set name="initialAlpha">1</Set>
					<Set name="finalAlpha">0</Set>
					<Random name="initialAngle" min="0" max="360"/>
					<Set name="initialRotationRate">360</Set>
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		
		<RenderOptions>
			<Default>
				<Set name="DefaultRenderMannequinHandItem">false</Set>
				<Set name="HideParticlesOnTransform">false</Set>
				<Set name="IgnoreDefaultDamagedTileEffect">true</Set>
				<Set name="IgnoreDefaultDestroyedTileEffect">true</Set>
				<Set name="PunchSoundOverride">HAND</Set>
				<Set name="RenderFrontArmInfected">true</Set>
				<Set name="RenderBackArmInfected">true</Set>
			</Default>
		</RenderOptions>
	</Data>

	<RenderRules>
		<Update>
			<StopIf>
				<IsZombified>true</IsZombified>
			</StopIf>
			<AvatarTransform class="ArmAngle" onAction="PUNCH">
				<Set name="armName">arm2Angle</Set>
				<Set name="armAngle">1280</Set>
				<Set name="isAdditive">true</Set>
			</AvatarTransform>
			<StopIf type="or">
				<IsZombified>true</IsZombified>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
				<IsWearing slot="SHOES">ITEM_ID_STAR_FIGHTER_REBEL_RAIDER</IsWearing>
				<IsWearing slot="SHOES">ITEM_ID_STAR_FIGHTER_IMPERIAL_ENFORCER</IsWearing>
			</StopIf>
			<AvatarTransform class="ArmAngle" onAction="PUNCH">
				<Set name="armName">arm2Angle</Set>
				<Set name="armAngle">-60</Set>
			</AvatarTransform>
		</Update>
		<RenderHandItem>
			<StopIf>
				<IsZombified>true</IsZombified>
			</StopIf>
			<SpriteRender name="Staff_Sprite" offset="-0.1,8.3" blend="PREMULTIPLIED_ALPHA" rotateOffset="true" onState="playerState.Punch" />
		</RenderHandItem>
		<RenderFrontArm>
			<SpriteRender name="Strap" alignment="DOWN_CENTER" useFixedRotation="true" fixedRotation="0"/>
		</RenderFrontArm>
		<RenderInFront>
		</RenderInFront>
		<OnPunchUpdate>
			<AvatarTransform class="Face">
				<Set name="face">MAD</Set>
			</AvatarTransform>
		</OnPunchUpdate>
		<RenderBackArm value="playerCenter">
			<StopIf type="or">
				<IsSleepingOnaBed>true</IsSleepingOnaBed>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
				<IsWearing slot="SHOES">ITEM_ID_STAR_FIGHTER_REBEL_RAIDER</IsWearing>
				<IsWearing slot="SHOES">ITEM_ID_STAR_FIGHTER_IMPERIAL_ENFORCER</IsWearing>
			</StopIf>
			<SpriteRender name="Staff_Sprite_Idle" offset="0, -12" onState="playerState.Idle|playerState.ZombiePunch" useFixedRotation="true" fixedRotation="0"/>
			<SpriteRender name="BackPack" offset="0.5, -16" onAction="JUMP|JUMPSTART|FALL|IDLE|WALK|PUNCH|SWIM" useFixedRotation="true" fixedRotation="0"/>
		</RenderBackArm>
		<OnPunchStart>
			<ParticleSystemUpdate name="slash_particle"/>
		</OnPunchStart>
		<OnDamagedTile>
			<ParticleSystemUpdate name="smoke_particle"/>
			<ParticleSystemUpdate name="hit_particle"/>
		</OnDamagedTile>
		<OnDestroyedTile>
			<ParticleSystemUpdate name="smoke_particle"/>
		</OnDestroyedTile>
		<SwitchOffClothingParticles>
			<ParticleSystemOff name="slash_particle"/>
			<ParticleSystemOff name="hit_particle"/>
			<ParticleSystemOff name="smoke_particle"/>
		</SwitchOffClothingParticles>
	</RenderRules>
</ItemRenderer>