<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="s_equip" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="22,29" />
		<Sprite name="s_muzzleFlash" fileName="game/particles12.rttex" textureSize="32" frame="31,2" />
		<Sprite name="s_pirate" fileName="game/particles_large15.rttex" textureSize="64" frame="11,6" />
		<Sprite name="s_punch" fileName="game/particles12.rttex" textureSize="32" frame="30,2" />
		<VariableMap>
			<Set name="muzzleFlipX">false</Set>
		</VariableMap>
		<Animations>
			<SpriteSinPulseAnimation name="a_pirateIdleStretchX" playOnState="Action1.None" sprite="s_pirate">
				<Parameter name="scale.x">
					<Set name="offset">1</Set>
					<Set name="period">3000</Set>
					<Set name="scale">0.05</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteSinPulseAnimation name="a_pirateIdleStretchY" playOnState="Action1.None" sprite="s_pirate">
				<Parameter name="scale.y">
					<Set name="offset">1</Set>
					<Set name="period">2500</Set>
					<Set name="scale">0.05</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteSinPulseAnimation name="a_piratePunchStretchX" playOnState="Action1.Punch" sprite="s_pirate">
				<Parameter name="scale.x">
					<Set name="offset">1</Set>
					<Set name="period">3000</Set>
					<Set name="scale">0</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteSinPulseAnimation name="a_piratePunchStretchY" playOnState="Action1.Punch" sprite="s_pirate">
				<Parameter name="scale.y">
					<Set name="offset">1</Set>
					<Set name="period">2500</Set>
					<Set name="scale">0</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteAnimation name="s_pirateIdle" sprite="s_pirate" animTime="100" isLoop="true" playOnState="Action1.None">
				<Frame>11,6</Frame>
			</SpriteAnimation>
			<SpriteAnimation name="s_piratePunch" sprite="s_pirate" animTime="200" isLoop="true" playOnState="Action1.Punch">
				<Frame>12,6</Frame>
				<Frame>13,6</Frame>
				<Frame>14,6</Frame>
				<Frame>15,6</Frame>
			</SpriteAnimation>
		</Animations>
		<StateMachines>
			<StateMachine name="Action1">
				<States>
					<State name="None" />
					<State name="Punch" />
				</States>
				<Transitions>
					<Transition to="None" from="Punch">
						<Condition>
							<IsAction operatorType="NotEqual">PUNCH</IsAction>
						</Condition>
					</Transition>
					<Transition to="Punch" from="None">
						<Condition>
							<IsAction>PUNCH</IsAction>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
			<StateMachine name="Facing">
				<States>
					<State name="Left" />
					<State name="Right" />
				</States>
				<Transitions>
					<Transition to="Left" from="Right">
						<Condition>
							<IsFacingLeft>true</IsFacingLeft>
						</Condition>
					</Transition>
					<Transition to="Right" from="Left">
						<Condition type="or">
							<IsVariableBool name="isMannequin">true</IsVariableBool>
							<IsFacingLeft>false</IsFacingLeft>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<RenderOptions>
			<Default>
				<Set name="IncludeAllActions">true</Set>
				<Set name="PlayDefaultPunchAudio">true</Set>
				<Set name="DefaultPunchSound">audio/shotgun.wav</Set>
				<Set name="IsToRenderParticlesWhenShrunken">true</Set>
			</Default>
		</RenderOptions>
		<ParticleSystems>
			<ParticleSystem name="ps_muzzleFlash" updateState="Action1.Punch" renderStage="RenderBehind">
				<Emitter>
					<Set name="offset">27, -32</Set>
					<Set name="lifeTime">0.2</Set>
					<Set name="emissionInterval">0.05</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">s_muzzleFlash</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="inSpecificOrder">true</Set>
					<Set name="lifeTime">0.15</Set>
					<Set name="initialVelocity">0, -100</Set>
					<Set name="flipX" source="muzzleFlipX" />
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_punch" updateStage="AddClothingParticles" updateState="Action1.Punch" renderStage="RenderBehind">
				<Emitter>
					<Set name="offset">12, -37</Set>
					<Set name="lifeTime">0.2</Set>
					<Set name="emissionInterval">0.05</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">s_punch</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Set name="inSpecificOrder">true</Set>
					<Set name="lifeTime">0.4</Set>
					<VectorTo name="initialVelocity" source="targetPos" offset="targetPosOffset" duration="lifeTime" x="1" angle="0" />
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
	</Data>
	<RenderRules>
		<AddClothingParticles>
			<Group onState="Action1.Punch">
				<ArithmethicOperation LeftHandVariableName="muzzleFlipX" RightHandVariableName="false" OperationType="Set" onState="Facing.Right" />
				<ArithmethicOperation LeftHandVariableName="muzzleFlipX" RightHandVariableName="true" OperationType="Set" onState="Facing.Left" />
				<ParticleSystemUpdate name="ps_muzzleFlash" />
				<ParticleSystemUpdate name="ps_punch" />
			</Group>
		</AddClothingParticles>
		<RenderBehind value="playerCenter">
			<StopIf>
				<IsZombified>true</IsZombified>
				<IsSleepingOnaBed>true</IsSleepingOnaBed>
			</StopIf>
			<Translate>-16,-46,0</Translate>
			<SpriteRender name="s_pirate" alignment="CENTER" blend="ADDITIVE" drawShadow="false" />
		</RenderBehind>
		<RenderChestItem>
			<SpriteRender name="s_equip" offset="0,0" alignment="DOWN_CENTER" />
		</RenderChestItem>
		<OnPunchUpdate>
			<AvatarTransform class="Face">
				<Set name="face">MAD</Set>
			</AvatarTransform>
			<AvatarTransform class="ArmAngle">
				<Set name="armName">arm1Angle</Set>
				<Set name="pointTowardsPunchTarget">true</Set>
			</AvatarTransform>
			<AvatarTransform class="ArmAngle">
				<Set name="armName">arm2Angle</Set>
				<Set name="armAngle">20</Set>
			</AvatarTransform>
		</OnPunchUpdate>
	</RenderRules>
</ItemRenderer>
