// Virtual system which holds parameters for drips that hit surface // Note: not all parameters can be assigned to a particle, many are system-global (e.g. m_fFrameRate) // Warning: you can cause it to shut down like any other system (by combination of flags, frames, color, etc.) virtual inactive CPSCustom DripSplashSystem { //"fParticleScaleMin" "0.0625" "fParticleScaleMin" "0.125" "fParticleScaleMax" "0.25" "fBounceFactor" "0" "iParticleFlags" "0" "iTraceFlags" "8" // This will disable the system so it won't consume computing resources "iMaxParticles" "0" "fParticleSpeedMin" "0.0" "fParticleSpeedMax" "0.0" "fParticleWeight" "0.0" // Particle start type: // PSSTARTTYPE_POINT = 0, "iStartType" "0" "iMovementType" "0" "vDirection" "0 0 0" "fScale" "1.0" "fScaleDelta" "0.25" "fFrame" "0" "fFrameRate" "24" "Color4b" "255 255 255 191" "ColorMax4b" "255 255 255 255" "ColorDelta4f" "0.0 0.0 0.0 -0.5" "iRenderMode" "5" "iDrawContents" "0" "iDoubleSided" "0" // 16+256+1024 "iFlags" "1296" "iFollowFlags" "64" "iFollowAttachment" "65535" "szTexture" "sprites/glow06.spr" } // Water circles virtual inactive CPSCustom DripCircleSystem { "iMaxParticles" "0" "fParticleSpeedMin" "0.0" "fParticleSpeedMax" "0.0" "fParticleWeight" "0.0" "iStartType" "0" "iMovementType" "0" "vDirection" "0 0 1" "fScale" "0.125" "fScaleDelta" "40.0" "fFrame" "0" "fFrameRate" "0" "Color4b" "255 255 255 191" "ColorMax4b" "255 255 255 255" "ColorDelta4f" "0.0 0.0 0.0 -0.75" "iDoubleSided" "1" // 8+16+256+1024 "iFlags" "1304" "iFollowFlags" "64" "iFollowAttachment" "65535" "szTexture" "sprites/glow11.spr" } // The main emitting system CPSCustom RainFx1 { // Brush contents in which particles cannot exist. Calculate as follows: m_iDrawContents |= (1 << abs(CONTENTS_WATER)); //"iDestroyContents" "0" // Particle start scale range //"fParticleScaleMin" "0.0625" //"fParticleScaleMax" "0.125" "fParticleScaleMin" "0.125" "fParticleScaleMax" "0.25" // If defined, particles start randomly inside this sphere relatively to host entity origin "fStartRadiusMin" "0" "fStartRadiusMax" "0" // Velocity after reflection is multiplied by this value "fBounceFactor" "0" // Spread vector (for directed movement) "vSpread" "0 0 0" // Particle velocity.x = vDirection.x*RANDOM_FLOAT(fParticleSpeedMin, fParticleSpeedMax) + vSinVel.x*sin(t+i) + vCosVel.x*cos(t+i); "vSinVel" "0 0 0" "vCosVel" "0 0 0" // 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 // Trace flags (defines clipping behavior), 0 is the slowest option. "iTraceFlags" "9" // Number of particles this system can allocate. "0" will disable the system and make it virtual so it can be used in another systems. "iMaxParticles" "2048" // Emission rate, particles per second. "0" will make the system try to calculate it automatically (not always reliable). "iEmitRate" "0" // Linear speed range "fParticleSpeedMin" "1024.0" "fParticleSpeedMax" "1024.0" // Weight for physics, gravity "fParticleWeight" "1.0" // Size (radius) of particle's collision volume "fParticleCollisionSize" "1.0" // Right now only used for automatic calculation of emission rate //"fParticleLife" "1.0" "iStartType" "4"// PSSTARTTYPE_ENTITYBBOX, "iMovementType" "0"// PSMOVTYPE_DIRECTED = 0, // Direction for movement type 0 (should be normalized i.e. have length of 1.0) "vDirection" "-0.5 0.0 -1.0" // Relative scale "fScale" "1.0" // Added every frame "fScaleDelta" "0.0" // Starting frame (useful with frame rate 0) //"fFrame" "0" // Can be 0 to use specific frame of a sprite "fFrameRate" "20" // Initial color (range minimum) "Color4b" "255 255 255 191" // Initial color (range maximum) Particle color = RANDOM(Color4b, ColorMax4b) "ColorMax4b" "255 255 255 255" // Added every frame "ColorDelta4f" "0.0 0.0 0.0 0.0" // Non-particle System or Particle dimensions (see also flag ABSOLUTESIZE) //"fSizeX" "0" //"fSizeY" "0" // Bounce, if collisions are enabled (velocity *= fBounceFactor) or move along surface if "-1". "fBounceFactor" "0" // Friction, used only when m_fBounceFactor == -1 "fFriction" "0" // Standard HL render mode "iRenderMode" "5" // Standard HL render fx (unused) //"rendereffects" "0" // Brush contents in which particles can exist. Calculate as follows: m_iDrawContents |= (1 << abs(CONTENTS_WATER)); "iDrawContents" "0" // If true, faces are drawn double-sided "iDoubleSided" "0" // System will be active and drawn if cl_particles >= iFxLevel "iFxLevel" "1" "iFlags" "280"// 8+16+256 "iFollowFlags" "32" "iFollowAttachment" "65535" // Sprite path relative to game mod directory in forward slash (URL/UNIX) format "szTexture" "sprites/glow06.spr" // System (name) from which parameters will be initialized to a particle that hits liquid "szSystemOnHitLiquid" "DripCircleSystem" // System (name) from which parameters will be initialized to a particle that hits solid surface "szSystemOnHitSurface" "DripSplashSystem" // System life time in seconds //"fLifeTime" "0.0" }