Actor flags
From ZDoom Wiki
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
The following flags exist:
Contents |
Physics
- SOLID
- Set when the object should be solid (blocking).
- SHOOTABLE
- Object can be damaged. If health goes below 0 it enters its death state.
- FLOAT
- Floating monster - can change height at will.
- NOGRAVITY
- Actor is not subject to gravity.
- LOWGRAVITY
- Actor is subject to low gravity.
- See Actor properties for a more flexible function "gravity"
- QUARTERGRAVITY (development version only)
- Actor is subject to 1/4th of normal gravity.
- See Actor properties for a more flexible function "gravity"
- WINDTHRUST
- Actor is thrust by wind.
- HERETICBOUNCE
- Heretic style bouncing (objects only bounce off the floor).
- HEXENBOUNCE
- Hexen style bouncing (objects bounce off floors and walls).
- DOOMBOUNCE
- ZDoom style bouncing (like hexen but stops when losing a certain amount of momentum).
- The 3 bounce types are mutually exclusive. See Actor properties for custom properties bouncefactor and bounceamount.
- PUSHABLE
- Actor can be pushed.
- DONTFALL
- Doesn't fall down after being killed.
- 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.
- 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. Almost all projectiles have this set.
- 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.
Behavior
- AMBUSH
- Monster is set to ambush players: The monster will not wake up after hearing the player until it has a direct line of sight to him (It does not need to be facing him, however). 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!
- 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.
- NOSPLASHALERT
- This monster is not alerted by terrain splash sounds like landing in water.
- LOOKALLAROUND
- Looks in all directions for targets, not just in front of itself.
- 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.
- QUICKTORETALIATE
- Normally, when an actor acquires a target, it is prevented from switching to a new target for a set period of time (Specifically, it sets a counter at 100 and counts down by 1 for every A_Chase call the actor makes). 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 Archvile uses this flag.
- DORMANT
- Actor is dormant and has to be activated with Thing_Activate.
- FRIENDLY
- This monster doesn't target the player. Instead it attacks other monsters. Note that friendly Arch-Viles will resurrect all monsters - hostile and friendly - turing them into friendlies.
- LONGMELEERANGE
- When closer than 192 map units to its target, this monster doesn't start its missile attacks
- MISSILEMORE
- Increases the probability of a missile attack from farther away.
- MISSILEEVENMORE
- Increases the probability of a missile attack from farther away even more. Both flags can be combined for extra aggressive monsters.
- SHORTMISSILERANGE
- Has a limited missile attack range of approx. 1000 map units.
- NOTARGETSWITCH
- A monster with this flag never switches its target unless its current target is dead.
- ALWAYSRESPAWN (development version only)
- A monster with this flag will respawn in any skill level as though the skill level was set to Nightmare.
- NEVERRESPAWN (development version only)
- A monster with this flag will never respawn, even in Nightmare.
(In)Abilities
- CANNOTPUSH
- This actor cannot push pushable objects.
- NOTELEPORT
- Actor cannot teleport.
- ACTIVATEIMPACT
- Upon hitting a wall this actor can activate G1/GR lines.
- CANPUSHWALLS
- Upon hitting a wall this actor can activate P1/PR lines.
- CANUSEWALLS
- This actor can activate unlocked doors and lifts. (Original Doom monster behavior)
- ACTIVATEMCROSS
- This actor can activate 'Monster crosses' lines.
- ACTIVATEPCROSS
- This actor can activate 'Projectile crosses' lines.
- CANTLEAVEFLOORPIC
- This actor cannot cross into a sector with a different floor texture.
- TELESTOMP
- This actor can telefrag others.
- STAYMORPHED
- If morphed this actor cannot revert to its original form.
- CANBLAST
- Can be blasted by Hexen's Disc of Repulsion. For monsters this is implicit.
- NOBLOCKMONST
- Actor can walk through monster blocking lines.
- CANBOUNCEWATER
- Can bounce on water. Normally an object is destroyed in this case.
- THRUGHOST
- This actor passes through ghosts (set with the GHOST flag).
- SPECTRAL
- A monster with this flag can only be hurt by a missile that also has this flag set.
- FRIGHTENED
- Monster runs away from player
- NOTARGET
- Actor cannot be targeted by other monsters. This does not prevent hostile monsters from being targeted by friendly monsters.
- NOINFIGHTING (development version only)
- The inverse of NOTARGET. This actor will never turn on another monster when provoked
- NOTIMEFREEZE (development version only)
- This actor is not affected by time freeze powerups or the console "freeze" cheat.
Defenses
- INVULNERABLE
- Actor cannot be hurt.
- REFLECTIVE
- Actor reflects missiles shot at it. By default projectiles are reflected at a random angle.
- 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.
- FIRERESIST
- Actor takes one quarter of the normal damage from fire.
- NORADIUSDMG
- Actor cannot be hurt by radius (explosive) damage.
- DONTBLAST
- Cannot be blasted by Hexen's Disc of Repulsion.
- GHOST
- Actor is a ghost. This does not imply translucency etc. Some of Heretic's projectiles and weapons cannot attack ghosts.
- DONTMORPH
- 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.
- DONTHURTSPECIES
- Prevents any monster of this kind from receiving explosive damage by a projectile fired by a monster of the same kind. This is recommended for monsters that shoot explosive projectiles so that they don't kill themselves.
- NODAMAGE
- The actor still reacts to getting hurt but doesn't take any actual damage from the event.
- DONTRIP (development version only)
- Ripping projectiles die upon hitting this actor as though they were non-ripping projectiles.
Appearance & Sound
- INVISIBLE
- Actor is invisible. Unlike RenderStyle None this also implies invisibility to monsters.
- SHADOW
- Actor is nearly invisible. Unlike regular Doom this does not automatically imply fuzziness. For that you have to specify renderstyle Fuzzy.
- NOBLOOD
- Actor does not bleed when hurt.
- 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.
- NOICEDEATH
- Monster cannot be frozen, used to prevent the generic ice death.
- DONTGIB
- Actor cannot be crushed to a pile of blood.
- DONTSPLASH
- Actor does not create any terrain splashes.
- DONTOVERLAP
- Two actors with this flag cannot occupy the same x/y-position.
- RANDOMIZE
- Randomizes the duration for its first frame. 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
- Plays its death sound at full volume. This only works for projectiles.
- 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.
- GRENADETRAIL
- This object has a grenade particle trail.
- 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_SpawnItem.
- NOPAIN
- The actor will never enter its pain state. Note that it will still take damage, however.
Projectile
- MISSILE
- Actor is a projectile.
- RIPPER
- For projectiles that can rip through monsters and players.
- FIREDAMAGE (deprecated)
- Actor inflicts fire damage (this flag is deprecated, use damagetype property instead).
- ICEDAMAGE (deprecated)
- Actor inflicts ice damage (this flag is deprecated, use damagetype property instead).
- NODAMAGETHRUST
- Upon hitting another actor the victim is not thrust when damaged.
- DONTREFLECT
- Will not reflect off of actors with the REFLECTIVE flag set.
- FLOORHUGGER
- Defines a projectile that is moving along the floor.
- CEILINGHUGGER
- Defines a projectile that is moving along the ceiling.
- BLOODLESSIMPACT
- No blood is spawned when this projectile hits something.
- BLOODSPLATTER
- Spawns blood splatter sprites when hitting a bleeding actor. This can also be used for hitscan weapons.
- FOILINVUL
- Can hurt invulnerable monsters (but not players).
- 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.
- SKYEXPLODE
- Projectile explodes when hitting a sky instead of vanishing.
- 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.
- EXTREMEDEATH
- This projectile or weapon always gibs its victim.
- NOEXTREMEDEATH
- This projectile or weapon never gibs its victim.
- BOUNCEONACTORS
- Bouncing missile doesn't explode when it hits an actor.
- EXPLODEONWATER
- Bouncing missile explodes when hitting a water surface.
- 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
- The missile ignores the targer's armor.
- FORCERADIUSDMG
- All actors will take radius damage from this projectile, even boss enemies that are normally immune to radius damage.
- SPAWNSOUNDSOURCE
- This projectile will play its seesound from the originating actor.
Miscellaneous
- DROPPED
- Actor always acts as if it was dropped. The item will be removed permanently when picked up.
- ISMONSTER
- Actor is a monster
- 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.
- COUNTKILL
- Counts toward kill percentage.
- COUNTITEM
- Counts toward item percentage.
- NOTDMATCH
- Actor is not spawned in Deathmatch games.
- NONSHOOTABLE
- Actor cannot be hit (projectiles pass through).
- DROPOFF
- Monster can walk over ledges/taller steps. This would allow a monster to travel through a map with impunity.
- 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 objects only. This flag allows the puff sprite to be replaced by particles.
- ALWAYSPUFF
- Used on puff objects only. Makes the puff appear even when nothing was hit.
- PUFFGETSOWNER (development version only)
- Used on puff objects only. If set, the puff's target is set to the player who fired the shot when it is spawned.
- SYNCHRONIZED
- Normally all actors spawned at level start are slightly randomized to avoid having all of them have the exact same appearence at the same time. This flag disables that randomization.
- FASTER
- monster moves twice as fast in nightmare skill or with fast monsters on.
- ALWAYSFAST
- monster always moves twice as fast, regardless of skill level.
- NEVERFAST
- monster never moves faster than normal, regardless of skill level.
- FASTMELEE
- The melee attack of this monster is done with twice the speed in nightmare mode or with fast monsters on.
- OLDRADIUSDMG
- Use old radius damage code (for barrels and boss brain).
- USESPECIAL
- The actor's special will be triggered when the player presses use while facing this actor.
- BOSSDEATH
- Makes A_FreezeDeathChunks and A_Burst call A_BossDeath.
- NOINTERACTION (development version only)
- The actor is purely decorative. It will not interact with any other actor and will ignore all game physics, 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 existance, speeding up processing time.
Limited Use
- 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
- Strife specific flag that currently has no use in DECORATE.
- 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)
- FORCEYBILLBOARD
- Added for Skulltag compatibility. Forces the actor's sprite to "billboard" to the screen on the Y-axis when using the OpenGL renderer. Does nothing in ZDoom.
- FORCEXYBILLBOARD
- Added for Skulltag 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.
Inventory flags
Inventory items and weapons define their own additional flags.

