if tscale is set, all units are divided by this. it is the virtual size of your texture. So a value of 1 means that your texture coords must be between 0 and 1. But if it properly matches your texture's size, the coords are in pixels.
if rsmax is present, each particle will use a random image. These images must be on a single row in your particle font.
rsstep specifies the stride (gap from one to the next) in your particle font, and is only needed if rsmax is present and greater than 1.
rotationstart <min> [max]
the particle will start with a rotation rotated between min and max.
if max is missing, the particle will always start with the min value.
beamtexstep <value>
only valid if the effect is a beam.
specifies the number of quake units per beam texture repitition.
beamtexspeed <value>
only valid if the effect is a beam.
controls how fast the texture scrolls on the beam.
scale <min> [max]
particles will start with a diameter of this many quake units.
actual scale will be randomly chosen between min and max (max defaults to equal min is missing)
scalerand <extra>
obsolete
overrides the scale max value
actual scale will be now be randomly chosen between min and min+extra
scalefactor <frac>
controls how the particle scales with distance.
1 makes the particle scale the same as anything else
0 makes the particle not change size no matter how far it is
scaledelta <value>
controls how the particle scales over time
specifies the change in the particle scale per second.
step <min> <max>
trails/beams only
specifies the distance between each particle in the trail (or beam).
count <min> <max>
point/box effects only (not trails or beams)
specifies how many particles are spawned per effect (some classic effects contain an extra scaler which is multiplied by the resulting value)
alpha <value>
specifies the initial alpha value of the effect
alphadelta <value>
specifies how much the alpha value of the effect changes per second (subtracted)
absolute: the ramp overrides all colour+scale values. The effect moves from one absolute ramp index to the next.
delta: uses rgb+rand+sync+scale, but not delta values. All delta values come from the colour ramp instead.
if not none, the ramp index used is based upon the particle's age, its lifetime, and how many ramp elements there are.
rampindexlist <idx1> [<idx2> [idx3 ...]]
Scale used is the currently set scale value.
Specifies a set of palette index values to use for the effect as part of the effect's colour ramp.
rampindex <idx> <scale>
Specifies an individual palette index value and particle scale to use for the effect as part of the effect's colour ramp
ramp <red> <green> <blue> [alpha] [scale]
Specifies a ramp index in rgb terms, regardless of palette.
stains <value>
How much the effect discolours the wall upon impact.
The stained colour is based upon the colour of the particle upon impact.
blend <mode>
mode may be one of: add, subtract, blendcolour/blendcolor, blend
if the texture used is actually a shader, this is ignored.
spawnmode <mode> [arg1] [arg2]
This affects how particles are positioned when they first spawn, and their initial velocities.
for point effects, mode may be one of:
circle: particles spawn within a ball with uniform distance from the center
ball: particles spawn randomly within a ball.
telebox: matches quake's telebox
lavasplash: like chthon's lava splash
uniformcircle: particles are spawned in a circle with uniform distance between and from the center. z=0.
syncfield: particles spawn at predictable locations based upon time within a rough sphere. Only useful for effects that are regenerated+replaced every frame.
distball:
*default*: regular box. particles are spawned inside an axially aligned box.
for trail effects, mode may be one of:
spiral: particles are given velocities perpendicular to the direction based on the distance moved.
tracer: particles spawn with alternating horizontal velocities (a wake effect).