Actor flags

From ZDoom Wiki
Jump to navigation Jump to search

Flags control various characteristics of your actor, varying from appearance to physical properties. Remember that you can get a basic set of flags by using the Monster or Projectile property keywords. However, you will invariably feel the need to dabble with at least a few of these flags. To use, simply specify the flag within the actor's DECORATE definition and outside the state block. You can set or clear a flag as follows:

  • +FLAGNAME sets a flag
  • -FLAGNAME clears a flag
Ktip.png Tip: You can set (almost) any flag on or off in an actor's state by setting bFLAGNAME to true or false in an anonymous function.

General flags

The following flags can be used with any actor.

Renderer

  • INTERPOLATEANGLES
Actor angles are constantly interpolated over the span of one tic. This includes angle, pitch and roll. Interpolation smoothly transitions from the previous angles to the next instead of instantly snapping.
  • FLATSPRITE
Actor becomes a flat sprite which can be tilted with the use of the Pitch actor property.
NOTE: This flag is not compatible with WALLSPRITE.
  • ROLLSPRITE
Actor sprite is affected by roll, rotating the sprite.
  • WALLSPRITE
Similar to FLATSPRITE but is not affected by pitch.
NOTE: This flag is not compatible with FLATSPRITE.
  • ROLLCENTER
Prior to this flag's introduction, rolling occurred at the very center of the sprite no matter what offsets were used. Offsets are now used instead of the center. Using this flag restores the original behavior of displacing via the center instead of offsets.
  • SPRITEANGLE
Enables the use of the SpriteAngle actor property.
  • SPRITEFLIP
Actor sprite is flipped on the x-axis in a special way. If the current sprite is mirrored (such as POSSA2A8 versus CYBRA2), this flag has no effect.
  • XFLIP
Actor sprite is flipped on the x-axis.
  • YFLIP
Actor sprite is flipped on the y-axis.
Actor sprite is flipped on the x-axis, while retaining all relative offsets.
Actor sprite is flipped on the y-axis, while retaining all relative offsets.
  • MASKROTATION
Enables rendering of a sprite based on defined angles through the use of VisibleAngles and VisiblePitch.
  • ABSMASKANGLE
The visible angle becomes absolute -- not offset by the actor's current angle.
  • ABSMASKPITCH
Same as ABSMASKANGLE but for pitch.
  • DONTINTERPOLATE
Position interpolation is disabled for this actor.
  • ZDOOMTRANS
Marks the actor's RenderStyle as being a ZDoom graphical enhancement over the original. An actor with this flag will change its RenderStyle to Normal (opaque) when r_vanillatrans is set to 1 or 3. Custom content should generally not use this flag, though it can be desired for visual consistency with vanilla content for actors such as fireball projectiles or teleportation flashes.
  • ABSVIEWANGLES
The ViewAngle/Pitch/Roll properties are an offset to the current actor's angle/pitch/roll. With this flag, they become absolute.
  • CASTSPRITESHADOW
Forces the actor to cast sprite shadows, this can be used to make a monster cast a sprite shadow if the setting is set to default, or to make non-monster actors such as decorations cast shadows as well.
  • NOSPRITESHADOW
Entirely disables shadow casting for the actor regardless of what the setting is set to, can be used to make a monster not cast shadows, can't be used to turn shadows off for players.
  • MASTERNOSEE
Actors with this flag on will not appear on the view of the actor who they have set as their master. For example, an orb with this flag that orbits around the player, will not render on the players' first person view, but can be seen if the player sees themselves through another camera, or looks at themselves through a mirror or a portal.
  • ADDLIGHTLEVEL
Makes the actors' LightLevel be added on top of the existing sector light level. Instead of being an absolute value.
The Imp on the left cannot be seen through mirrors, the Demon on the right can only be seen through mirrors.
  • INVISIBLEINMIRRORS
The actor will not render on mirrors.
  • ONLYVISIBLEINMIRRORS
The actor will only be visible when seen through mirrors.

Physics

  • SOLID
Set when the object should be solid (blocking). The size of the blocking is defined using the height and radius properties.
→ Automatically given by the Monster combo
  • SHOOTABLE
Object can be damaged. If health goes below 0 it enters its death state.
→ Automatically given by the Monster combo
  • FLOAT
Floating actor that can change height at will (usually used for monsters). The speed of the float can be defined with its FloatSpeed property. Actors will not be able to float properly unless it has NOGRAVITY set. If set with FLOORCLIP, the actor will be able to walk off edges from heights.
  • NOGRAVITY
Actor is not subject to gravity.
→ Automatically given by the Projectile combo
  • WINDTHRUST
Actor is thrust by Heretic/Hexen wind sector specials, and pushers/pullers.
  • PUSHABLE
Actor can be pushed.
  • DONTFALL
Doesn't fall down after being killed (the actor's height isn't reduced by 75%).
  • CANPASS
Actor uses height sensitive collision detection. Use with care! This only makes sense on actors that can move by themselves. This flag is needed so that an actor can stand on sprite bridges.
→ Automatically given by the Monster combo
  • ACTLIKEBRIDGE
Uses the special collision logic for bridge things. Most importantly bridge things allow everything else to pass above and beneath regardless of the setting of the CANPASS flag.
  • NOBLOCKMAP
This object is excluded from passive collision detection. Nothing else can run into a NOBLOCKMAP object but the object itself can run into others. Actors with this flag cannot be hit by hitscan/trace functions such as A_FireBullets, A_RailAttack, etc.
Note: If an object had this flag set needs to be restored to being a solid object, A_ChangeLinkFlags(0) may need to be called manually to reset its blockmap data.
→ Automatically given by the Projectile combo
  • MOVEWITHSECTOR
Actor follows sector height changes unconditionally. Normally actors with the NOBLOCKMAP flag are excluded from moving with sectors. Another use is to ensure that an actor remains on the floor of extremely fast moving lifts.
  • RELATIVETOFLOOR
An actor not bound by gravity with this flag retains its z-height relative to a moving floor.
  • NOLIFTDROP
Does not drop when a lift under it lowers.
  • SLIDESONWALLS
Actor can slide along walls. Used for players and actors that are pushed against walls.
  • NODROPOFF
Makes tall dropoffs block any movement by this actor. Normally this is only being done for monster movement but not for thrust by damage or scrolling sectors.
  • NOFORWARDFALL
On random occasions and under certain circumstances, an actor on high ledges will be pushed and will fall forward when being damaged by an attack. This flag, when set, will disable that behavior. Alternatively, the flag can be set on the damage inflictor (e.g., a projectile or a puff for a hitscan attack). In this case, the behavior is only disabled if the actor got damaged by an inflictor which has the flag set.
  • NOTRIGGER
Disables all line action (crossing, impacting, using, etc.) for the actor.
  • BLOCKEDBYSOLIDACTORS
An actor with this flag is blocked by solid actors, even if itself non-solid. If the actor does not have the CANPASS flag as well, solid things are infinitely tall for it. An effect of this flag is that PoisonCloud actors spawned from a ZPoisonShroom are stuck in the mushroom (which is solid) and unable to be pushed away by the Disc of Repulsion, whereas the same actor spawned from a PoisonBag can be blasted away.
  • BLOCKASPLAYER
A non-player actor (including projectiles) with this flag is blocked by the same lines that block a player.
  • NOFRICTION
All friction effects are disabled on the actor with this flag set, including the speed cap from water and crouching.
  • NOFRICTIONBOUNCE
Actor does not bounce off walls as a result of sliding into them on slippery floors.
  • FALLDAMAGE
Monster can be damaged by falling. A falling monster always dies upon hitting the floor if its downward velocity is high enough for it to be considered for damage, unless the ProperMonsterFallingDamage MAPINFO flag is also set on the map.
To enable falling damage for all monsters on a map, set the MonsterFallingDamage MAPINFO flag on that map.
  • ALLOWTHRUBITS
