Version = 1.8.2.25321;
CParticleEffect	$LOCAL$/Resource
{
	EditorInfosPosition = int2(73, 52);
	OnSpawn = "$LOCAL$/Spawner";
	CustomAttributes = "$LOCAL$/_GlobalAttributes";
	Autostart = true;
}
CActionFactoryParticleSpawnerBase	$LOCAL$/OutLightning_pCoords
{
	EditorInfosPosition = int2(-288, -61);
	Descriptor = "$LOCAL$/CParticleDescriptor_AE135B2A";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	FluxFactorExpression = "Flux";
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_AE135B2A
{
	EditorInfosPosition = int2(-392, -44);
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_2FAA954C",
		"$LOCAL$/CParticleFieldDeclaration_3DDDE71F",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7";
	States = 
	{
		"$LOCAL$/CParticleState_3AF8190E",
	};
}
CActionFactoryWithChilds	$LOCAL$/Spawner
{
	EditorInfosPosition = int2(-162, -81);
	ChildList = 
	{
		"$LOCAL$/OutLightning_pCoords",
		"$LOCAL$/InLightning_pCoords",
		"$LOCAL$/Others",
	};
}
CParticleAttributeDeclaration	$LOCAL$/CParticleAttributeDeclaration_86407B2A
{
	AttributeName = "RGB";
	AttributeType = float3;
	DefaultValueF4 = float4(2.5000000e-001, 5.0000000e-001, 1.0000000e+000, 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);
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_5566F5E7
{
	EditorInfosPosition = int2(-508, 22);
	Expression = "function void	Eval()
{
	Life = 0.25;

	// Parametric Coordinates can be sample randomly and designate a location on/in a shape
	// Use those pCoords to get back the real position, normals, uvs, etc...
	pCoords = ElectricBall.sampleParametricCoords();

	Position = ElectricBall.samplePosition(pCoords) * 0.9;
	AxisUp = ElectricBall.sampleNormal(pCoords);
}
";
}
CParticleState	$LOCAL$/CParticleState_3AF8190E
{
	EditorInfosPosition = int2(-508, 65);
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_6",
		"$LOCAL$/Trail_1",
	};
}
CParticleEvolver_Script	$LOCAL$/Script_3
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_5F5E20FA";
}
CParticleAttributeList	$LOCAL$/_GlobalAttributes
{
	EditorInfosPosition = int2(-599, -20);
	AttributeList = 
	{
		"$LOCAL$/CParticleAttributeDeclaration_86407B2A",
		"$LOCAL$/CParticleAttributeDeclaration_ACB53148",
	};
	SamplerList = 
	{
		"$LOCAL$/CParticleSamplerShape_B4A3F15A",
	};
}
CParticleSamplerShape	$LOCAL$/CParticleSamplerShape_B4A3F15A
{
	SamplerName = "ElectricBall";
	Shape = "$LOCAL$/CShapeDescriptor_00485E25";
}
CShapeDescriptor	$LOCAL$/CShapeDescriptor_00485E25
{
	ShapeType = SPHERE;
	Radius = 2.0000000e+000;
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_5F5E20FA
{
	Expression = "function void	Eval()
{
	Size = lerp(0, 0.25, 1.0 - LifeRatio);
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_2FAA954C
{
	FieldName = "pCoords";
	FieldType = int3;
}
CParticleEvolver_Rotation	$LOCAL$/Evolver_3
{
}
CParticleEvolver_Script	$LOCAL$/Script_5
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_67DDAB2D";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_3DDDE71F
{
	FieldName = "AxisUp";
	FieldType = float3;
	TransformFilter = rotate;
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_67DDAB2D
{
	Expression = "function void	Eval()
{
	Color = sin(LifeRatio * pi);
}
";
}
CParticleEvolver_Spawner	$LOCAL$/Trail_1
{
	SpawnMetric = Time;
	SpawnInterval = 3.9999999e-002;
	ForwardAxisField = "Axis";
	FirstSpawnDelay = 0.0000000e+000;
	LocalSpaceSpawn = true;
	Descriptor = "$LOCAL$/CParticleDescriptor_FB247043";
}
CParticleState	$LOCAL$/CParticleState_61782B80
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_7",
	};
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_FB247043
{
	Renderer = "$LOCAL$/CParticleRenderer_Ribbon_88AD4B47";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_D3592D0B",
		"$LOCAL$/CParticleFieldDeclaration_66AA7FEC",
	};
	Samplers = 
	{
		"$LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2";
	States = 
	{
		"$LOCAL$/CParticleState_61782B80",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_0256E2C2
{
	Expression = "function void	Eval()
{
	Life = 0.25 * (1 - spawner.LifeRatio);
	Velocity = parent.AxisUp * 10 + vrand();
	Color = float4(spawner.LifeRatio * RGB * 40, 1);
	TextureID = ninja * 16;
}
";
}
CParticleRenderer_Ribbon	$LOCAL$/CParticleRenderer_Ribbon_88AD4B47
{
	BillboardingMaterial = AlphaBlend_Additive_Soft;
	Diffuse = "Textures/Fx/Lightning_05.png";
	AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
	TextureIDField = "TextureID";
}
CParticleEvolver_Physics	$LOCAL$/CParticleEvolver_Physics_BA79E974
{
	Drag = 1.0000000e+000;
	VelocityFieldSampler = "Turb_0";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_66AA7FEC
{
	FieldName = "TextureID";
}
CParticleSamplerProceduralTurbulence	$LOCAL$/CParticleSamplerProceduralTurbulence_D13BE328
{
	SamplerName = "Turb_0";
	Scale = 1.5000000e+000;
	Strength = 5.0000000e+001;
	TimeScale = 1.0000000e+000;
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_D3592D0B
{
	FieldName = "Color";
	FieldType = float4;
}
CActionFactoryParticleSpawnerBase	$LOCAL$/Ball
{
	Descriptor = "$LOCAL$/CParticleDescriptor_207FBFFE";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	SpawnCount = 2.0000000e+000;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_207FBFFE
{
	Renderer = "$LOCAL$/CParticleRenderer_Mesh_31DAE3BD";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_4664FEE6",
		"$LOCAL$/CParticleFieldDeclaration_D58C74A1",
		"$LOCAL$/CParticleFieldDeclaration_1BDA079B",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_26A73F99";
	States = 
	{
		"$LOCAL$/CParticleState_3D5454D3",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_26A73F99
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 2;
	RotationInit = vrand() * pi;
}
";
}
CParticleRenderer_Mesh_Descriptor	$LOCAL$/CParticleRenderer_Mesh_Descriptor_687E3EC4
{
	Mesh = "Meshes/Geosphere.pkmm";
	Material = Additive_NoAlpha;
	MaterialParametersFields = 
	{
		"DiffuseColor = Color",
	};
	Diffuse = "Textures/EnergyBall_02.png";
}
CParticleState	$LOCAL$/CParticleState_3D5454D3
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_1",
	};
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_1
{
	ChildList = 
	{
		"$LOCAL$/Script_2",
	};
}
CParticleRenderer_Mesh	$LOCAL$/CParticleRenderer_Mesh_31DAE3BD
{
	Meshes = 
	{
		"$LOCAL$/CParticleRenderer_Mesh_Descriptor_687E3EC4",
	};
	ScaleField = "Size";
	EulerRotationField = "Rotation";
	RotationAxisAngleField = "";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_4664FEE6
{
	FieldName = "Size";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_D58C74A1
{
	FieldName = "Color";
	FieldType = float4;
}
CParticleEvolver_Script	$LOCAL$/Script_2
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_71E8EF78";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_71E8EF78
{
	Expression = "function void	Eval()
{
	Rotation = RotationInit + float3(0, scene.Time * 10, 0);
	Color = RGB.xyz1 * sin(LifeRatio * pi) * 4;
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_1BDA079B
{
	FieldName = "RotationInit";
	FieldType = float3;
	TransformFilter = full;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_D8E1BE65
{
	EditorInfosPosition = int2(-392, -44);
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_20D35A8C",
		"$LOCAL$/CParticleFieldDeclaration_1694863F",
	};
	Samplers = 
	{
		"$LOCAL$/CParticleSamplerProceduralTurbulence_7110CCC0",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_30AD0A83";
	States = 
	{
		"$LOCAL$/CParticleState_01226A02",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_20D35A8C
{
	FieldName = "pCoords";
	FieldType = int3;
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_1694863F
{
	FieldName = "AxisUp";
	FieldType = float3;
	TransformFilter = rotate;
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_F2B14DAF
{
	FieldName = "AxisUp";
	FieldType = float3;
	TransformFilter = rotate;
}
CActionFactoryWithChilds	$LOCAL$/Others
{
	ChildList = 
	{
		"$LOCAL$/Ball",
		"$LOCAL$/Glow",
		"$LOCAL$/Disto",
	};
}
CParticleSamplerProceduralTurbulence	$LOCAL$/CParticleSamplerProceduralTurbulence_7110CCC0
{
	SamplerName = "Turb_0";
	Scale = 2.0000000e+000;
	Strength = 1.0000000e+002;
	TimeScale = 1.0000000e+000;
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_30AD0A83
{
	EditorInfosPosition = int2(-508, 22);
	Expression = "function void	Eval()
{
	Life = 0.25;
	pCoords = ElectricBall.sampleParametricCoords();
	Position = ElectricBall.samplePosition(pCoords);
}
";
}
CParticleState	$LOCAL$/CParticleState_01226A02
{
	EditorInfosPosition = int2(-508, 65);
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_4",
		"$LOCAL$/Trail_2",
	};
}
CParticleEvolver_Script	$LOCAL$/CParticleEvolver_Script_0F7E6FED
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_1C55A6B4";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_1C55A6B4
{
	Expression = "function void	Eval()
{
	AxisUp = ElectricBall.sampleNormal(pCoords);
}
";
}
CActionFactoryParticleSpawnerBase	$LOCAL$/InLightning_pCoords
{
	EditorInfosPosition = int2(-288, -61);
	Descriptor = "$LOCAL$/CParticleDescriptor_D8E1BE65";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	FluxFactorExpression = "Flux";
}
CParticleEvolver_Projection	$LOCAL$/Evolver_1
{
	Shape = "ElectricBall";
	OutputParametricCoordsField = "pCoords";
}
CParticleEvolver_Physics	$LOCAL$/Evolver_2
{
	Drag = 1.0000000e+000;
	VelocityFieldSampler = "Turb_0";
}
CParticleEvolver_Spawner	$LOCAL$/Trail_2
{
	SpawnMetric = Time;
	SpawnInterval = 2.0000000e-002;
	LocalSpaceSpawn = true;
	Descriptor = "$LOCAL$/CParticleDescriptor_7A4351D2";
}
CParticleState	$LOCAL$/CParticleState_E8DB9F13
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_5",
	};
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_7A4351D2
{
	Renderer = "$LOCAL$/CParticleRenderer_Ribbon_35782C54";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_7F906BF6",
		"$LOCAL$/CParticleFieldDeclaration_42738008",
		"$LOCAL$/CParticleFieldDeclaration_F2B14DAF",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD";
	States = 
	{
		"$LOCAL$/CParticleState_E8DB9F13",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_42CA8BFD
{
	Expression = "function void	Eval()
{
	Life = 0.1;
	Size = 0.2;
	ColorCoeff = sin(spawner.LifeRatio * 3) * RGB.xyz1;
	Position = vrand() * 0.1;

	AxisUp = parent.AxisUp;
}
";
}
CParticleRenderer_Ribbon	$LOCAL$/CParticleRenderer_Ribbon_35782C54
{
	BillboardingMaterial = AlphaBlend_Additive_Soft;
	Diffuse = "Textures/Fx/Lightning_05.png";
	AtlasDefinition = "Textures/Fx/AtlasX4.pkat";
	TextureIDField = "TextureID";
	BillboardMode = NormalAxisAligned;
	AxisField = "AxisUp";
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_5
{
	ChildList = 
	{
		"$LOCAL$/Script_4",
	};
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_7F906BF6
{
	FieldName = "Color";
	FieldType = float4;
}
CParticleEvolver_Script	$LOCAL$/Script_4
{
	Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1";
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_3106DEF1
{
	Expression = "function void	Eval()
{
	Color = float4(ColorCoeff.rgb * 50, sin(LifeRatio * 3));
}
";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_42738008
{
	FieldName = "ColorCoeff";
	FieldType = float4;
}
CActionFactoryParticleSpawnerBase	$LOCAL$/Glow
{
	Descriptor = "$LOCAL$/CParticleDescriptor_29F3590A";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_29F3590A
{
	Renderer = "$LOCAL$/CParticleRenderer_Billboard_766CC37C";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_C1FAB4F9",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_32830795";
	States = 
	{
		"$LOCAL$/CParticleState_3A34A9EF",
	};
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_32830795
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 2.1;
	Color = (RGB.xyz1 * 0.5 + 0.5) * 0.05;
}
";
}
CParticleRenderer_Billboard	$LOCAL$/CParticleRenderer_Billboard_766CC37C
{
	BillboardingMaterial = AlphaBlend_Additive_Soft;
	Diffuse = "Textures/Fx/Glow_02.png";
}
CParticleState	$LOCAL$/CParticleState_3A34A9EF
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_2",
	};
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_2
{
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_C1FAB4F9
{
	FieldName = "Color";
	FieldType = float4;
}
CParticleDescriptor	$LOCAL$/CParticleDescriptor_78C6FECC
{
	Renderer = "$LOCAL$/CParticleRenderer_Billboard_E542DF7F";
	CustomFields = 
	{
		"$LOCAL$/CParticleFieldDeclaration_B49E24AE",
	};
	SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_412E2A09";
	States = 
	{
		"$LOCAL$/CParticleState_C6F09D00",
	};
}
CParticleRenderer_Billboard	$LOCAL$/CParticleRenderer_Billboard_E542DF7F
{
	BillboardingMaterial = AlphaBlend_Distortion;
	Diffuse = "Textures/Fx/Distortion_01.png";
}
CParticleFieldDeclaration	$LOCAL$/CParticleFieldDeclaration_B49E24AE
{
	FieldName = "Color";
	FieldType = float4;
}
CCompilerSyntaxNodeExpression	$LOCAL$/CCompilerSyntaxNodeExpression_412E2A09
{
	Expression = "function void	Eval()
{
	Life = 1.0;
	Size = 2.1;
	Color = 1;
	Rotation = rand(-pi, pi);
	ScalarRotationSpeed = rand(-2, 2);
}
";
}
CParticleState	$LOCAL$/CParticleState_C6F09D00
{
	StateName = "State_0";
	Evolvers = 
	{
		"$LOCAL$/LocalSpace_3",
	};
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_3
{
	ChildList = 
	{
		"$LOCAL$/Script_5",
		"$LOCAL$/Evolver_3",
	};
}
CActionFactoryParticleSpawnerBase	$LOCAL$/Disto
{
	Descriptor = "$LOCAL$/CParticleDescriptor_78C6FECC";
	Infinite = true;
	DurationInSeconds = 2.0000000e+000;
	SpawnCount = 2.0000000e+000;
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_4
{
	ChildList = 
	{
		"$LOCAL$/Evolver_2",
		"$LOCAL$/Evolver_1",
		"$LOCAL$/CParticleEvolver_Script_0F7E6FED",
	};
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_6
{
}
CParticleEvolver_Localspace	$LOCAL$/LocalSpace_7
{
	ChildList = 
	{
		"$LOCAL$/CParticleEvolver_Physics_BA79E974",
		"$LOCAL$/Script_3",
	};
}
CParticleAttributeDeclaration	$LOCAL$/CParticleAttributeDeclaration_ACB53148
{
	AttributeName = "Flux";
	DefaultValueF4 = float4(4.0000000e+002, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000);
	HasMin = true;
	MaxValueF4 = float4(1.0000000e+003, 1.0000000e+000, 1.0000000e+000, 1.0000000e+000);
	MaxValueI4 = int4(10, 10, 10, 10);
}
