Decrements the calling actor's special1 field and does nothing if this value is still positive.
Otherwise, reset this field to the value from the calling actor's args field. This value therefore serves as a frequency control on an inverse scale: the larger the value, the less often will calls to this function spawn anything.
The patch is given an angle corresponding to the spawner's angle plus a random deviation computed from the spawner's args field: each point of args corresponds to a maximum of about 0.7° of deviation either clockwise or counterclockwise.
In addition, the patch is also given values for its args and special2 fields which are meant to influence how the patch moves and how long it lives, see A_FogMove for further information on how fog patches react to these arguments:
|Fog patch||Set value||Note|
|args||randomly between 1 and the spawner's args+1||Controls speed|
|args||spawner's args||Controls lifetime|
|args||1||Flags the fog patch as moving|
|special2||randomly between 0 and 63||Used for vertical bobbing|
This codepointer is restricted to FogSpawner and derived classes.