Enables the use of the ThruBits property.
  • CROSSLINECHECK
Enables the use of the CanCrossLine virtual function.

Behavior

  • ALWAYSRESPAWN
A monster with this flag will respawn in any skill level as though the skill level was set to Nightmare. Note, this flag is for monsters, not for inventory items; Inventory items use INVENTORY.ALWAYSRESPAWN. If dealing with an Inventory pointer (or derivative), you will need to cast to Actor first in order to access this flag. The only case when this distinction is not relevant is in a DECORATE definition, since prefixes are optional and using +ALWAYSRESPAWN will set the correct flag depending on the type of actor.
  • AMBUSH
Monster is set to ambush players: The monster will not start chasing the player after hearing player weapons until it has a direct line of sight to him (after being woken up, however, it does not need to be facing him). Normally this is set in an editor on a per-object basis. Note that some editors call this flag "Deaf," but this is a misnomer. The monster can still hear the player with this flag set!
  • AVOIDMELEE
Monster backs away from melee combat when too close to its target, provided it has a valid Missile state. A bot with this flag needs to have a ranged weapon selected.
To enable this behavior for all monsters on a map, set the AvoidMelee MAPINFO flag on that map.
  • BOSS
Actor is a boss, and has the following special properties:
  • Plays See sound and Death sound at full volume (regardless of distance), and play these sounds in surround mode during the cast endgame.
  • Cannot be squashed (normally instant death) by Heretic's powered-up Mace.
  • Cannot be teleported by Hexen's Banishment Device.
  • Cannot be pushed by items such as Hexen's Disc of Repulsion, or damaged by other monsters thrown at the boss by these items.
  • Takes only one-quarter of the damage from Hexen's Wraithverge spirits, burns said spirit out faster than other monsters, and reflects them against the attacker if the boss also has the REFLECTIVE flag.
  • Has a chance to resist Hexen's Arcs of Death.
  • Does not take fire damage when indirectly affected by Hexen's Bloodscourge's projectiles.
  • Takes only 50 damage from a poison bolt, instead of instantly killed.
  • DONTCORPSE
Monsters with this flag will not automatically get the CORPSE flag when killed. It is the modder's duty to explicitly set the flag in the monster's death sequence. This has two main effects: first, the actor cannot be immediately passed through, and secondly it will not immediately enter a Crash state if it is on the floor or another actor. The purpose is to allow modders greater control on death animations and special effects with flying monsters.
  • DONTFACETALKER
Actor does not turn to face the player in a conversation.
  • DORMANT
Actor is dormant and has to be activated with Thing_Activate. Dormant actors can't do anything and don't take damage.
  • FRIENDLY
This monster doesn't target the player. Instead it attacks other monsters. Currently friendly monsters only target unfriendly monsters when they see the Player, and unfriendly monsters will never attack friendly monsters unless they are attacked first or have the SEEFRIENDLYMONSTERS flag on. Also note that monsters resurrected or spawned by friendly monsters (Arch-Vile, Pain Elementals, Icon of Sin, etc.) are friendly; and inversely a dead friendly monster resurrected by an unfriendly Arch-Vile is no longer friendly.
  • JUMPDOWN
Actors with this flag set will often (about 92% chance) decide to jump down tall ledges to pursue their target, if said target is hostile and is relatively close (horizontally within 144 map units).
  • LOOKALLAROUND
Looks in all directions for targets, not just in front of itself when A_Look or one of its variants is called.
  • MISSILEEVENMORE
Increases the probability of a missile attack from farther away even more than MISSILEMORE. Both flags can be combined for extra aggressive monsters.
  • MISSILEMORE
Increases the probability of a missile attack from farther away, though less than MISSILEEVENMORE. Both flags can be combined for extra aggressive monsters.
  • NEVERRESPAWN
A monster with this flag will never respawn, even in Nightmare.
  • NOSPLASHALERT
This monster is not alerted by terrain splash sounds like landing in water. Splashes are defined in TERRAIN and are not always literally "splashes".
  • NOTARGETSWITCH
A monster with this flag never switches its target unless its current target is dead.
  • NOVERTICALMELEERANGE
A monster with this flag ignores vertical distance to its target when checking for melee range. Used, for example, by the Strife Stalker to drop on its target from the ceiling, regardless of ceiling height.
  • QUICKTORETALIATE
Normally, when an actor acquires a target, it is prevented from switching to a new target for until its Threshold value gets reduced to 0 by repeated calls to A_Chase. If this flag is set, the monster is exempted from that code and is free to switch targets repeatedly. Monsters with this set will tend to turn on a new attacker immediately, rather than focusing on their current target. The arch-vile uses this flag.
  • STANDSTILL
It is used to prevent inactive monsters from walking around without having something to attack. Strife's special logic for humanoids and ZDoom's friendly monsters use this.
  • AVOIDHAZARDS
The monster will actively try to avoid being harmed by crushing ceilings. Note: This flag ONLY works for crushing ceilings ! It will not make the actor react to other level hazards.
  • STAYONLIFT
Will stay still on moving platforms, instead of moving around on them, and begin moving again once they stop.
  • DONTFOLLOWPLAYERS
Friendly monsters with this flag will not follow the player they are allied to, when they have no target or goal left to deal with.
  • SEEFRIENDLYMONSTERS
Hostile monsters with this flag on will attack friendly monsters on sight. The sight behavior is identical to that of friendly monsters.

(In)Abilities

Enables monsters to pathfind when using A_Chase. Automatically assumed if the map flag is active. See pathfinding for details and requirements to work.
Disables any form of pathfinding. This is the only way to counter the map's pathing flag.
By default, monsters will stop chasing towards the path node and will instead resort to chasing the target directly if within sight. This flag ensures they stay on the path no matter what.
  • CANNOTPUSH
This actor cannot push pushable objects.
  • NOTELEPORT
Actor cannot teleport.
→ Automatically given by the Projectile combo
  • ACTIVATEIMPACT
Upon hitting a wall this actor can activate G1/GR lines.
→ Automatically given by the Projectile combo
  • CANPUSHWALLS
Upon hitting a wall this actor can activate P1/PR lines.
→ Automatically given by the Monster combo
  • CANUSEWALLS
This actor can activate unlocked doors and lifts. (Original Doom monster behavior)
→ Automatically given by the Monster combo
  • ACTIVATEMCROSS
This actor can activate 'Monster crosses' lines.
→ Automatically given by the Monster combo
  • ACTIVATEPCROSS
This actor can activate 'Projectile crosses' lines.
→ Automatically given by the Projectile combo
  • CANTLEAVEFLOORPIC
This actor cannot cross into a sector with a different floor texture.
  • TELESTOMP
This actor can telefrag others. Actors without this flag will fail to teleport if another actor is blocking the destination.
  • NOTELESTOMP
This actor cannot telefrag others under any circumstances, even if the AllowMonsterTelefrags map definition flag is set. This also affects actors spawned via the Icon of Sin Cubes.
  • STAYMORPHED
If morphed this actor cannot revert to its original form. Does not appear to work on playerclasses.
  • CANBLAST
Can be blasted by Hexen's Disc of Repulsion. For monsters this is implicit.
  • NOBLOCKMONST
Actor can walk through monster blocking lines.
  • ALLOWTHRUFLAGS
Only useful for actors used as puffs. Enables a variety of THRU flag behavior for actors used as puffs. Flags not listed do not require ALLOWTHRUFLAGS to work.
  • Bullets - Enables THRUACTORS and THRUSPECIES on puffs.
  • Rails - Enables THRUACTORS, THRUSPECIES and THRUGHOST on puffs.
  • THRUGHOST
