CPSCustom { "fParticleScaleMin" "0.01"// Particle start scale range "fParticleScaleMax" "0.125" //"fStartRadiusMin" "0"// If defined, particles start randomly inside this sphere relatively to host entity origin //"fStartRadiusMax" "0" // If defined (and no radius), particles start randomly inside this box relatively to host entity origin "vStartMins" "-1536 -1536 128" "vStartMaxs" "1536 1536 640" // Velocity after reflection is multiplied by this value "fBounceFactor" "0" //"vSpread" "0 0 0" //"vAccelMin" "0 0 0"// Acceleration range //"vAccelMax" "0 0 0" // Particle velocity.x = vDirection.x*RANDOM_FLOAT(fParticleSpeedMin, fParticleSpeedMax) + vSinVel.x*sin(t+i) + vCosVel.x*cos(t+i); "vSinVel" "8 0 2" "vCosVel" "0 8 2" // Particle acceleration.x += vSinAccel.x*sin(t+i) + vCosAccel.x*cos(t+i); //"vSinAccel" "4 0 0" //"vCosAccel" "0 4 0" "iParticleFlags" "4"// PSCUSTOM_PFLAG_ORIENTED_HIT_LIQUID 4 "iTraceFlags" "9" "iMaxParticles" "3072" // Linear speed range "fParticleSpeedMin" "10.25" "fParticleSpeedMax" "10.4" //"fParticleWeight" "0.001" // We have a problem here: if we set weight, particles will accelerate while falling from higher start points. So, we leave it 0 and set linear directed movement instead. fParticleWeight 0 "iStartType" "2"// PSSTARTTYPE_BOX, // Particle movement type: // PSMOVTYPE_DIRECTED = 0, // PSMOVTYPE_OUTWARDS,// explosion // PSMOVTYPE_INWARDS,// implosion // PSMOVTYPE_RANDOM "iMovementType" "3" "vDirection" "0 0 -1"// For movement type 0 "vOrigin" "0 0 0"// Overrides internal value. With (0,0,0) bounding box coordinates become absolute. "fScale" "1.0" "fScaleDelta" "0.0" "fFrameRate" "20" // Initial color (range minimum) "Color4b" "255 255 127 127" // Initial color (range maximum) Particle color = RANDOM(Color4b, ColorMax4b) "ColorMax4b" "255 255 255 255" "ColorDelta4f" "0.0 0.0 0.0 -0.05" "iRenderMode" "5" "iDoubleSided" "0" "iFlags" "282"// 2+8+16+256 "iFollowFlags" "64"// RENDERSYSTEM_FFLAG_DONTFOLLOW "iFollowAttachment" "65535" "szTexture" "sprites/p_glow01s.spr" }