A generator is an object that can produce a random number, vector (list of 3 numbers), color (as a text string), or color matrix (list of 20 numbers) in a specified range according to rules you set down. It is used primarily for particle effects, since it can run on the client.
There are several types of generators:
- Numbers: Generate a random real number.
- Vectors: Generate a random vector.
- Shapes: Generate a random vector within a specific shaped region.
- Colors: Generate a random color or color matrix.
Generators can also be chained together with math operators and some procs. The second value can be a regular value instead of a generator, so for instance you can multiply a vector by 2, or by a matrix to transform it.
| Operators | Action |
|---|---|
| + - * / | Arithmetic operators. You can multiply a 3D vector by a color matrix (where red,green,blue in the matrix correspond to x,y,z) to do a 3D transform, or by a 2D matrix for a 2D transform. |
| - (unary) | Negate the value, same as multiplying by -1. |
| turn(), generator.Turn() | Rotate a vector clockwise in the XY plane. |