Missiles and puffs pass through ghosts (set with the GHOST flag). See ALLOWTHRUFLAGS for details on puffs.
  • THRUACTORS
This actor passes through all other actors. See ALLOWTHRUFLAGS for details on puffs.
  • THRUSPECIES
This actor passes through other actors of the same species. See ALLOWTHRUFLAGS for details on puffs.
  • MTHRUSPECIES
A missile or puff with this flag makes the attack (the missile itself, or the puff's hitscan) passes through actors of the same species as the actor that shot it, if any.
A rail attack goes harmlessly through actors which have the same species as that of the attacker's, provided that the puff has this flag set. Additionally, A_BFGSpray has no effect on actors which have the same species as that of the associated flash, provided, again, that the flash also has this flag set. (The actors' species needs to match the shooter's, not the flash's)
  • SPECTRAL
A monster with this flag can only be hurt by a missile or puff (bullet attacks only; not rail attacks) that also has this flag set.
  • FRIGHTENED
Monster runs away from player (but still fights back).
  • FRIGHTENING
Monster runs away from its target if said target has this flag set, attacking less frequently.
  • NOTARGET
Actor cannot be targeted by other monsters. This does not prevent hostile monsters from being targeted by friendly monsters.
  • NEVERTARGET
Actor cannot be targeted at all. This prevents hostile monsters from being targeted by friendly monsters.
  • NOINFIGHTSPECIES
Actor does not infight with others belonging to the same species as it.
  • FORCEINFIGHTING
A monster ignores the map's setting of no infighting, and infights like normal.
  • NOINFIGHTING
The inverse of NOTARGET. This actor will never turn on another monster when provoked.
  • NOTIMEFREEZE
This actor is not affected by time freeze powerups or the "freeze" console cheat.
  • NOFEAR
This actor is not affected by frightener powerups or the "anubis" console cheat.
  • CANTSEEK
This actor cannot be tracked by seeker missiles. See also the DONTSEEKINVISIBLE flag.
  • SEEINVISIBLE
Monsters with this flag can see and aim at invisible opponents (players or other monsters) without their aim being degraded.
  • DONTTHRUST
Actor is excluded from damage and radius thrusting of all sorts by explosions or damage of any kind. It also never deals impact damage to other actors, nor does it damage itself from being too close to a wall.
  • ALLOWPAIN
Actors with this flag can enter pain states regardless of invulnerability or damage absorption, if the incoming damage is greater than zero.
  • USEKILLSCRIPTS
Actors with this flag will execute KILL-type ACS scripts upon death.
  • NOKILLSCRIPTS
Actors with this flag will never execute KILL-type ACS scripts upon death, even if ForceKillScripts is enabled in the GameInfo definition.
  • STOPRAILS
Piercing rail attacks stop at and do not go through an actor with this flag. The actor is still subject to damage from the attack, however.
Monsters will treat actors with this flag as if they were invisible, regardless of their rendering properties.
Actors with this flag are entirely blocked from monster sight checks. This can be used to guarantee full invisibility, without any random chance of monsters being able to spot the actor.
Makes monsters with the SEEINVISIBLE flag still get a penalty when trying to shoot at a SHADOW monster. Even if they can immediately spot them.
  • DOSHADOWBLOCK (New from 4.11.0)
Actors with this flag will be affected by the SHADOW aim penalty if a SHADOWBLOCK actor is standing in the way. For example, if there's smoke actors with SHADOWBLOCK in the monsters' line of fire, it's aim will degrade as if its' target had SHADOW.
  • SHADOWAIMVERT (New from 4.11.0)
With this flag on, the vertical aim of the actor will also be affected when it fires at SHADOW actors, or through SHADOWBLOCK actors.

Defenses

  • INVULNERABLE
Actor is invulnerable. It cannot be hurt in normal situations, will never enter its Pain state, and will not change targets unless damaged by FOILINVUL projectiles. Use ALLOWPAIN to let the actor feel pain while invulnerable.
Note: an invulnerable actor can still be hurt by damage that exceeds a very high threshold set at 1000000 (one million). This ensures that certain "instakill" attacks such as the mdk console command or telefragging always work, even on invulnerable actors. Invulnerability also ignores damagefactors; the raw damage must be a million points or greater in order to foil it. NODAMAGE is the only flag to ignore these rules.
  • BUDDHA
Actor is given an indestructible hit point: no normal attack can remove that last hit point from the actor. They can still take damage and enter any pain state. However, if the actor is hit with an attack bearing the FOILBUDDHA flag or was subjected to telefragging or "instakill" attacks, the actor will still die as a result.
  • REFLECTIVE
Actor reflects missiles shot at it. By default projectiles are reflected at a random angle. This also causes the reflecting actor to be considered as the original shooter once reflected, and seeker missiles will seek after the original shooter.
  • SHIELDREFLECT
Used in conjunction with the REFLECTIVE flag. It changes the reflection behavior so that only projectiles hitting the monster from the front side are reflected. With this flag the reflection angle is always +/-45 degrees.
  • DEFLECT
Used in conjunction with the REFLECTIVE flag. It changes the reflection behavior so that the reflection angle is always +/-45 degrees.
  • MIRRORREFLECT
Used in conjunction with the REFLECTIVE flag. It changes the reflection behavior so the projectile is always turned 180 degrees around and the speed is inversed. Takes precedence over SHIELDREFLECT and DEFLECT.
  • AIMREFLECT
Used in conjunction with the REFLECTIVE flag. It changes the reflection behavior so the projectile is always turned and aimed at the original shooter. Takes precedence over SHIELDREFLECT, DEFLECT and MIRRORREFLECT flags. If there is no shooter to aim at, it will fall back on the flags it takes precedence over. I.e. if MIRRORREFLECT is specified, it will simply use that behavior instead.
  • THRUREFLECT
Used in conjunction with the REFLECTIVE flag. It changes the reflection behavior so the projectile passes through without changing angle or speed, but is still considered reflected. Takes precedence over all reflective modifying flags.
  • NORADIUSDMG
Actor cannot be hurt by radius (explosive) damage.
  • DONTBLAST
Cannot be blasted by Hexen's Disc of Repulsion.
  • SHADOW
Makes monsters trying to target this actor to be inaccurate. Unlike regular Doom this does not automatically imply fuzziness. For that you have to specify RenderStyle Fuzzy.
  • GHOST
Actor is a ghost. This does not imply translucency etc. Some of Heretic's projectiles and weapons cannot attack ghosts.
  • DONTMORPH
Cannot be morphed into a chicken, pig or any other morphs.
  • DONTSQUASH
This actor cannot be instantly killed by Heretic's powered up Mace. BOSS implies this flag.
  • NOTELEOTHER
Cannot be teleported by Hexen's banishment device.
  • HARMFRIENDS
Projectile attacks from a friendly monster with this flag will hurt other friendly monsters of the same species.
  • DOHARMSPECIES
Monsters with this flag will be able to receive damage from projectile attacks from other monsters sharing the same species. By default projectiles fired by monsters belonging to the same species can only deal damage and trigger infighting via A_Explode but they deal no impact damage; this flag overrides that behavior, forcing the monster to receive impact damage from projectiles as well.
The flag's name is a misnomer: it sounds like it's the opposite of DONTHARMSPECIES, but the effect is entirely different. This flag only affects the damage received by the monster, not the damage it deals, as opposed to DONTHARMSPECIES.
  • DONTHARMCLASS
Prevents monsters with this flag from dealing explosion damage to other monsters of the same class. By default, projectiles fired by monsters of the same class don't deal impact damage but can deal damage and trigger infighting via A_Explode. This flag overrides that behavior, blocking explosion damage between the same class as well. (This also means that monsters with this flag can't blow themselves up with their own explosive projectiles.)
Note, if DONTHARMSPECIES is used on the monster, adding this flag is pointless because it's implied.
This flag was previously named DONTHURTSPECIES, which was a misleading name that could lead to believe its effect was that of DONTHARMSPECIES.
  • DONTHARMSPECIES
