A_SetUserVar
From ZDoom Wiki
A_SetUserVar (string name, int value)
Sets the calling actor's user variable named name to value. The name must begin with user_.
User variables are not used by anything internally, contrarily to the args array and the special1 and special2 fields.
Examples
This code creates an imp, which attacks with a 360 degrees "shockwave" attack. Old mods achieved this effect by reproducing a A_CustomMissile call many times. This cuts down on the amount of lines needed and is much cleaner to implement.
actor ShockWaveDoomImp : DoomImp replaces DoomImp
{
var int user_theta;
states
{
Missile:
TROO EF 8 A_FaceTarget
TROO G 0 A_SetUserVar("user_theta",0)
Shock:
TROO G 0 A_CustomMissile("DoomImpBall",32,0,user_theta)
TROO G 0 A_SetUserVar("user_theta",user_theta+1)
TROO G 0 A_JumpIf(user_theta==360,"EndShock")
Loop
EndShock:
TROO G 6
Goto See
}
}