Version = 1.8.2.25321;
CParticleEffect	$LOCAL$/Resource
{
	EditorInfosPosition = int2(73, 52);
	OnSpawn = "$LOCAL$/Spawner";
	CustomAttributes = "$LOCAL$/_GlobalAttributes";
	Autostart = true;
}
CActionFactoryParticleSpawnerBase	$LOCAL$/Soul_parentFunction
{
	EditorInfosPosition = int2(-288, -61);
	EditorInfosIsBlockMinimized = 0;
	Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	SpawnCount = 2.0000000e+001;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_AE135B2A
{
	EditorInfosPosition = int2(-392, -44);
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_D6E78A1F",
		"$LOCAL$/CParticleFieldDeclaration_B56DC0B6",
		"$LOCAL$/CParticleFieldDeclaration_D09072B1",
		"$LOCAL$/CParticleFieldDeclaration_98B70D40",
		"$LOCAL$/CParticleFieldDeclaration_B18A0AB9",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
	States = 
	{
		"$LOCAL$/CParticleState_3AF8190E",
	};
}
CActionFactoryWithChilds	$LOCAL$/Spawner
{
	EditorInfosPosition = int2(-162, -81);
	ChildList = 
	{
		"$LOCAL$/Soul_parentFunction",
		"$LOCAL$/Others",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_D09072B1
{
	FieldName = "RandPos";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
	EditorInfosPosition = int2(-508, 22);
	Expression = "function void	Eval()
{
	Life = 1.0;
	Time = rand(0, 100);
	Inverse = select(-1, 1, ninja < 0.5);
	RandPos = rand(0.5, 1);

    // We change the Position to get a better interpolation beetween particles in the trail	
	float reTime = 5 * scene.Time + Time;
	Position = float3(sin(reTime) * RandPos, 0, Inverse * cos(reTime) * RandPos);

    // Those fields will be use by the trail,
    // so all particles in the trail will have the same value
	TextID = rand(0, 4);
	DarkLight = ninja;
}
";
}
CParticleState	$LOCAL$/CParticleState_3AF8190E
{
	EditorInfosPosition = int2(-508, 65);
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/CParticleEvolver_Localspace_1F6B3A88",
		"$LOCAL$/Trail",
	};
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_1
{
	ChildList = 
	{
		"$LOCAL$/Script_1",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_7D062D7B
{
	FieldName = "Axis";
	FieldType = float3;
	TransformFilter = rotate;
}
CParticleAttributeList	$LOCAL$/_GlobalAttributes
{
	EditorInfosPosition = int2(-599, -20);
	AttributeList = 
	{
		"$LOCAL$/CParticleAttributeDeclaration_70A84C5A",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_76B90C56
{
	FieldName = "ColorD";
	FieldType = float4;
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_F784B370
{
	FieldName = "DarkLight";
}
CParticleAttributeDeclaration	$LOCAL$/CParticleAttributeDeclaration_70A84C5A
{
	AttributeName = "RGB";
	AttributeType = float3;
	DefaultValueF4 = float4(2.5000000e-001, 1.0000000e+000, 5.0000000e-001, 0.0000000e+000);
	HasMin = true;
	HasMax = true;
	MaxValueF4 = float4(1.0000000e+000, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
	MaxValueI4 = int4(10, 10, 10, 10);
}
CParticleEvolver_Script	$LOCAL$/CParticleEvolver_Script_5FC3B145
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_34F0D6EC";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_34F0D6EC
{
	Expression = "function void	Eval()
{
	float move = 1 - LifeRatio * 0.5;
	float reTime = scene.Time + Time;
	
	Position = RandPos * float3(sin(5 * reTime) * move, LifeRatio * 2 , Inverse * cos(5 * reTime) * move);
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_D6E78A1F
{
	FieldName = "Time";
}
CParticleEvolver_Spawner	$LOCAL$/Trail
{
	SpawnInterval = 2.0000000e-001;
	UpAxisField = "Position";
	LocalSpaceSpawn = true;
	Descriptor = "$LOCAL$/CParticleDescriptor_CF42AB20";
}
CParticleState	$LOCAL$/CParticleState_2DA4F7A9
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/CParticleEvolver_Localspace_8AE5A7EB",
		"$LOCAL$/CParticleEvolver_Script_0DD7066D",
	};
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_CF42AB20
{
	Renderer = "$LOCAL$/CParticleRenderer_Ribbon_B41DBF53";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_3F8EEF55",
		"$LOCAL$/CParticleFieldDeclaration_4AE3D712",
		"$LOCAL$/CParticleFieldDeclaration_48B81503",
		"$LOCAL$/CParticleFieldDeclaration_21DBF407",
		"$LOCAL$/CParticleFieldDeclaration_7D062D7B",
		"$LOCAL$/CParticleFieldDeclaration_F784B370",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_3A9B1863";
	States = 
	{
		"$LOCAL$/CParticleState_2DA4F7A9",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_3A9B1863
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 0.15;
	TextureID = parent.TextID;
	Time = spawner.LifeRatio;
	DarkLight = parent.DarkLight;
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_3F8EEF55
{
	FieldName = "Size";
}
CParticleRenderer_Ribbon	$LOCAL$/CParticleRenderer_Ribbon_B41DBF53
{
	BillboardingMaterial = AlphaBlend_Soft;
	Quality = CorrectDeformation;
	Diffuse = "Textures/Fx/Branch_01.png";
	AtlasDefinition = "Textures/Fx/AtlasC4.pkat";
	RotateTexture = true;
	TextureIDField = "TextureID";
	TextureUField = "LifeRatio";
	BillboardMode = NormalAxisAligned;
	AxisField = "Axis";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_4AE3D712
{
	FieldName = "Color";
	FieldType = float4;
}
CActionFactoryWithChilds	$LOCAL$/Others
{
	ChildList = 
	{
		"$LOCAL$/SmokeUp",
		"$LOCAL$/Ground",
		"$LOCAL$/Glow",
	};
}
CActionFactoryParticleSpawnerBase	$LOCAL$/SmokeUp
{
	EditorInfosIsBlockMinimized = 0;
	Descriptor = "$LOCAL$/CParticleDescriptor_D9B5C557";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	SpawnCount = 1.0000000e+002;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_D9B5C557
{
	Renderer = "$LOCAL$/CParticleRenderer_Billboard_FC3E6321";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_2DD9A86C",
		"$LOCAL$/CParticleFieldDeclaration_6EC6394E",
	};
	Samplers = 
	{
		"$LOCAL$/CParticleSamplerDoubleCurve_FE2FF99F",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_62ED9366";
	States = 
	{
		"$LOCAL$/CParticleState_80F23FF8",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_62ED9366
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 0.25;
	Position = vrand().x0z;
	TextureID = rand(0, 4);
	Random = ninja;
	Rotation = rand(-pi, pi);
}
";
}
CParticleRenderer_Billboard	$LOCAL$/CParticleRenderer_Billboard_FC3E6321
{
	BillboardingMaterial = AlphaBlend_Additive_Soft;
	Diffuse = "Textures/Fx/Smoke_02.png";
	AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
	SoftnessDistance = 4.0000000e+000;
}
CParticleState	$LOCAL$/CParticleState_80F23FF8
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/CParticleEvolver_Localspace_D3971F8A",
		"$LOCAL$/CParticleEvolver_Rotation_FFD78B29",
		"$LOCAL$/CParticleEvolver_Script_F33F4D7A",
	};
}
CParticleEvolver_Physics	$LOCAL$/CParticleEvolver_Physics_7E7D621B
{
}
CParticleEvolver_Script	$LOCAL$/CParticleEvolver_Script_F33F4D7A
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_38BADCC5";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_38BADCC5
{
	Expression = "function void	Eval()
{
	Velocity = float3(0, 2*LifeRatio, 0);
	Color = float4(0, 0, 0, Opacity.sample(LifeRatio, Random));
	RotationSpeed = cross(Velocity * 100, float3(0, -1, 0));
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_2DD9A86C
{
	FieldName = "Color";
	FieldType = float4;
}
CParticleSamplerDoubleCurve	$LOCAL$/CParticleSamplerDoubleCurve_FE2FF99F
{
	SamplerName = "Opacity";
	Times = 
	{
		0.0000000e+000,
		1.4999999e-001,
		1.0000000e+000,
	};
	FloatValues = 
	{
		0.0000000e+000,
		1.0000000e+000,
		0.0000000e+000,
	};
	FloatTangents = 
	{
		0.0000000e+000,
		1.0899959e+000,
		0.0000000e+000,
		0.0000000e+000,
		-3.0673034e+000,
		0.0000000e+000,
	};
	Times1 = 
	{
		0.0000000e+000,
		2.9999998e-001,
		1.0000000e+000,
	};
	FloatValues1 = 
	{
		0.0000000e+000,
		7.5000000e-001,
		0.0000000e+000,
	};
	FloatTangents1 = 
	{
		0.0000000e+000,
		0.0000000e+000,
		0.0000000e+000,
		0.0000000e+000,
		0.0000000e+000,
		0.0000000e+000,
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_6EC6394E
{
	FieldName = "Random";
}
CParticleEvolver_Rotation	$LOCAL$/CParticleEvolver_Rotation_FFD78B29
{
	RotationMode = Axial;
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_B18A0AB9
{
	FieldName = "DarkLight";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_98B70D40
{
	FieldName = "TextID";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_48B81503
{
	FieldName = "TextureID";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_21DBF407
{
	FieldName = "Time";
}
CParticleEvolver_Script	$LOCAL$/CParticleEvolver_Script_0DD7066D
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_FB36BF34";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_FB36BF34
{
	Expression = "function void	Eval()
{
	Color=float4(pow(sin(Time*3),4)).111w*select(float4(0,0,0,1),RGB.xyz1*float4(20).xyz1,DarkLight<0.25);
	Axis=Position;
}
";
}
CParticleEvolver_Localspace	$LOCAL$/CParticleEvolver_Localspace_8AE5A7EB
{
}
CParticleEvolver_Localspace	$LOCAL$/CParticleEvolver_Localspace_D3971F8A
{
	ChildList = 
	{
		"$LOCAL$/CParticleEvolver_Physics_7E7D621B",
	};
}
CParticleEvolver_Localspace	$LOCAL$/CParticleEvolver_Localspace_1F6B3A88
{
	ChildList = 
	{
		"$LOCAL$/CParticleEvolver_Script_5FC3B145",
	};
}
CActionFactoryParticleSpawnerBase	$LOCAL$/Ground
{
	EditorInfosIsBlockMinimized = 0;
	Descriptor = "$LOCAL$/CParticleDescriptor_F3969EF3";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	SpawnCount = 8.0000000e+000;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_F3969EF3
{
	Renderer = "$LOCAL$/CParticleRenderer_Billboard_6A59EBC1";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_6DC29DBB",
		"$LOCAL$/CParticleFieldDeclaration_4C29619A",
		"$LOCAL$/CParticleFieldDeclaration_498BB38C",
		"$LOCAL$/CParticleFieldDeclaration_012B1DE4",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_AC785F32";
	States = 
	{
		"$LOCAL$/CParticleState_B4961664",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_AC785F32
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 3.25;
	Position = float3(0, 0.01, 0);
	Axis = float3(0, 0, 1);
	AxisUp = float3(0, 1, 0);
	TextureID = rand(0,4);
	Rotation = rand(-pi, pi);
}
";
}
CParticleRenderer_Billboard	$LOCAL$/CParticleRenderer_Billboard_6A59EBC1
{
	BillboardingMaterial = AlphaBlend_Additive_Soft;
	Diffuse = "Textures/Fx/Smoke_02.png";
	AtlasDefinition = "Textures/Fx/AtlasX2.pkat";
	BillboardMode = PlanarAlignedQuad;
	AxisField = "Axis";
	Axis2Field = "AxisUp";
	AxisScale = 1.0000000e+000;
	SoftnessDistance = 5.0000000e+001;
}
CParticleState	$LOCAL$/CParticleState_B4961664
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_1",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_B56DC0B6
{
	FieldName = "Inverse";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_6DC29DBB
{
	FieldName = "Axis";
	FieldType = float3;
	TransformFilter = rotate;
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_4C29619A
{
	FieldName = "AxisUp";
	FieldType = float3;
	TransformFilter = rotate;
}
CParticleEvolver_Script	$LOCAL$/Script_1
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_B5C67365";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_B5C67365
{
	Expression = "function void	Eval()
{
	Color = float4(0,0,0,sin(LifeRatio*3));
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_498BB38C
{
	FieldName = "Color";
	FieldType = float4;
}
CActionFactoryParticleSpawnerBase	$LOCAL$/Glow
{
	EditorInfosIsBlockMinimized = 0;
	Descriptor = "$LOCAL$/CParticleDescriptor_1C17533F";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	SpawnCount = 4.0000000e+000;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_1C17533F
{
	Renderer = "$LOCAL$/CParticleRenderer_List_507CDE87";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_62AB6B02",
		"$LOCAL$/CParticleFieldDeclaration_76B90C56",
		"$LOCAL$/CParticleFieldDeclaration_B9936077",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_F1CDC36E";
	States = 
	{
		"$LOCAL$/CParticleState_D7DB55C0",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_F1CDC36E
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 1.5;
	Position = vrand().x1z * 0.2;
	Rotation = rand(-pi, pi);
}
";
}
CParticleRenderer_Billboard	$LOCAL$/CParticleRenderer_Billboard_B7F2CFC9
{
	DrawOrder = -1;
	BillboardingMaterial = AlphaBlend_Additive_Soft;
	Diffuse = "Textures/Fx/Glow_01.png";
}
CParticleState	$LOCAL$/CParticleState_D7DB55C0
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_2",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_62AB6B02
{
	FieldName = "Color";
	FieldType = float4;
}
CParticleEvolver_Script	$LOCAL$/Script_2
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_E84B04ED";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_E84B04ED
{
	Expression = "function void	Eval()
{
		Color = RGB.xyz1 * sin(LifeRatio * 3) * 0.2;
		ColorD = Color * 0.5;
}
";
}
CParticleRenderer_Billboard	$LOCAL$/CParticleRenderer_Billboard_D9235FB4
{
	BillboardingMaterial = AlphaBlend_Distortion;
	Diffuse = "Textures/Fx/Distortion_01.png";
	ColorField = "ColorD";
}
CParticleRenderer_List	$LOCAL$/CParticleRenderer_List_507CDE87
{
	Renderers = 
	{
		"$LOCAL$/CParticleRenderer_Billboard_B7F2CFC9",
		"$LOCAL$/CParticleRenderer_Billboard_D9235FB4",
	};
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_2
{
	ChildList = 
	{
		"$LOCAL$/Script_2",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_012B1DE4
{
	FieldName = "Rotation";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_B9936077
{
	FieldName = "Rotation";
}