Works the same way as the DONTHARMCLASS flag, except it checks for species, not class name. Prevents monsters with this flag from dealing explosion damage to other monsters that have the same species. By default, projectiles fired by monsters belonging to the same species don't deal impact damage but can deal damage and trigger infighting via A_Explode. This flag overrides that behavior, blocking explosion damage between monsters of the same species as well. (This also means that monsters with this flag can't blow themselves up with their own explosive projectiles.)
This flag implies DONTHARMCLASS.
  • NODAMAGE
The actor reduces ALL damage to 0, but still reacts to getting hurt (allowing infighting).
NOTE: Unlike INVULNERABLE, this flag carries a higher degree of protection against all effects. They cannot be killed with MDK, the "kill monsters" command, Thing_Destroy, telefrag damage, and are completely impervious to the FOILINVUL flag. If the actor has both INVULNERABLE and NODAMAGE, then FOILINVUL actors can still be used to draw their attention.
  • DONTRIP
Ripping projectiles die upon hitting this actor as though they were non-ripping projectiles. This takes precedence over ripping levels.
  • NOTELEFRAG
Actor cannot be telefragged. This only implies the actual teleport effect, not by damaging functions. Actors simply cannot teleport into that position at all.
  • ALWAYSTELEFRAG
An actor with this flag will unconditionally be telefragged by others when in the way.
  • DONTDRAIN
Actor's health cannot be drained with weapons that drain health from the victim such as Heretic's gauntlets, or with weapons using the lifesteal capability of A_Saw and A_CustomPunch.
  • LAXTELEFRAGDMG
By default, when an actor receives telefrag-esque damage (million points) from a single attack, damagefactors are ignored. This flag forces the damage to be mitigated or amplified regardless, based on damagetype and factor. Invulnerable and buddha capabilities are still foiled nonetheless.
Actors with this flag will cause actors with DOSHADOWBLOCK to get the SHADOW aiming penalty, if they are standing in the laters' line of fire.

Appearance and sound

  • BRIGHT
All of the actor's frames are rendered at full-bright, as if every frame had the bright keyword present.
  • INVISIBLE
Actor is invisible. This disables the rendering of actor's sprites, similarly to RenderStyle None, but in addition makes it actually invisible to monsters.
  • NOBLOOD
Actor does not bleed when hurt. Additionally, an actor with this flag is immune to poison bolts. You can also specify a blood type (without this flag) using the BloodType actor property.
  • NOBLOODDECALS
Actor does not generate blood decals when shot (but still generates blood sprites). Not needed if NOBLOOD is already specified.
  • STEALTH
Actor is a stealth monster. Stealth monsters are monsters that are visible only when they are in pain or attack; other than that, they are invisible.
  • FLOORCLIP
Actor's lower part is clipped when standing in a sector with a liquid texture (defined in the TERRAIN lump).
  • SPAWNFLOAT
Actor is spawned at a random height in the sector.
  • SPAWNCEILING
Actor is spawned hanging from the ceiling as opposed to standing on the floor. Use in conjunction with NOGRAVITY.
  • FLOATBOB
Use float bobbing z movement like Heretic/Hexen's powerups. Generally used with NOGRAVITY.
  • NOICEDEATH
Monster cannot be frozen, used to prevent the generic ice death.
  • DONTGIB
Actor cannot be crushed to a pile of blood by crushing ceilings. Also, dropped items with this flag cannot be crushed into nothingness as they usually do.
  • DONTSPLASH
Actor does not create any terrain splashes.
  • DONTOVERLAP
Two actors with this flag cannot occupy the same x/y-position. Note that this flag will short-circuit a large part of the collision detection code, so it is not recommended to be used unless unavoidable!
  • RANDOMIZE
Randomizes the duration for its first death and spawn frame of a projectile by removing up to 3 tics. Most of Doom's (but not Heretic's and Hexen's) projectiles use this.
  • FIXMAPTHINGPOS
Move thing out of walls. For torches and similar things that tend to be placed directly on a wall.
  • FULLVOLACTIVE
Plays its active sound at full volume.
  • FULLVOLDEATH
An exploding projectile plays its death sound at full volume.
An actor which calls A_Scream plays its death sound at full volume. (New from 4.11.0)
  • FULLVOLSEE
Plays its see sound at full volume.
  • NOWALLBOUNCESND
Does not play a sound when bouncing off a wall. Normally the SeeSound is played in this case.
  • VISIBILITYPULSE
The actor's translucency is pulsing between 25% and fully opaque.
  • ROCKETTRAIL
This object has a rocket particle trail. It will spawn a RocketSmokeTrail actor at its position every four tics.
  • GRENADETRAIL
