Actor flags

From ZDoom Wiki

Jump to: navigation, 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


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"
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.
A monster with this flag will respawn in any skill level as though the skill level was set to Nightmare.
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.
The inverse of NOTARGET. This actor will never turn on another monster when provoked
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
Cannot be morphed into a chicken or pig.
  • 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.
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.
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.
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)
Y and XY billboarding.
Y and XY billboarding.
  • 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.

Personal tools