<?xml version="1.0"?>
<ItemRenderer>
	<Data>
		<Sprite name="s_bg" fileName="game/particles_large14.rttex" textureSize="64" frame="10,2" />
		<Sprite name="s_bubble" fileName="game/particles12.rttex" textureSize="32" frame="23,3" />
		<Sprite name="s_fish" fileName="game/particles12.rttex" textureSize="32" frame="20,3" />
		<Sprite name="s_pendant" fileName="game/player_cosmetics3.rttex" textureSize="32" frame="25,29" />
		<VariableMap>
			<Set name="target.pos">0, 0</Set>
			<Set name="target.pos.3f">0, 0, 0</Set>
			<Set name="context.pos">0, 0</Set>
			<Set name="punch.transform">0, 0, 0</Set>
			<Set name="punchFacing">0,0,0</Set>
		</VariableMap>
		<Animations>
			<SpriteCurveAnimation name="a_bg_alpha" isLoop="true" autoPlay="true" sprite="s_bg" animTime="3000">
				<Curve name="alpha">
					<KeyFrame>0.f, 0.3f</KeyFrame>
					<KeyFrame>0.5f, 0.7f</KeyFrame>
					<KeyFrame>1.f, 0.3f</KeyFrame>
				</Curve>
			</SpriteCurveAnimation>
			<SpriteSinPulseAnimation name="a_bg_stretchX" isLoop="true" autoPlay="true" sprite="s_bg" animTime="1000">
				<Parameter name="scale.x">
					<Set name="offset">1</Set>
					<Set name="period">2000</Set>
					<Set name="scale">0.05</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteSinPulseAnimation name="a_bg_stretchY" isLoop="true" autoPlay="true" sprite="s_bg" animTime="1000">
				<Parameter name="scale.y">
					<Set name="offset">1</Set>
					<Set name="period">5000</Set>
					<Set name="scale">0.03</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteSinPulseAnimation name="a_bg_rotate" isLoop="true" autoPlay="true" sprite="s_bg" animTime="1000">
				<Parameter name="rotation">
					<Set name="offset">0</Set>
					<Set name="period">700</Set>
					<Set name="scale">0.2</Set>
				</Parameter>
			</SpriteSinPulseAnimation>
			<SpriteAnimation name="a_fish" sprite="s_fish" animTime="300">
				<Frame>20,3</Frame>
				<Frame>21,3</Frame>
				<Frame>22,3</Frame>
			</SpriteAnimation>
		</Animations>
		<StateMachines>
			<StateMachine name="Punch">
				<States>
					<State name="No" />
					<State name="Yes" />
				</States>
				<Transitions>
					<Transition to="No" from="Yes">
						<Condition>
							<IsAction operatorType="NotEqual">PUNCH</IsAction>
						</Condition>
					</Transition>
					<Transition to="Yes" from="No">
						<Condition>
							<IsAction>PUNCH</IsAction>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
			<StateMachine name="Sit">
				<States>
					<State name="No" />
					<State name="Yes" />
				</States>
				<Transitions>
					<Transition to="No" from="Yes">
						<Condition>
							<IsSitting>false</IsSitting>
						</Condition>
					</Transition>
					<Transition to="Yes" from="No">
						<Condition>
							<IsSitting>true</IsSitting>
						</Condition>
					</Transition>
				</Transitions>
			</StateMachine>
		</StateMachines>
		<ParticleSystems>
			<ParticleSystem name="ps_bubble" updateStage="AddClothingParticles">
				<Emitter>
					<Set name="offset">0, -4</Set>
					<Random name="emissionInterval" min="0.1" max="1.4" />
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_bubble</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="-22, -4" max="22, 4" />
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0.2</KeyFrame>
					</Curve>
					<Set name="lifeTime">2</Set>
					<Curve name="initialVelocity">
						<KeyFrame>0, 0, -30</KeyFrame>
						<KeyFrame>0.25, 10, -30</KeyFrame>
						<KeyFrame>0.5, 0, -30</KeyFrame>
						<KeyFrame>0.75, -5, -30</KeyFrame>
						<KeyFrame>1, 0, -30</KeyFrame>
					</Curve>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_fish_backLR" updateStage="AddClothingParticles" updateState="Punch.No">
				<Emitter>
					<Set name="offset">-32, -5</Set>
					<Set name="offsetFacing">false</Set>
					<Set name="emissionInterval">2.5</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">s_fish</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="0, -32" max="0, 0" />
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.25, 1</KeyFrame>
						<KeyFrame>0.75, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="inSpecificOrder">true</Set>
					<Set name="initalRGB">0.6, 0.7, 0.9</Set>
					<Set name="initialScale">0.8, 0.8</Set>
					<Set name="lifeTime">1.5</Set>
					<Set name="initialVelocity">40, 0</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_fish_backRL" updateStage="AddClothingParticles" updateState="Punch.No">
				<Emitter>
					<Set name="offset">32, -5</Set>
					<Set name="offsetFacing">false</Set>
					<Set name="emissionInterval">2.4</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">s_fish</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="0, -32" max="0, 0" />
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.25, 1</KeyFrame>
						<KeyFrame>0.75, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="inSpecificOrder">true</Set>
					<Set name="initalRGB">0.6, 0.7, 0.9</Set>
					<Set name="initialScale">0.8, 0.8</Set>
					<Set name="lifeTime">1.5</Set>
					<Set name="initialVelocity">-40, 0</Set>
					<Set name="flipX">true</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_fish_frontLR" updateStage="AddClothingParticles" updateState="Punch.No">
				<Emitter>
					<Set name="offset">-32, -5</Set>
					<Set name="offsetFacing">false</Set>
					<Set name="emissionInterval">1.4</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">s_fish</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="0, -32" max="0, 0" />
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.25, 1</KeyFrame>
						<KeyFrame>0.75, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="initialScale">1.2, 1.2</Set>
					<Set name="lifeTime">1.5</Set>
					<Set name="initialVelocity">40, 0</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_fish_frontRL" updateStage="AddClothingParticles" updateState="Punch.No">
				<Emitter>
					<Set name="offset">32, -10</Set>
					<Set name="offsetFacing">false</Set>
					<Set name="emissionInterval">1.9</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">s_fish</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="0, -22" max="0, 10" />
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.25, 1</KeyFrame>
						<KeyFrame>0.75, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="initialScale">1.2, 1.2</Set>
					<Set name="lifeTime">1.5</Set>
					<Set name="initialVelocity">-40, 0</Set>
					<Set name="flipX">true</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_punch_fish_frontRL">
				<Emitter>
					<Set name="offset">20, 0</Set>
					<Set name="offsetFacing">false</Set>
					<Set name="emissionInterval">0.75</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">s_fish</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="0, -16" max="0, 16" />
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.3, 1</KeyFrame>
						<KeyFrame>0.7, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="initialScale">1.2, 1.2</Set>
					<Set name="lifeTime">1</Set>
					<Set name="initialVelocity">-50, 0</Set>
					<Set name="flipX">true</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_punch_fish_frontLR">
				<Emitter>
					<Set name="offset">-20, 2</Set>
					<Set name="offsetFacing">false</Set>
					<Set name="emissionInterval">0.55</Set>
					<Set name="infParticles">true</Set>
					<Set name="infLifeTime">true</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle randomSpriteFrame="true">
					<Set name="sprite">s_fish</Set>
					<Set name="relativeToEmitter">true</Set>
					<Random name="offset" min="0, -14" max="0, 14" />
					<Curve name="initialAlpha">
						<KeyFrame>0, 0</KeyFrame>
						<KeyFrame>0.3, 1</KeyFrame>
						<KeyFrame>0.7, 1</KeyFrame>
						<KeyFrame>1, 0</KeyFrame>
					</Curve>
					<Set name="initialScale">1.2, 1.2</Set>
					<Set name="lifeTime">1</Set>
					<Set name="initialVelocity">50, 0</Set>
				</Particle>
			</ParticleSystem>
			<ParticleSystem name="ps_hit_bubble" updateStage="OnDamagedTile">
				<Emitter>
					<Set name="lifeTime">0</Set>
					<Set name="particlesPerEmission">1</Set>
				</Emitter>
				<Particle>
					<Set name="sprite">s_bubble</Set>
					<Set name="blendingMode">PREMULTIPLIED_ALPHA</Set>
					<Curve name="initialAlpha">
						<KeyFrame>0, 1</KeyFrame>
						<KeyFrame>1, 0.2</KeyFrame>
					</Curve>
					<Set name="lifeTime">1</Set>
					<Random name="offset" min="-16, 16" max="16, 12" />
					<Curve name="initialVelocity">
						<KeyFrame>0, 0, -30</KeyFrame>
						<KeyFrame>0.25, 10, -30</KeyFrame>
						<KeyFrame>0.5, 0, -30</KeyFrame>
						<KeyFrame>0.75, -5, -30</KeyFrame>
						<KeyFrame>1, 0, -30</KeyFrame>
					</Curve>
				</Particle>
			</ParticleSystem>
		</ParticleSystems>
		<RenderOptions>
			<Default>
				<Set name="IgnorePunchTypeCheck">true</Set>
				<Set name="IgnoreDefaultDamagedTileEffect">true</Set>
				<Set name="IgnoreDefaultDestroyedTileEffect">true</Set>
				<Set name="IgnorePunchTypeDamagedTileCheck">true</Set>
			</Default>
		</RenderOptions>
	</Data>
	<RenderRules>
		<AddClothingParticles>
			<StopIf>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
			</StopIf>
			<Group>
				<ArithmethicOperation LeftHandVariableName="punch.transform" RightHandVariableName="target.pos" OperationType="Set" />
				<ArithmethicOperation LeftHandVariableName="punch.transform" RightHandVariableName="context.pos" OperationType="Substract" />
				<Group onState="Sit.No">
					<ArithmethicOperation LeftHandVariableName="punch.transform" RightHandVariableName="punchFacing" OperationType="Multiply" />
				</Group>
				<Translate>punch.transform</Translate>
				<ParticleSystemUpdate name="ps_punch_fish_frontRL" onState="Punch.Yes"/>
				<ParticleSystemUpdate name="ps_punch_fish_frontLR" onState="Punch.Yes"/>
			</Group>
		</AddClothingParticles>
		<RenderChestItem>
			<SpriteRender name="s_pendant" alignment="DOWN_CENTER" />
		</RenderChestItem>
		<RenderBehind value="playerCenter">
			<StopIf>
				<IsWearing slot="SHIRT">ITEM_ID_TACTICAL_STEALTH_DEVICE</IsWearing>
				<IsZombified>true</IsZombified>
				<IsSleepingOnaBed>true</IsSleepingOnaBed>
			</StopIf>
			<Group>
				<ContextUpdate type="SetFlip">
					<Set name="flip">0,0</Set>
				</ContextUpdate>
				<SpriteRender name="s_bg" alignment="CENTER" drawShadow="false" offset="0,-32" blend="PREMULTIPLIED_ALPHAd" />
			</Group>
			<ParticleSystemRender name="ps_fish_backRL" />
			<ParticleSystemRender name="ps_fish_backLR" />
		</RenderBehind>
	</RenderRules>
</ItemRenderer>
