Classes:ArchvileFire

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
  1. You do not need to copy that actor, since it is already defined.
  2. In fact, it's not just useless, it's actually harmful as it can cause problems.
  3. If you want to modify it, or use a modified version, using inheritance is the way to go.
  4. The actor definitions here are put on the wiki for reference purpose only. Learn from them, don't copy them.
  5. There is only one exception: if what you want is changing Ammo capacity, you need to create a new type from Ammo.
Arch-Vile fire
Actor type Explosive Game MiniDoom2LogoIcon.png
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 here.
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 here for reference only. DECORATE is still supported but no longer used by GZDoom. 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
  }
}