Classes:ArchvileFire

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why:
  1. This actor is already defined in GZDoom, there's no reason to define it again.
  2. In fact, trying to define an actor with the same name will cause an error (because it already exists).
  3. If you want to make your own version of this actor, use inheritance.
  4. Definitions for existing actors are put on the wiki for reference purpose only.
Arch-Vile fire
Actor type Explosive Game MiniDoom2LogoIcon.png (Doom2)
DoomEd Number None Class Name ArchvileFire
Spawn ID 98 Identifier T_TEMPLARGEFLAME


Classes: ArchvileFire

The temporary flame sprite which follows an Archvile's target while it attacks. Note that this actor does not shoot other actors or players in the air. For that use A_VileAttack.

This is the only standard actor in Doom that calls an action function in its spawn state without looping back to it. As a result, since action functions are called only on state changes and spawning is not a state change, A_StartFire is never actually executed.

ZScript definition

Note: The ZScript definition below is for reference and may be different in the current version of GZDoom.The most up-to-date version of this code can be found on GZDoom GitHub.
class ArchvileFire : Actor
{
	Default
	{
		+NOBLOCKMAP +NOGRAVITY +ZDOOMTRANS
		RenderStyle "Add";
		Alpha 1;
	}
	States
	{
	Spawn:
		FIRE A 2 BRIGHT  A_StartFire;
		FIRE BAB 2 BRIGHT  A_Fire;
		FIRE C 2 BRIGHT  A_FireCrackle;
		FIRE BCBCDCDCDEDED 2 BRIGHT  A_Fire;
		FIRE E 2 BRIGHT  A_FireCrackle;
		FIRE FEFEFGHGHGH 2 BRIGHT  A_Fire;
		Stop;
	}
}

DECORATE definition

Note: This is legacy code, kept for archival purposes only. DECORATE is deprecated in GZDoom and is completely superseded by ZScript. GZDoom internally uses the ZScript definition above.
ACTOR ArchvileFire
{
  +NOBLOCKMAP
  +NOGRAVITY
  RenderStyle Add
  Alpha 1
  States
  {
  Spawn:
    FIRE A 2 Bright A_StartFire
    FIRE BAB 2 Bright A_Fire
    FIRE C 2 Bright A_FireCrackle
    FIRE BCBCDCDCDEDED 2 Bright A_Fire
    FIRE E 2 Bright A_FireCrackle
    FIRE FEFEFGHGHGH 2 Bright A_Fire
    Stop
  }
}