Version = 1.9.1.28491; CParticleEffect $LOCAL$/Resource { EditorInfosPosition = int2(711, 177); OnSpawn = "$LOCAL$/Spawner"; CustomAttributes = "$LOCAL$/_GlobalAttributes"; Autostart = true; } CParticleAttributeList $LOCAL$/_GlobalAttributes { EditorInfosPosition = int2(-521, 288); AttributeList = { "$LOCAL$/CParticleAttributeDeclaration_4CE336B0", "$LOCAL$/CParticleAttributeDeclaration_F1D44C8A", }; } CActionFactoryWithChilds $LOCAL$/Spawner { EditorInfosPosition = int2(334, 131); ChildList = { "$LOCAL$/Main_Lot", }; } CParticleEvolver_Rotation $LOCAL$/CParticleEvolver_Rotation_0BF9AEAA { EditorInfosPosition = int2(-773, 966); CustomName = "Rotation"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_75B28038 { EditorInfosPosition = int2(-862, 847); Times = { 0.0000000e+000, 1.0000000e+000, }; FloatValues = { 0.0000000e+000, 1.4257952e+000, }; FloatTangents = { 0.0000000e+000, 2.6747651e+000, 0.0000000e+000, 0.0000000e+000, }; } CActionFactoryParticleSpawnerBase $LOCAL$/Main_Lot { EditorInfosPosition = int2(170, 355); Descriptor = "$LOCAL$/CParticleDescriptor_11D3CC4E"; DurationInSeconds = 5.0000000e-001; SpawnCountMode = TotalParticleCount; SpawnCount = 6.4000000e+001; SpawnCountRelativeRandomDeviation = 9.6650624e-001; } CParticleDescriptor $LOCAL$/CParticleDescriptor_11D3CC4E { EditorInfosPosition = int2(25, 339); Samplers = { "$LOCAL$/CParticleSamplerShape_9BC51382", "$LOCAL$/CParticleSamplerShape_C08BEC3D", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_64616D38"; States = { "$LOCAL$/CParticleState_FBAD371B", }; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_1CCBE1BA { EditorInfosPosition = int2(-564, 791); FieldName = "SizeCoeff"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_64616D38 { EditorInfosPosition = int2(-153, 300); Expression = "function void Eval() { Life = rand(0.1,0.1); Position = PositionSampler.samplePosition(); Velocity = VelocitySampler.samplePosition(); float3 v = Velocity * (Throttle * rand(0.9,1.1)); float a = (sin(spawner.Age*4.86) * 4 + sin(spawner.Age*13.49)) * 0.1 * ShakeAmplitude; float2 sc(sin(a), cos(a)); Velocity = float3(v.x * sc.y - v.z * sc.x, v.y, v.x * sc.x + v.z * sc.y); }"; } CParticleState $LOCAL$/CParticleState_FBAD371B { EditorInfosPosition = int2(-79, 590); StateName = "State_0"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_6735766D", "$LOCAL$/Flames", }; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_71334881 { EditorInfosPosition = int2(-561, 708); FieldName = "Color"; FieldType = float4; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_6735766D { EditorInfosPosition = int2(-249, 591); CustomName = "Physics"; ConstantAcceleration = float3(0.0000000e+000, -4.0000000e+000, 0.0000000e+000); Drag = 5.0000000e-001; WorldInteractionMode = OneWay; BouncesBeforeDeath = 10; BounceRestitution = 3.0000001e-001; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_9BC51382 { EditorInfosPosition = int2(-151, 367); SamplerName = "PositionSampler"; Shape = "$LOCAL$/CShapeDescriptor_7604A941"; SampleDimensionality = Volume; } CShapeDescriptor $LOCAL$/CShapeDescriptor_7604A941 { EditorInfosPosition = int2(-247, 365); Position = float3(0.0000000e+000, 5.0000000e-001, 0.0000000e+000); ShapeType = CYLINDER; Height = 1.0000000e+000; } CParticleFieldDeclaration $LOCAL$/CParticleFieldDeclaration_76658303 { EditorInfosPosition = int2(-563, 749); FieldName = "ColorCoeff"; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_47935F34 { EditorInfosPosition = int2(-771, 909); CustomName = "Field"; Name = "Color"; Evaluator = "$LOCAL$/CParticleSamplerCurve_6C525127"; } CParticleSamplerCurve $LOCAL$/CParticleSamplerCurve_6C525127 { EditorInfosPosition = int2(-867, 908); ValueType = Float4; Times = { 0.0000000e+000, 5.3849864e-001, 1.0000000e+000, }; FloatValues = { 2.5888062e+000, 7.7745247e+001, 7.3503357e+001, 6.4612997e-001, 2.0553560e+000, 3.8516720e+001, 3.5025604e+001, 6.2580526e-001, 1.3330803e+000, 3.0305719e+000, 4.2372961e+000, 6.6386294e-001, }; FloatTangents = { 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, -1.6951137e+000, -1.3702939e-004, -1.1671032e+000, -2.7337904e+000, -1.7046227e+000, -6.1781224e-002, -1.0002245e+000, -2.3428993e+000, -1.4608870e+000, -5.2947421e-002, -4.2274657e-001, -1.0370370e+000, -3.2198474e+000, 1.2638654e-004, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000, }; } CParticleEvolver_Field $LOCAL$/CParticleEvolver_Field_FF6840D9 { EditorInfosPosition = int2(-767, 850); CustomName = "Field"; Name = "Size"; Evaluator = "$LOCAL$/CParticleSamplerCurve_75B28038"; } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_4CE336B0 { EditorInfosPosition = int2(-690, 285); AttributeName = "Throttle"; AttributeDescription = "Flamethrower power / flame velocity\\nLower values throw flames closer.\\nHigher values throw flames further"; DefaultValueF4 = float4(8.0000001e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleAttributeDeclaration $LOCAL$/CParticleAttributeDeclaration_F1D44C8A { EditorInfosPosition = int2(-691, 331); AttributeName = "ShakeAmplitude"; AttributeDescription = "Horizontal sinusoidal shake amplitude"; DefaultValueF4 = float4(2.0000000e-001, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); HasMin = true; HasMax = true; MaxValueF4 = float4(1.0000000e+000, 0.0000000e+000, 0.0000000e+000, 0.0000000e+000); } CParticleEvolver_Script $LOCAL$/CParticleEvolver_Script_BCFD71B2 { EditorInfosPosition = int2(-767, 1024); CustomName = "Script"; Expression = "$LOCAL$/CCompilerSyntaxNodeExpression_707791AD"; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_707791AD { EditorInfosPosition = int2(-879, 1022); Expression = "function void Eval() { float atlasIdFirst = 0; float atlasIdLast = 31; float cursor01 = (LifeRatio)%1; TextureID = cursor01 * (atlasIdLast - atlasIdFirst) + atlasIdFirst; Color *= ColorCoeff * 4; Size *= SizeCoeff * 0.5; }"; } CParticleEvolver_Spawner $LOCAL$/Flames { EditorInfosPosition = int2(-283, 669); CustomName = "Spawner"; SpawnMetric = Time; SpawnInterval = 9.9999998e-003; Descriptor = "$LOCAL$/CParticleDescriptor_1BC47A3F"; } CParticleDescriptor $LOCAL$/CParticleDescriptor_1BC47A3F { EditorInfosPosition = int2(-389, 723); Renderer = "$LOCAL$/CParticleRenderer_Billboard_D6BD72B1"; CustomFields = { "$LOCAL$/CParticleFieldDeclaration_71334881", "$LOCAL$/CParticleFieldDeclaration_76658303", "$LOCAL$/CParticleFieldDeclaration_1CCBE1BA", }; SpawnEvaluator = "$LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06"; States = { "$LOCAL$/CParticleState_26784AB0", }; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_4C0EEC06 { EditorInfosPosition = int2(-568, 830); Expression = "function void Eval() { float couillunessFactor = pow(rand(0, 1), 8); Life = 0.1 + (0.2 + couillunessFactor * 1.5) * spawner.LifeRatio; Size = rand(0.2,0.5); Rotation = rand(-2,2); ScalarRotationSpeed = 0;//rand(-1,1); ColorCoeff = (0.2 + couillunessFactor * 1.3) * 0.5;//(1 - pow(abs(spawner.LifeRatio*2 - 1),2)) * 0.3; SizeCoeff = (1 - pow(abs(spawner.LifeRatio*2 - 1),4)) + 0.1; Velocity = float3(0,(1 - pow(abs(spawner.LifeRatio*2 - 1),4))*2,0);//float3(0,0,-2); }"; } CParticleRenderer_Billboard $LOCAL$/CParticleRenderer_Billboard_D6BD72B1 { EditorInfosPosition = int2(-570, 657); CustomName = "Billboard"; BillboardingMaterial = AlphaBlend_Additive_Soft; Diffuse = "Textures/BlastPack_Extended.dds"; AtlasDefinition = "Textures/BlastPack_Extended.pkat"; SoftAnimationBlending = true; AxisScale = 1.0000000e+000; NormalsBendingFactor = 6.2500000e-001; NormalsWrapFactor = 2.0000000e-001; LightExponent = 2.2000000e+000; LightScale = float3(5.0000000e+000, 5.0000000e+000, 5.0000000e+000); AmbientLight = float3(1.0000000e-001, 1.5000001e-001, 2.0000000e-001); } CParticleState $LOCAL$/CParticleState_26784AB0 { EditorInfosPosition = int2(-570, 876); StateName = "State_0"; Evolvers = { "$LOCAL$/CParticleEvolver_Physics_60A47EB3", "$LOCAL$/CParticleEvolver_Field_FF6840D9", "$LOCAL$/CParticleEvolver_Field_47935F34", "$LOCAL$/CParticleEvolver_Rotation_0BF9AEAA", "$LOCAL$/CParticleEvolver_Script_BCFD71B2", }; } CParticleEvolver_Physics $LOCAL$/CParticleEvolver_Physics_60A47EB3 { EditorInfosPosition = int2(-773, 805); CustomName = "Physics"; ConstantAcceleration = float3(0.0000000e+000, 1.0000000e+000, 0.0000000e+000); Drag = 1.0000000e-001; } CCompilerSyntaxNodeExpression $LOCAL$/CCompilerSyntaxNodeExpression_DC850E0B { Expression = "function void Eval() { } "; } CParticleSamplerShape $LOCAL$/CParticleSamplerShape_C08BEC3D { EditorInfosPosition = int2(-149, 416); SamplerName = "VelocitySampler"; Shape = "$LOCAL$/CShapeDescriptor_FF71004F"; SampleDimensionality = Volume; } CShapeDescriptor $LOCAL$/CShapeDescriptor_FF71004F { EditorInfosPosition = int2(-241, 420); ShapeType = SPHERE; Radius = 5.0000000e-001; }