This object has a grenade particle trail (from Skulltag's grenades). It will spawn a GrenadeSmokeTrail actor at its position every eight tics. This flag is ignored if the actor also has the ROCKETTRAIL flag, which gets priority.
  • NOBOUNCESOUND
Don't make a bouncing sound.
  • NOSKIN
Don't allow skins for this actor. Useful only for player classes.
  • DONTTRANSLATE
Prevents this actor from being translated when used as a blood class (using the BloodType property) or when spawned from another actor using A_SpawnItemEx.
On a player class, this prevents player translations from being applied.
Note: Changing this flag during play has no effect; this flag is only checked when the actor is spawned and is not referenced afterwards.
  • NOPAIN
The actor will never enter its pain state. Contrarily to merely giving a PainChance of 0, this overrides the FORCEPAIN flag on the inflictor. Note that it will still take damage, however.
Y and XY billboarding.
Added for GZDoom, Skulltag and Zandronum compatibility. Forces the actor's sprite to "billboard" to the screen on the Y-axis when using the OpenGL renderer. Does nothing in ZDoom.
Added for GZDoom, Skulltag and Zandronum compatibility. Forces the actor's sprite to "billboard" to the screen on the X- and Y-axes when using the OpenGL renderer. Does nothing in ZDoom (Also ZDoom already "billboards" sprites on the X- and Y-axes).

Projectile

  • MISSILE
Actor is a projectile. Actors with this flag set will enter their death state when hitting a solid wall or an actor, and constantly move at their speed value (without the need of any actor functions). Actors with this flag will also be able to go through impassable linedefs, unless they're set to block projectiles. This flag is automatically unset once the projectile dies upon hitting an actor or an obstacle, thus checking for it is the best generic way to check if the projectile is still active.
→ Automatically given by the Projectile combo
  • RIPPER
For projectiles that can rip through monsters and players. Ripping projectiles constantly cause their damage amount when ripping through actors, so low damage values are recommended. Bleeding actors also spew blood when being ripped. They will never be reflectable by any actor unless it comes into contact with an actor containing DONTRIP.
  • NOBOSSRIP
Ripper projectiles with this flag will not rip through monsters with the +BOSS flag.
  • NODAMAGETHRUST
An actor with that flag does not thrust away its victims when it inflicts damage.
  • DONTREFLECT
Will not reflect off of actors with the REFLECTIVE flag set, instead exploding on impact. If the projectile also includes the ability to bounce off of actors with special conditions, it will do so without being considered reflected and maintain who shot it and who it is seeking if set to do so. THRUREFLECT takes priority over this.
  • NOSHIELDREFLECT
Will not reflect off of actors with the SHIELDREFLECT flag set, instead exploding on impact. If the projectile also includes the ability to bounce off of actors with special conditions, it will do so without being considered reflected and maintain who shot it and who it is seeking if set to do so. THRUREFLECT takes priority over this.
  • FLOORHUGGER
Defines a projectile that is moving along the floor. Floor hugging projectiles pass over all obstacles until they hit a solid wall (not a raised floor).
  • CEILINGHUGGER
Defines a projectile that is moving along the ceiling.
  • BLOODLESSIMPACT
No blood is spawned when this projectile hits something. This also prevents hitscan weapons from spawning blood.
  • BLOODSPLATTER
Spawns blood splatter sprites when hitting a bleeding actor. This can also be used for hitscan weapons.
→ Automatically given by the Projectile combo when playing Heretic or Hexen
  • FOILINVUL
Can hurt invulnerable monsters (but not players).
  • FOILBUDDHA
Ignores the BUDDHA flag behavior and kills them if applicable. Damage factors and types still take priority. Players are unaffected by this flag.
  • SEEKERMISSILE
Actor is a homing missile. This is only used as a hint to the game. For a homing missile to be effective it also has to use one of the seeker missile code pointers in its moving states.
  • SCREENSEEKER
A seeker missile with this flag can only acquire a new target (in its tracer field) if the latter is in the field of vision of the missile's shooter (more exactly, within an about 84° cone from the shooter).
  • SKYEXPLODE
Projectile explodes and puff spawns when hitting a sky instead of vanishing.
A puff with this flag spawns on linedefs which have the Line_Horizon special set.
  • NOEXPLODEFLOOR
When hitting the floor the projectile just stops instead of exploding.
  • STRIFEDAMAGE
Strife uses a different damage calculation for its projectiles which results in lower damage; the damage is multiplied by a random value between 1 and 4, inclusive.
  • EXTREMEDEATH
This projectile or puff always gibs its victim.
  • NOEXTREMEDEATH
This projectile or puff never gibs its victim.
  • DEHEXPLOSION
Draw the missile's Death state translucent or additive depending on the addrocketexplosion console variable and the 'Rocket Explosion Style' and 'Rocket Explosion Alpha' settings in DeHackEd.
  • PIERCEARMOR
Armor does not alter the damage done by a projectile with this flag set.
  • FORCERADIUSDMG
All actors will take radius damage from this projectile, even boss enemies that are normally immune to radius damage.
  • FORCEZERORADIUSDMG
Forces splash damage of zero to pass through to the code responsible for damaging actors. The purpose of this is to give the projectile the chance to execute its special damage code.
  • SPAWNSOUNDSOURCE
This projectile will play its seesound from the originating actor.
  • PAINLESS
Actors will never enter their Pain state if hit by a projectile with this flag set.
  • FORCEPAIN
Actors will always enter the Pain state appropriate to the type of damage received if hit by a projectile with this flag set, even if the projectile does zero damage. The PAINLESS flag has precedence (a projectile with both PAINLESS and FORCEPAIN will not cause actors to enter their Pain state), and pain cannot be forced on actors with the NOPAIN flag set.
  • CAUSEPAIN
Actors will always be subject to their pain chance, even if said actors are invulnerable or the amount of damage inflicted is zero.
  • DONTSEEKINVISIBLE
Seeker missiles with this flag will not home in on invisible actors. See also the CANTSEEK flag.
  • STEPMISSILE
Missiles with this flag can climb up steps.
  • ADDITIVEPOISONDAMAGE
Several hits from missiles or puffs with the PoisonDamage property and this flag cause the poison damage suffered by the victim to increase.
  • ADDITIVEPOISONDURATION
Several hits from missiles or puffs with the PoisonDamage property and this flag cause the poisoning suffered by the victim to be prolonged.
  • POISONALWAYS
(Note: this flag does not apply to the Hexen style of poison which affects players only.)
Poison is inflicted even if the victim is invulnerable.
  • HITTARGET
Projectiles that die from hitting an actor will set that actor as its target pointer. Bouncing missiles can make use of this to immediately change their pointers upon bouncing. Bullets and rail attacks can benefit from this flag as well.
  • HITMASTER
Projectiles that die from hitting an actor will set that actor as its master pointer. Bouncing missiles can make use of this to immediately change their pointers upon bouncing. Bullets and rail attacks can benefit from this flag as well.
  • HITTRACER
Projectiles that die from hitting an actor will set that actor as its tracer pointer. Bouncing missiles can make use of this to immediately change their pointers upon bouncing. Bullets and rail attacks can benefit from this flag as well.
  • HITOWNER
(Note: despite having similar naming, this flag does not share the same functionality as the above three flags.)
Normally, projectiles go harmlessly through their shooters. This flag disables that behavior, and instead allows projectiles to collide with their shooters. This means, a projectile could potentially explode immediately upon being fired, possibly damaging its shooter, so care should be exercised when using the flag. A useful application of this flag is with bouncing projectiles, so that they collide with their shooters when bouncing back instead of going through them.

Bouncing

See also the bounce properties.

  • BOUNCEONWALLS
Missile bounces off of walls. Implied by Doom and Hexen bounce types.
  • BOUNCEONFLOORS
Missile bounces off of floors. Implied by all three bounce types.
  • BOUNCEONCEILINGS
Missile bounces off of ceilings. Implied by all three bounce types.
  • ALLOWBOUNCEONACTORS
Missile bounces off of non-bleeding actors. Implied by Doom and Hexen bounce types. Note that this needs to be set for BOUNCEONACTORS below to have any effect.
  • BOUNCEAUTOOFF
Missile stops bouncing if the velocity is too low after a bounce. Always triggered by a bounce on the ceiling, since moving downwards will always count as not moving upwards enough. Implied by the Doom bounce type.
  • BOUNCEAUTOOFFFLOORONLY
Missile stops bouncing if the velocity is too low after a bounce on the floor.
  • BOUNCELIKEHERETIC
Missile only bounces once, and never on walls, like Heretic's Firemace projectiles. Implied by Heretic bounce type.
  • BOUNCEONACTORS
Missile bounces off of all actors, even if they bleed and aren't reflective.
  • BOUNCEONUNRIPPABLES
Ripping missile bounces off of shootable actors with the DONTRIP flag set.
  • NOWALLBOUNCESND
Missile doesn't play a sound when hitting a wall. The Heresiarch's bouncing flaming skulls use this.
  • NOBOUNCESOUND
Missile doesn't make any sound at all when bouncing.
  • EXPLODEONWATER
Missile explodes when landing on a liquid surface. Usually they vanish in this case.
  • CANBOUNCEWATER
Missile bounces off of liquids normally. Usually they vanish in this case.
  • MBFBOUNCER
Missile is considered an MBF bouncer. They behave differently from normal bouncers in many situations:
  • They are considered to be missiles for several tests, even if they do not have the MISSILE flag. For example, a monster with that flag is able to cross impassable linedefs that do not block missiles.
  • They do not lose their bouncing properties when slowing down and coming to a rest.
  • USEBOUNCESTATE
Missile enters the most appropriate Bounce state available upon bouncing. Possible bounce states include Bounce, Bounce.Floor, Bounce.Ceiling, Bounce.Wall, Bounce.Actor, and Bounce.Actor.Creature. The Bounce.Actor.Creature state is used for bouncing over a shootable actor without the NOBLOOD flag.
  • DONTBOUNCEONSHOOTABLES
Missile does not bounce off shootable actors, and instead, it explodes.
  • DONTBOUNCEONSKY
Missile does not bounce off skies, and instead, it disappears.

Miscellaneous

  • ICESHATTER
An actor with this flag, when causing damage, can shatter ice corpses regardless of damage type. Note that initially the damage which kills and freezes the actor at first will not shatter it, but any damage done afterwards will.
  • DROPPED
Actor always acts as if it was dropped. Dropped items have two properties: They never respawn, and they will be crushed by doors and moving sectors, unless they have the DONTGIB flag.
  • ISMONSTER
Actor is classed as a monster.
→ Automatically given by the Monster combo
  • CORPSE
Actor is a corpse. For normal actors there is no need to set this but in combination with the Crash state it might be useful.
  • COUNTITEM
Counts toward item percentage.
  • COUNTKILL
Counts toward kill percentage.
→ Automatically given by the Monster combo
  • COUNTSECRET
Counts toward secret percentage.
  • NOTDMATCH
Actor is not spawned in deathmatch games.
  • NONSHOOTABLE
Actor cannot be hit (projectiles pass through).
  • DROPOFF
Actor can walk over ledges/taller steps. This would allow a monster to travel through a map with impunity.
→ Automatically given by the Projectile combo
  • PUFFONACTORS
Used on puff objects only. A puff with this flag is spawned even if the actor being hit bleeds. Normally in such a case only blood is spawned but no puff.
  • ALLOWPARTICLES
Used on puff and blood objects only. This flag allows the sprite to be replaced by particles.
  • ALWAYSPUFF
Used on puff objects only. Makes the puff appear even when nothing was hit. Puffs spawn on the floor/ceiling via rails if this flag is provided.
  • PUFFGETSOWNER
Used on puff objects. If set, the puff's target is set to the actor who fired the shot once it is spawned. Usually used in conjunction with A_GiveToTarget to achieve certain special effect. The same can be set with BFG Spray actors.
It can also be used on Blood: in that case the actor that is bleeding will be considered the Blood actor's target (by default player is considered any non-friendly actor's target). If A_FaceTarget function is added, the Blood actor will face the bleeding actor.
  • FORCEDECAL
