A_KSpiritRoam
A_KSpiritRoam
(no parameter)
Decreases the calling actor's health by one point. If this kills the caller, it plays the sound "SpiritDie" on the VOICE channel and puts the actor in its Death state. The function then stops at this point.
Otherwise and if the calling actor has a valid tracer field, the calling actor will seeks this tracer as a seeking missile, with a maximum turning angle of twice the value of its args[0] field. (For spirits created through A_KoraxBonePop, this value will be 10, and their tracer will be the dead Korax.) The calling actor's horizontal velocities are recalculated according to its new angle, at full speed, and, unless the function is called on a tic that is a multiple of 16, its vertical velocity is adjusted to aim at a random point along the tracer's height.
Whether it has a tracer or not, it does weaving in the same way as A_CHolySeek and has an about 20% chance of playing the sound "SpiritActive" on the VOICE channel.
This codepointer is restricted to KoraxSpirit and derived classes.