A puff with this flag has its decal used instead of the one defined by the weapon.
  • NODECAL
A hitscan attack using a puff with this flag does not generate decals.
  • SYNCHRONIZED
Normally all actors spawned at level start are slightly randomized to avoid having all of them have the exact same appearance at the same time. This flag disables that randomization.
  • ALWAYSFAST
The monster with this flag does not take a random number of steps before attempting an attack. In addition, the reaction time is reduced and actor states marked as FAST will have their durations halved.
  • NEVERFAST
The monster with this flag will always take a random number of steps before attempting to attack. Opposite of ALWAYSFAST.
  • OLDRADIUSDMG
Use old radius damage code (for barrels and boss brain). Actors with this flag do not take z-height into account when calculating radius damage.
  • USESPECIAL
The actor's special will be triggered when the player presses use while facing this actor. The player will be considered the activator of the special.
Note: This default behavior can be modified with the Activation property.
  • BUMPSPECIAL
The actor's special will be triggered when the player touches this actor. The player will be considered the activator of the special.
Note: This default behavior can be modified with the Activation property.
  • BOSSDEATH
Makes A_FreezeDeathChunks and A_Burst call A_BossDeath.
  • NOINTERACTION
The actor is purely decorative. It will not interact with any other actor and will ignore all game physics (including solid walls and floors!), moving only according to its own momentum. (i.e. The actor will not be affected by gravity, but its movement can still be directly changed using ThrustThing.) All AI routines will ignore this actor's existence, speeding up processing time.
Note: Setting this flag implies removing the actor from the blockmap. If an actor had this flag set needs to be restored to being a solid object, A_ChangeLinkFlags(0) must be called manually to reset its blockmap data. Keep in mind NOBLOCKMAP will only apply on the next actor tick when used, meaning the actor is still subject to repositioning (i.e. if a puff without the flag hits a ledge, the engine may move it above the ledge). Including NOBLOCKMAP as part of the actor's definition will prevent this behavior, since the engine won't link it to begin with and save processing time.
  • NOTAUTOAIMED
The actor is ignored by autoaim. Can be overridden by setting cl_doautoaim to true.
  • NOMENU
A player class with this flag set is excluded from being listed in the class selection menu.
  • PICKUP
Tells the engine whether or not this class can pick up items. Mostly useful for preventing morphed players from using items.
  • TOUCHY
The actor dies at the slightest touch. This includes contact with another actor, sudden contact with the ceiling (closing door, raising elevator, floor or ceiling crusher, and so on), falling, and being blasted by an effect such as the disc of repulsion.
  • VULNERABLE
An actor with this flag can be affected by area-of-effect damage. Only matters for actors without the SHOOTABLE flag.
  • NOTONAUTOMAP
An actor with this flag will not be shown on the automap while the scanner powerup is in effect. The cheat code can still reveal the actors however.
  • WEAPONSPAWN
Actors with this flag are affected by cooperative weapon spawning filter DMFlag. Actors inheriting from Weapon will have this set.

Limited use

  • GETOWNER
Only useful with FastProjectiles. By default, the actors spawned by the FastProjectiles will set the projectile as the target pointer. Use this flag to get the original shooter as the owner for proper damage methods.
  • SEESDAGGERS
Strife specific flag. Any actor with this flag will react to a player using Strife's dagger which normally doesn't alert monsters. You can clear it from Strife's Acolytes though to prevent them from responding to dagger attacks.
  • INCOMBAT
Used for Strife's dialog system. An actor that has this flag set will not respond to the player's attempts to converse, even if it has a ConversationID set. Not particularly useful to have an actor spawn with, but can be set later if the actor should become hostile to the player.
  • NOCLIP
Actor is totally excluded from collision detection and can walk through walls etc.
  • NOSECTOR
Object is not linked into the sector. This makes it invisible and excludes it from certain physics checks. It is recommended not to use this flag due to its side effects. There are better ways to make an actor invisible, e.g. the INVISIBLE flag.
  • ICECORPSE
Actor is a frozen corpse.
  • JUSTHIT
Try to attack right back (used in monster AI, probably not particularly useful in actor definitions).
  • JUSTATTACKED
Take at least one step before attacking (also not particularly useful in an actor definition).
  • TELEPORT
Used when teleporting an actor. When something is teleported, this flag is set, it gets moved to its new position, it's checked for collision, then the flag is cleared (again, not useful for actor definition).
  • BLASTED
Actor takes temporary damage from impact. Related to the Disc of Repulsion. Not useful in actor definitions.
  • EXPLOCOUNT
A missile with this flag that should normally explode only does so if its increased special2 field is greater than its special1 field.
  • SKULLFLY
Actor is a charging monster. Like a MISSILE, its movement will not be damped, and it will cause damage on impact. In addition, the actor will not go into pain states, will also be blocked by items, and on impact SKULLFLY will be cleared and the actor will return to its initial state. It can be dynamically set like any ordinary flag, but the actor needs to have a velocity for it to do anything. A_SkullAttack and A_MinotaurCharge set this flag along with thrusting the actor.
  • RETARGETAFTERSLAM
A charging actor with this flag set enters the Idle state instead of the See state upon slamming into other actors. This flag is only used with the lost soul to restore its original behavior of reacquiring its target upon slamming into other actors.
  • ONLYSLAMSOLID
A charging actor with this flag will only collide with solid actors, instead of also colliding with non-solid actors like items. Solid actors are actors that have SOLID or SHOOTABLE.
  • SPECIALFIREDAMAGE
A projectile with this flag that causes fire damage will not inflict a fire death when killing an actor.
  • SPECIALFLOORCLIP
An actor with this flag is considered to use the floor clipping feature to achieve special effects, such as the buried reiver raising from the ground; so its floorclip is not adjusted by the engine depending on which terrain type it is standing.
  • SUMMONEDMONSTER
This flag's use is limited to the Minotaur actor class and derivatives; it basically alters the outcome of the functions exclusive to that class such as A_MinotaurDecide, resulting in minor behavioral changes. The only actor class that makes use of this flag is MinotaurFriend.
  • SPECIAL
Tells the engine that this actor can be picked up. The base class SpectralMonster has a special use for this flag that allows actors inheriting from it to hurt the player when they come in contact with said actors. Unsetting this on inventory-derived classes does nothing, as the engine will automatically assign this flag for all defined inventory.
Actor is not stored in savegames. As there is no record of the actor's existence, it would be missing from the game upon loading a savegame. So it is best, if anything, to use this flag with non-interactive actors, since they are inconsequential to the game world.

Boss event triggers

  • E1M8BOSS
When all actors with this flag in E1M8 are killed, the death sequence that lowers all floors with a tag of 666 will trigger.
  • E2M8BOSS
When all actors with this flag in E2M8 are killed, the map will automatically end.
  • E3M8BOSS
When all actors with this flag in E3M8 are killed, the map will automatically end like in E2M8.
  • E4M6BOSS
When all actors with this flag in E4M6 are killed, all sectors with a tag of 666 will quickly open.
  • E4M8BOSS
When all actors with this flag in E4M8 are killed, all the floors with a tag of 666 will lower to the closest floor.
  • MAP07BOSS1
When all actors with this flag are killed on MAP07, all floors with a tag of 666 will lower to the closest floor.
  • MAP07BOSS2
When all actors with this flag are killed on MAP07, all floors with a tag of 667 will raise by the height of the lowest texture.

Internal flags

These flags are used internally by GZDoom. But have also been exposed to ZScript to be usable for scripts too. These flags cannot be added directly to an actors' definition.

  • INCHASE
Used by A_Chase and A_Look/A_LookEx to prevent infinite recursion if the actor is already running the A_Chase function.
  • UNMORPHED
Marks the player or monster as being the original, unmorphed version of another player/monster.
  • FLY
Marks players as currently being able to fly, for as long as they have the flight powerup.
  • ONMOBJ
The actor is currently standing on top of another actor.
  • ARGSDEFINED
If the actor has args defined in its' DECORATE/ZScript definition, then this flag makes GZDoom ignore the map defined args for the actor.
  • NOSIGHTCHECK
Used by Thing_Hate types 2, 4, and 6, to make monsters attack other actors they've been set to hate, even if they currently have no line of sight to them.
  • CRASHED
The actor has entered its' Crash state.
  • WARNBOT
Used to make projectiles warn bots.
  • HUNTPLAYERS
Used by Thing_Hate types 2 and 4, to make monsters chase other monsters with a certain TID, but also still be able to chase players.
  • NOHATEPLAYERS
Used by Thing_Hate types 5 and 6, to make monsters only chase other monsters, and ignore players.
  • SCROLLMOVE
Marks the actor as being thrust by a scrolling sector.
  • VFRICITION
Used exclusively by A_PainAttack to make any monster with the FLOAT flag that called the function be thrust downwards once killed.
  • BOSSSPAWNED
Used by the boss cubes fired by the Icon of Sin, to mark the monsters it spawns as having been spawned by the IoS.
  • AVOIDINGDROPOFF
Used to make monsters avoid dropoffs.
  • CHASEGOAL
Set by Thing_SetGoal if the "Don't Chase Target" parameter is set to true. To make the monster only follow its' patrol route but still be able to attack its' enemies.
  • INCONVERSATION
Is turned on while the actor is engaging in conversation with the player.
  • ARMED
Used by MBF to mark actors with the TOUCHY flag that are alive and have a See state, as being armed mines.
  • FALLING
Does nothing.
  • LINEDONE
Used by the deprecated A_LineEffect function to make the actor not be able to execute another special. After it executes a special that is not repeating.
  • SHATTERING
Marks an actor as needing to forcibly shatter eventually after becoming an ice corpse.
  • KILLED
Turned on when an actor dies, to mark it as having been killed. This does not necessarily mean that the actor is a corpse.
  • BOSSCUBE
Used to mark boss cubes spawned by A_BrainSpit as such. To prevent the cubes from accelerating while they are frozen in place.
  • INTRYMOVE
Turned on when the actor is running P_TryMove().
  • HANDLENODELAY
This flag is enabled right at the start of the PostBeginPlay() virtual of all actors, to make them obey the NoDelay state keyword.
  • FLYCHEAT
This flag along with the FLY flag is turned on if the player starts flying using the fly cheat.
  • RESPAWNINVUL
Enables the invulnerability visual effect respawned players get in Deathmatch when sv_respawnprotect is on.

Deprecated flags

These flags should no longer be used. They are documented here for reference purposes.

Actor is subject to low gravity.
Superseded by the Gravity actor property. Use Gravity 0.125 instead.
Actor is subject to 1/4th of normal gravity.
This flag was only added for compatibility with certain Skulltag definitions. Use Gravity 0.25 instead.
When closer than 196 map units to its target, this monster does not start its missile attacks.
Superseded by the MeleeThreshold actor property. Use MeleeThreshold 196 instead.
Has a limited missile attack range of 896 map units.
Superseded by the MaxTargetRange actor property. Use MaxTargetRange 896 instead.
Has a higher chance of performing a ranged attack.
Superseded by the MinMissileChance actor property. Use MinMissileChance 160 instead.
Actor takes one half of the normal damage from fire.
Superseded by the DamageFactor actor property. Use DamageFactor "Fire", 0.5 instead.
This is an alternate name for DONTHARMCLASS. This name has been deprecated because it is misleading, as its effect is unrelated to the actual definition of Species in the ZDoom engine.
Actor inflicts fire damage.
Superseded by the DamageType actor property. Use DamageType "Fire" instead.
Actor inflicts ice damage.
Superseded by the DamageType actor property. Use DamageType "Ice" instead.
Heretic-style bouncing (objects only bounce off planes).
Use BounceType "Heretic" or the following flags instead: BOUNCEONFLOORS, BOUNCELIKEHERETIC.
Hexen-style bouncing (objects bounce off planes and walls).
Use BounceType "Hexen" or the following flags instead: BOUNCEONWALLS, BOUNCEONFLOORS, ALLOWBOUNCEONACTORS.
ZDoom-style bouncing (like Hexen but stops when losing a certain amount of momentum).
Use BounceType "Doom" or the following flags instead: BOUNCEONWALLS, BOUNCEONFLOORS, ALLOWBOUNCEONACTORS, BOUNCEAUTOOFF.
The monster with this flag had the duration of the states in its See state sequence halved in nightmare skill or with fast monsters on. This flag has no effect anymore and the Fast state keyword should be used instead.
The duration of the states in the the monster's Melee state sequence was halved in nightmare mode or with fast monsters on. This flag has no effect anymore and the Fast state keyword keyword should be used instead.

Additional flags

Some subclasses of Actor define their own additional flags. They are listed here:

Inventory

  • INVENTORY.QUIET
When this item is picked up, its pickup sound is not played. Additionally, neither its pickup message nor the pickup palette flash are displayed.
  • INVENTORY.AUTOACTIVATE
This item activates automatically when being picked up.
  • INVENTORY.UNDROPPABLE
This item cannot be dropped once it has been picked up. Note that this also prevents the actor from being removed when ClearInventory or ClearActorInventory is called.
  • INVENTORY.UNCLEARABLE
This item cannot be removed by ClearInventory or ClearActorInventory, but can be dropped/tossed.
  • INVENTORY.INVBAR
This item is placed into the visible inventory when picked up.
  • INVENTORY.HUBPOWER
This item is kept when travelling between levels of the same hub.
  • INVENTORY.PERSISTENTPOWER
This item is kept when travelling between levels, even outside of a hub.
This item is taken away when traveling between hubs or single levels. Replaced by the more flexible Inventory.InterHubAmount property.
When being picked up a PickupFlash actor is spawned. This is the blue effect you can observe on Heretic and Hexen. This flag has been deprecated and it is recommended that you use the Inventory.PickupFlash property instead.
  • INVENTORY.ALWAYSPICKUP
This item is always picked up no matter whether the player can use it or not. This only applies to items that activate automatically.
The pickup sound is supposed to be played in surround mode. This flag does not actually have any effect.
  • INVENTORY.NOATTENPICKUPSOUND
The pickup sound is played with no attenuation, which means it is played at full volume and is heard clearly regardless of distance.
  • INVENTORY.BIGPOWERUP
Marks this item as a 'powerful' item which is controlled by the 'mega powerups respawn' dmflag option.
  • INVENTORY.NEVERRESPAWN
An item with this flag will never respawn in any circumstance.
  • INVENTORY.KEEPDEPLETED
This item will remain in the player's inventory bar even after the last one is used. If the item also has an inventory icon, it will be drawn darkened when the quantity is 0.
  • INVENTORY.IGNORESKILL
Normally, the amount of ammo picked up from an inventory item is doubled on the easiest and hardest skill levels. If this flag is set, the item will ignore the skill setting and only give the specified ammo amount. This flag is typically used on a magazine for reloading weapons so that only one round is inserted into the magazine per round of ammunition depleted from the main ammo pool.
  • INVENTORY.ADDITIVETIME
If set, when a player picks up a second powerup of this type before the first has worn off, the new powerup's duration will be added to the old, rather than overwriting it. For example, if a powerup has a duration of 60 seconds, and a player who currently has the powerup with 21 seconds left picks up a second one, normally the new powerup will override the old and the duration will be reset to 60 seconds. With this flag set, the duration would be extended to 81 seconds instead. This flag can either be set directly on a powerup or its giver.
  • INVENTORY.UNTOSSABLE
If set, the item cannot be tossed with the drop console command.
  • INVENTORY.RESTRICTABSOLUTELY
If set, the Inventory.ForbiddenTo and Inventory.RestrictedTo will prevent player classes not allowed to pick up a weapon from attempting to pick it up for ammo. This function prevents the item's TryPickupRestricted virtual from running.
  • INVENTORY.NOSCREENFLASH
Upon picking up an item with this flag, the associated pickup palette flash will not be displayed.
  • INVENTORY.TOSSED
An item with this flag is treated as being dropped.
  • INVENTORY.ALWAYSRESPAWN
An item with this flag will always respawn, regardless of the dmflag option. Note, this flag is different from the regular ALWAYSRESPAWN flag (without prefix): the latter one is for monsters, while this one is for items. In ZScript, where flag prefixes are not optional, you have to use +INVENTORY.ALWAYSRESPAWN, not +ALWAYSRESPAWN to make it work for Inventory items. Also, if dealing with a non-Inventory pointer, you will need to cast to Inventory first in order to access this flag.
  • INVENTORY.TRANSFER
An item with this flag will transfer all items in its inventory to the acquiring actor's own.
  • INVENTORY.NOTELEPORTFREEZE
Normally, a teleporting player loses the ability to move for about half a second before regaining it; an active power with this flag overrides this behavior.This flag can either be set directly on a powerup or its giver.
  • INVENTORY.NOSCREENBLINK
Powerups will never show the fade blinking every 1/4 of a second, which serves as an expiration warning. Useful when using scripting to allow special effects to happen without the blinking causing visual interference.
  • INVENTORY.ISHEALTH
An item with this flag set does not spawn if the sv_nohealth console variable is true.
  • INVENTORY.ISARMOR
An item with this flag set does not spawn if the sv_noarmor console variable is true.

Weapons

  • WEAPON.NOAUTOFIRE
Does not fire when selected automatically and the fire button is still pressed. Used to prevent dangerous weapons from firing accidentally.
In addition to the main effect, if a weapon uses this flag and does not call A_ReFire anywhere, it won't be able to fire continuously if the player just keeps holding the attack button; instead, the player will be required to press it every time they want the weapon to fire.
  • WEAPON.READYSNDHALF
The ready sound is played only with 50% probability.
  • WEAPON.DONTBOB
The weapon sprite does not bob.
  • WEAPON.AXEBLOOD
This weapon spawns the special AxeBlood type when hitting something that bleeds. This only has an effect for hitscan and melee weapons.
  • WEAPON.NOALERT
Does not alert nearby monsters when being fired.
  • WEAPON.AMMO_OPTIONAL
Tells the engine that this weapon doesn't require ammo to work.
  • WEAPON.ALT_AMMO_OPTIONAL
The same for the alternate attack.
  • WEAPON.AMMO_CHECKBOTH
The weapon can be selected if either the primary or the alternate fire have enough ammo. Both weapon properties Weapon.AmmoUse1 and Weapon.AmmoUse2 must have a positive value for this flag to work correctly.
  • WEAPON.PRIMARY_USES_BOTH
The primary attack uses both ammo types.
  • WEAPON.ALT_USES_BOTH
Like WEAPON.PRIMARY_USES_BOTH, makes the AltFire (secondary) attack use both ammo types.
  • WEAPON.WIMPY_WEAPON
A small weapon with limited capabilities. If ammo for something better gets picked up the game will automatically switch weapons unless the weapon to switch to has the NOAUTOSWITCHTO flag set.
  • WEAPON.POWERED_UP
This is a powered up weapon. Powered up weapons cannot exist by themselves. They always are linked to a normal weapon via the weapon.sisterweapon property and are only activated by using Heretic's Tome of Power or another artifact based on PowerWeaponLevel2.
  • WEAPON.STAFF2_KICKBACK
Uses the special kickback formula of Heretic's powered up staff. Unlike normal kickback this is a fixed thrust value.
  • WEAPON.EXPLOSIVE
Signifies to bots that the weapon fires explosive projectiles.
  • WEAPON.MELEEWEAPON
Signifies to bots, and to monsters with the AVOIDMELEE flag, that the weapon is a melee weapon.
  • WEAPON.BFG
Signifies to bots that the weapon causes a lot of damage.
  • WEAPON.CHEATNOTWEAPON
Weapon is not given by the 'give weapons' cheat.
  • WEAPON.NO_AUTO_SWITCH
When the player picks this weapon up, they will never automatically switch to it.
  • WEAPON.NOAUTOSWITCHTO
A weapon with this flag set cannot be switched to automatically upon obtaining ammo for it. Typically, if the player had run out of ammo for a weapon, and the weapon that was automatically switched to as a result is a weak weapon, obtaining ammo for the other weapon automatically switches away from the weak weapon and back to it, provided the player had not manually switched weapons in the interim, and the other weapon has a higher selection priority than the weak one.
  • WEAPON.NOAUTOAIM
A weapon with that flag will not adjust the aim of an attack, no matter the player's autoaim settings. This is intended to be used only for projectiles affected by gravity, such as grenades, where the player will usually want to aim higher than in a straight line, though it does also affect hitscan and railgun attacks.
  • WEAPON.NODEATHDESELECT
The weapon will not jump to the deselect state when the player dies.
  • WEAPON.NODEATHINPUT
The weapon cannot act on any input if the player is dead.

PowerSpeed

  • POWERSPEED.NOTRAIL
If set, it disables the speed trail effect that is created while the player is moving.

Players

  • PLAYERPAWN.NOTHRUSTWHENINVUL
Player is not thrusted by attacks when invulnerable.
  • PLAYERPAWN.CANSUPERMORPH
If this flag is given to a player morph, the morphed player recieves a tome of power if they are attempted to be morphed again. This is used by the chicken morph to reproduce the original behavior of Heretic and its "super chickens".
  • PLAYERPAWN.CROUCHABLEMORPH
Enables crouching for morphed player classes.
  • PLAYERPAWN.WEAPONLEVEL2ENDED
Signals that an enhanced weapon power has expired, so the code responsible switches the player's powered-up weapon back to its normal form.
This flag was introduced as part of a solution to make switching from the powered-up weapon to its normal form seamless upon the power's expiration, so it may not be used in user code.


Skulltag specific flags

For Skulltag specific flags see Skulltag actor Flags.