Thing type flags: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(→‎flags4: Added new flags.)
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Flags=
Thing type flags are properties that can be set on or off, to control special behavior. They belong to thing classes, such as Zombieman or BaronOfHell, and shouldn't be confused with the mapthing flags, which affect individual objects in a level, regardless of species (see [[ExtraData#options|ExtraData mapthing options]] for that type of flags).
*1''' SPECIAL'''
 
Collectable item (can be picked up).
Thingtype flags are used by the [[thingtype]] block in EDF, with the fields: '''flags''', '''flags2''', '''flags3''', '''flags4''', '''cflags''', '''addflags''' and '''remflags'''. They are also used by the [[SetFlags]] and [[UnSetFlags]] [[List of codepointers|codepointers]].
*2 '''SOLID'''
 
Blocks other objects.
The flags are grouped (currently) into four categories, because only 32 bits can enter a long integer block. This was once important for Eternity editing, such as via DeHackEd, but since the extension of EDF arguments to a runtime evaluation system, there is no longer any need to use the original restricted '''flags''' fields.
*4 '''SHOOTABLE'''
 
Can take damage and be targeted.
'''flags''' up to '''flags4''' can only use bits from their own namespaces, while '''cflags''', '''addflags''' and '''remflags''' combine all flags into a single namespace, excepting the '''flags''' bit '''SLIDE'''.
*8 '''NOSECTOR'''
 
Not linked within a sector. Invisible but can be hit. Never appears in the automap, even with the cheat.
{{backto|EDF thing reference}}
*16''' NOBLOCKMAP'''
 
Not linked within a blockmap. Cannot be hit but can hit.
=flags=
*32 '''AMBUSH'''
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
Always with the "ambush" flag, regardless of map thing setting. Will only wake up when encountered.
!style="background-color: #C5D0E1"| Flag name
*64 '''JUSTHIT'''
!style="background-color: #E3EEFF"| Bit number
Attacks as soon as activated and seeing the target.
!style="background-color: #C5D0E1"| Decimal
*128 '''JUSTATTACKED'''
!style="background-color: #E3EEFF"| Hexadecimal
Delays a bit before attacking.
!style="background-color: #C5D0E1"| Description
*256 '''SPAWNCEILING'''
|-style="background-color: #F5F5F5"
Spawns to ceiling instead of floor. Spawn height calculation is done from ceiling.
| '''SPECIAL'''
*512 '''NOGRAVITY'''
| 0
Doesn't fall.
| 1
*0x400 '''DROPOFF'''
| 0x01
Can pass ledges or gaps deeper than 24.
| Collectable item (can be picked up).
*0x800 '''PICKUP'''
|-style="background-color: #D9D9D9"
Picks up items.
| '''SOLID'''
*0x1000 '''NOCLIP'''
| 1
Walks through all solids and can't activate walk line specials
| 2
*0x2000 '''SLIDE'''
| 0x02
No effect. Use the SLIDE flag from the third list.
| Blocks other objects.
*0x4000 '''FLOAT'''
|-style="background-color: #F5F5F5"
Floating monster behavior.
| '''SHOOTABLE'''
*0x8000 '''TELEPORT'''
| 2
Can go past steps of any height. May need DROPOFF in order for monsters to actually do it.
| 4
*0x10000 '''MISSILE'''
| 0x04
Is a projectile and acts as such (not required for those with BOUNCES). If a shootable object placed on the map, it will be propelled by first shot without stopping, until it hits a wall and dies on contact.
| Can take damage and be targeted.
*0x20000 '''DROPPED'''
|-style="background-color: #D9D9D9"
Set internally for items dropped on death (such as trooper ammo clips).
| '''NOSECTOR'''
*0x40000 '''SHADOW'''
| 3
Set for spectres and such. Fuzz effect and monster accuracy confusion.
| 8
*0x80000 '''NOBLOOD'''
| 0x08
Does not bleed when gun-shot. Spawns normal dust and puff.
| Not linked into sectors. Invisible, but can be hit. Won't be damaged by crushing floors and ceilings. Never appears in automap, even with cheats. For sprite invisibility without these side effects, use DONTDRAW from flags2 instead.
*0x100000 '''CORPSE'''
|-style="background-color: #F5F5F5"
Slides helplessly over ledges just like the Doom corpses (effect unnoticeable if the "torque" gameplay setting is enabled).
| '''NOBLOCKMAP'''
*0x200000 '''INFLOAT'''
| 4
Internal, used for floating monsters' maintenance.
| 16
*0x400000 '''COUNTKILL'''
| 0x10
Count towards kill score (if defeated). Warning: if COUNTKILL is to be disabled, use KILLABLE instead.
| Not linked into the blockmap. Cannot be hit, but can hit other objects.
*0x800000 '''COUNTITEM'''
|-style="background-color: #D9D9D9"
Count towards item score (if picked up).
| '''AMBUSH'''
*0x1000000 '''SKULLFLY'''
| 5
Internal, used for charging monsters' maintenance.
| 32
*0x2000000 '''NOTDMATCH'''
| 0x20
Never placed in deathmatch from a mapthing.
| Always has "AMBUSH" mapthing flag behavior. Will only wake up when an enemy is seen.
*0x4000000 '''TRANSLATION1'''
|-style="background-color: #F5F5F5"
Turn green into grey.
| '''JUSTHIT'''
*0x8000000 '''TRANSLATION2'''
| 6
Turn green into brown, or grey into red.
| 64
*0x10000000 '''TOUCHY'''
| 0x40
Dies on touch from different species, unless the participants are a pain elemental and a lost soul.
| Internal flag, monster will attack as soon as it is activated.
*0x20000000 '''BOUNCES'''
|-style="background-color: #D9D9D9"
Bounces. Subtle different behaviors may be achieved
| '''JUSTATTACKED'''
| 7
| 128
| 0x80
| Internal flag, delays a bit before attacking.
|-style="background-color: #F5F5F5"
| '''SPAWNCEILING'''
| 8
| 256
| 0x100
| Spawns on the ceiling instead of the floor.
|-style="background-color: #D9D9D9"
| '''NOGRAVITY'''
| 9
| 512
| 0x200
| Is not subject to gravity.
|-style="background-color: #F5F5F5"
| '''DROPOFF'''
| 10
| 1024
| 0x400
| Can pass over ledges higher than 24 units.
|-style="background-color: #D9D9D9"
| '''PICKUP'''
| 11
| 2048
| 0x800
| Can pick up items. Currently only works on player class objects.
|-style="background-color: #F5F5F5"
| '''NOCLIP'''
| 12
| 4096
| 0x1000
| Is not clipped against other objects or lines.
|-style="background-color: #D9D9D9"
| '''SLIDE'''
| 13
| 8192
| 0x2000
| For compatibility only, has no effect. Use '''flags3''' bit '''SLIDE''' instead.
|-style="background-color: #F5F5F5"
| '''FLOAT'''
| 14
| 16384
| 0x4000
| Has floating monster behavior.
|-style="background-color: #D9D9D9"
| '''TELEPORT'''
| 15
| 32768
| 0x8000
| Unused vanilla flag. Can go over steps of any height, has other odd behaviors. Use not recommended.
|-style="background-color: #F5F5F5"
| '''MISSILE'''
| 16
| 65536
| 0x10000
| Is a projectile.
|-style="background-color: #D9D9D9"
| '''DROPPED'''
| 17
| 131072
| 0x20000
| Internal flag for dropped items (trooper clips, etc). Can be crushed, never respawns.
|-style="background-color: #F5F5F5"
| '''SHADOW'''
| 18
| 262144
| 0x40000
| Renders as spectre fuzz. Monsters aiming at this thing will suffer inaccuracy.
|-style="background-color: #D9D9D9"
| '''NOBLOOD'''
| 19
| 524288
| 0x80000
| Doesn't bleed when hit by tracer attacks; spawns bullet puffs instead.
|-style="background-color: #F5F5F5"
| '''CORPSE'''
| 20
| 1048576
| 0x100000
| Is a corpse and may slide over ledges. Also checked by Arch-viles.
|-style="background-color: #D9D9D9"
| '''INFLOAT'''
| 21
| 2097152
| 0x200000
| Internal flag, used for floating monster AI.
|-style="background-color: #F5F5F5"
| '''COUNTKILL'''
| 22
| 4194304
| 0x400000
| Counts toward kill score when defeated, and is considered a valid target. See also '''KILLABLE'''.
|-style="background-color: #D9D9D9"
| '''COUNTITEM'''
| 23
| 8388608
| 0x800000
| Counts toward item score when collected. May respawn if item respawning is enabled.
|-style="background-color: #F5F5F5"
| '''SKULLFLY'''
| 24
| 16777216
| 0x1000000
| Internal flag, used for charging monster maintenance.
|-style="background-color: #D9D9D9"
| '''NOTDMATCH'''
| 25
| 33554432
| 0x2000000
| Is not spawned at level start in Deathmatch game modes.
|-style="background-color: #F5F5F5"
| '''TRANSLATION1'''
| 26
| 67108864
| 0x4000000
| Remaps green to gray in sprites.
|-style="background-color: #D9D9D9"
| '''TRANSLATION2'''
| 27
| 134217728
| 0x8000000
| Remaps green to brown, or gray to red if combined with '''TRANSLATION1'''.
|-style="background-color: #F5F5F5"
| '''TOUCHY'''
| 28
| 268435456
| 0x10000000
| Dies on contact with solid things of other species, excepting Lost Souls and Pain Elementals.
|-style="background-color: #D9D9D9"
| '''BOUNCES'''
| 29
| 536870912
| 0x20000000
| Bounces. Can be combined with other flags for various effects. See below.
|-style="background-color: #F5F5F5"
| '''FRIEND'''
| 30
| 1073741824
| 0x40000000
| Friendly monster, MBF/Eternity variety.
|-style="background-color: #D9D9D9"
| '''TRANSLUCENT'''
| 31
| 2147483648
| 0x80000000
| Renders with BOOM-style translucency, controlled by user translucency level setting.
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
|}
 
*'''BOUNCES'''
Bounces. Different behaviors may be achieved by combining with other flags:
:BOUNCES+MISSILE: as a missile, bounces off floors and ceilings but explodes everywhere else. Useful for not allowing the BFG to conveniently explode.
:BOUNCES+MISSILE: as a missile, bounces off floors and ceilings but explodes everywhere else. Useful for not allowing the BFG to conveniently explode.
:BOUNCES+NOGRAVITY: bounces off all surfaces. Can be used for projectiles despite lack of MISSILE flag.
:BOUNCES+NOGRAVITY: bounces off all surfaces. Can be used for projectiles despite lack of MISSILE flag.
Line 65: Line 223:
:BOUNCES+FLOAT+DROPOFF: even higher jumping.
:BOUNCES+FLOAT+DROPOFF: even higher jumping.
:BOUNCES: can be used for projectiles, allowing grenades to be implemented.
:BOUNCES: can be used for projectiles, allowing grenades to be implemented.
*0x40000000 '''FRIEND'''
 
Friendly monster, of MBF-Eternity variety.
=flags2=
*0x80000000 '''TRANSLUCENT'''
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
Boom style translucency.
!style="background-color: #C5D0E1"| Flag name
=Flags2=
!style="background-color: #E3EEFF"| Bit number
*1''' LOGRAV'''
!style="background-color: #C5D0E1"| Decimal
1/3 gravity. Doesn't work if BOUNCES is also set.
!style="background-color: #E3EEFF"| Hexadecimal
*2 '''NOSPLASH'''
!style="background-color: #C5D0E1"| Description
Doesn't produce terrain effects
|-style="background-color: #F5F5F5"
*4 '''NOSTRAFE'''
| '''LOGRAV'''
Never uses advanced strafe logic
| 0
*8 '''NORESPAWN'''
| 1
Never respawns
| 0x01
*16''' ALWAYSRESPAWN'''
| Is subject to 1/3rd normal gravity. Does not combine with '''BOUNCES'''.
Always respawns, regardless of difficulty level
|-style="background-color: #D9D9D9"
*32 '''REMOVEDEAD'''
| '''NOSPLASH'''
Forces disappearance after its death, and not to be used for player avatars.
| 1
*64 '''NOTHRUST'''
| 2
Unaffected by Boom environmental pushers (wind, force points, conveyors, water currents).
| 0x02
*128 '''NOCROSS'''
| Cannot trigger [[EDF terrain reference|terrain]] effects.
Cannot trigger walkover linedefs.
|-style="background-color: #F5F5F5"
*256 '''JUMPDOWN'''
| '''NOSTRAFE'''
As a FRIEND, may jump down ledges to follow players
| 2
*512 '''PUSHABLE'''
| 4
Can be pushed, like the Heretic pods.
| 0x04
*0x400 '''MAP07BOSS1'''
| Never uses MBF strafing logic even if enabled.
Used for Mancubi, and checked by the [[BossDeath]] codepointer, active in MAP07 for tag 666.
|-style="background-color: #D9D9D9"
*0x800''' MAP07BOSS2'''
| '''NORESPAWN'''
Used for Arachnotrons, active in MAP07 for tag 667
| 3
*0x1000 '''E1M8BOSS'''
| 8
Used for Barons of Hell and Iron Liches, active in E1M8 for tag 666
| 0x08
*0x2000 '''E2M8BOSS'''
| Never respawns, even in Nightmare skill or with -respawn active.
Used for Cyberdemons and Maulotaurs, active in E2M8 for level exit or tag 666 depending on game
|-style="background-color: #F5F5F5"
*0x4000 '''E3M8BOSS'''
| '''ALWAYSRESPAWN'''
Used for Spiderdemons and D'sparil, active in E3M8 for level exit or tag 666, depending on game
| 4
*0x8000 '''BOSS'''
| 16
Roars loudly and is immune to radius and certain other attacks.
| 0x10
*0x10000 '''E4M6BOSS'''
| Always respawns regardless of skill or settings.
Used for Cyberdemons, active in E4M6 and tag 666
|-style="background-color: #D9D9D9"
*0x20000 '''E4M8BOSS'''
| '''REMOVEDEAD'''
Used for Spiderdemons and Iron Liches, active in E4M8 and tag 666
| 5
*0x40000 '''FOOTCLIP'''
| 32
Allows Heretic-style water feet sinking into water, and view going down if under camera.
| 0x20
*0x80000 '''FLOATBOB'''
| Is randomly removed from the level after death, instead of respawning. Not for player class objects.
Allows Heretic-style object bobbing.
|-style="background-color: #F5F5F5"
*0x100000 '''DONTDRAW'''
| '''NOTHRUST'''
Invisible, but unlike NOSECTOR, may appear on automap.
| 6
*0x200000 '''SHORTMRANGE'''
| 64
Has a limited missile range, like the Archvile.
| 0x40
*0x400000 '''LONGMELEE'''
| Is not affected by BOOM environmental pushers (wind, force points, conveyors, water currents).
Has a restricted non-missile proximity area, like the Revenant.
|-style="background-color: #D9D9D9"
*0x800000 '''RANGEHALF'''
| '''NOCROSS'''
Treats itself as half as far from the target as it is, resulting in slightly higher attack chance.
| 7
*0x1000000 '''HIGHERMPROB'''
| 128
Higher attack chance.
| 0x80
*0x2000000 '''CANTLEAVEFLOORPIC'''
| Cannot trigger DOOM-style walk-over linedef specials.
Cannot leave the floor texture from where it's placed. Useful for water monsters.
|-style="background-color: #F5F5F5"
*0x4000000 '''SPAWNFLOAT'''
| '''JUMPDOWN'''
Spawns at random z coordinates within the sector.
| 8
*0x8000000 '''INVULNERABLE'''
| 256
Can't be killed but can be targeted (unlike SHOOTABLE)
| 0x100
*0x10000000 '''DORMANT'''
| When friendly, may jump down off ledges to follow player, subject to dog jumping setting.
Eligible for the mapthing Dormant flag, and script-wise awakening.
|-style="background-color: #D9D9D9"
*0x20000000 '''SEEKERMISSILE'''
| '''PUSHABLE'''
Eligible for the [[Tracer]], [[GenTracer]], [[HticTracer]] and [[WhirlwindSeek]] codepointers, and the '''homing''' setting for [[MissileAttack]] etc.
| 9
*0x40000000 '''DEFLECTIVE'''
| 512
Needs to be paired with REFLECTIVE, and sets the object invulnerable and deflecting the projectiles at a wide angle
| 0x200
*0x80000000 '''REFLECTIVE'''
| Can be pushed, like Heretic pods.
Reflects projectiles back, but still takes damage
|-style="background-color: #F5F5F5"
=Flags3=
| '''MAP07BOSS1'''
*1''' GHOST'''
| 10
Heretic-style ghost: stealth for the monsters, and passable by THRUGHOST objects
| 1024
*2 '''THRUGHOST'''
| 0x400
Passes through GHOST objects ("man-made" projectile in Heretic)
| Is a boss for the MAP07_1 boss special (tag 666).
*4 '''NODMGTHRUST'''
|-style="background-color: #D9D9D9"
Cannot thrust objects against which this one causes damage.
| '''MAP07BOSS2'''
*8 '''ACTSEESOUND'''
| 11
50% chance to use the sight sound instead of the active sound when mumbling around.
| 2048
*16''' LOUDACTIVE'''
| 0x800
Makes the active sound at full volume.
| Is a boss for the MAP07_2 boss special (tag 667).
*32 '''E5M8BOSS'''
|-style="background-color: #F5F5F5"
Used for Maulotaurs, active in E5M8 and tag 666.
| '''E1M8BOSS'''
*64 '''DMGIGNORED'''
| 12
"Feared" by other monsters: they won't fight this one if provoked.
| 4096
*128 '''BOSSIGNORE'''
| 0x1000
Won't attack other monsters with BOSSIGNORE.
| Is a boss for the E1M8 boss special (tag 666).
*256 '''SLIDE'''
|-style="background-color: #D9D9D9"
Can slide along walls, when pushing on them, like the player and Heretic pods
| '''E2M8BOSS'''
*512 '''TELESTOMP'''
| 13
Can telefrag.
| 8192
*0x400 '''WINDTHRUST'''
| 0x2000
Can be pushed by Heretic winds
| Is a boss for the E2M8 boss special (exits level, or tag 666 in Heretic).
*0x800 '''FIREDAMAGE'''
|-style="background-color: #F5F5F5"
Does '''fire''' type damage
| '''E3M8BOSS'''
*0x1000 '''KILLABLE'''
| 14
Safety flag required to be used when COUNTKILL is not used. Allows the monster to behave normally without counting it towards the kill ratio.
| 16384
*0x2000 '''DEADFLOAT'''
| 0x4000
Doesn't lose gravity when killed.
| Is a boss for the E3M8 boss special (exits level, or tag 666 in Heretic).
*0x4000 '''NOTHRESHOLD'''
|-style="background-color: #D9D9D9"
Thing always turns on the latest attacked, like in Quake.
| '''BOSS'''
*0x8000 '''FLOORMISSILE'''
| 15
The missile hugs the floor.
| 32768
*0x10000 '''SUPERITEM'''
| 0x8000
Super powerup: only respawns if a special dmflag is enabled.
| Roars loudly, and is immune to blast radii and certain other attacks.
*0x20000 '''NOITEMRESP'''
|-style="background-color: #F5F5F5"
Never respawns, and unlike DROPPED, won't be crushed by sectors.
| '''E4M6BOSS'''
*0x40000 '''SUPERFRIEND'''
| 16
Loyal friend, never retaliates on being hit.
| 65536
*0x80000 '''INVULNCHARGE'''
| 0x10000
Invulnerable when SKULLFLY is set (when charging)
| Is a boss for the E4M6 boss special (tag 666).
*0x100000 '''EXPLOCOUNT'''
|-style="background-color: #D9D9D9"
Missile won't blow up if Counter 1 < Counter 2, instead it will increment Counter 1
| '''E4M8BOSS'''
*0x200000 '''CANNOTPUSH'''
| 17
Cannot push PUSHABLE objects
| 131072
*0x400000 '''TLSTYLEADD'''
| 0x20000
Uses additive translucency, can be combined with the alpha [[thingtype|property]]
| Is a boss for the E4M8 boss special (tag 666).
*0x800000 '''SPACMONSTER'''
|-style="background-color: #F5F5F5"
Can activate parameterized line specials with the MONSTER flag
| '''FOOTCLIP'''
*0x1000000 '''SPACMISSILE'''
| 18
Can activate parameterized line specials with the MISSILE flag
| 262144
*0x2000000 '''NOFRIENDDMG'''
| 0x40000
Won't take damage from FRIEND objects
| Is subject to liquid terrain effects (lowered view point, missiles, feet are clipped).
*0x4000000 '''3DDECORATION'''
|-style="background-color: #D9D9D9"
Used for Doom decoration, which acts dually as a sentient actor blocker and free for projectiles
| '''FLOATBOB'''
*0x8000000 '''ALWAYSFAST'''
| 19
Always accelerated in speed and reaction despite the skill level
| 524288
*0x10000000 '''PASSMOBJ'''
| 0x80000
Fully 3d, if z-clipping is enabled
| Bobs perpetually on the z axis, like Heretic and Hexen powerups.
*0x20000000 '''DONTOVERLAP'''
|-style="background-color: #F5F5F5"
Tries to avoid overlapping even if z-clipping is enabled
| '''DONTDRAW'''
*0x40000000 '''CYCLEALPHA'''
| 20
Cycles the alpha, depending on the alphavelocity [[thingtype|property]]
| 1048576
*0x80000000 '''RIP'''
| 0x100000
As a missile, goes through damageable objects, dealing them pain repeatably while in them
| Doesn't generate a sprite (invisible, but appears on automap).
=Flags4=
|-style="background-color: #D9D9D9"
*1 '''AUTOTRANSLATE'''
| '''SHORTMRANGE'''
Automatically translates the colors of the sprite to current game's closest colors, if they belonged to Doom and are spawned in another game. Needed for a few objects, such as the ''MBFHelperDog'', whose sprites are designed use the Doom's palette, but are allowed to be spawned in Heretic.
| 21
*2 '''NORADIUSDMG'''
| 2097152
Doesn't take radius damage.
| 0x200000
*4 '''FORCERADIUSDMG'''
| Has a limited missile range, like the Arch-vile.
Always takes radius damage.
|-style="background-color: #F5F5F5"
*8 '''LOOKALLAROUND'''
| '''LONGMELEE'''
Sees targets in any direction during [[Look]] frames, similar to how they behave when under AMBUSH setting after hearing a shot.
| 22
*16 '''NODAMAGE'''
| 4194304
Takes no damage but may still enter pain frames (unlike the invulnerability behavior).
| 0x400000
| Has a restricted non-missile proximity area, like the Revenant.
|-style="background-color: #D9D9D9"
| '''RANGEHALF'''
| 23
| 8388608
| 0x800000
| Considers only half the distance to its target, giving a higher missile attack probability.
|-style="background-color: #F5F5F5"
| '''HIGHERMPROB'''
| 24
| 16777216
| 0x1000000
| Additional boost to missile attack probability at a distance, as with the Cyberdemon.
|-style="background-color: #D9D9D9"
| '''CANTLEAVEFLOORPIC'''
| 25
| 33554432
| 0x2000000
| Cannot cross into sectors with a different floor flat. Useful for water monsters.
|-style="background-color: #F5F5F5"
| '''SPAWNFLOAT'''
| 26
| 67108864
| 0x4000000
| Spawns at a randomized height within the range of its sector, like Heretic Gargoyle.
|-style="background-color: #D9D9D9"
| '''INVULNERABLE'''
| 27
| 134217728
| 0x8000000
| Takes no damage if damage is less than 10000. Does not react to damage.
|-style="background-color: #F5F5F5"
| '''DORMANT'''
| 28
| 268435456
| 0x10000000
| Spawns as dormant and invulnerable regardless of mapthing flags. Must be awakened by script or line special.
|-style="background-color: #D9D9D9"
| '''SEEKERMISSILE'''
| 29
| 536870912
| 0x20000000
| Is considered a homing projectile, for reflection purposes.
|-style="background-color: #F5F5F5"
| '''DEFLECTIVE'''
| 30
| 1073741824
| 0x40000000
| If paired with REFLECTIVE, causes reflection at a wide angle.
|-style="background-color: #D9D9D9"
| '''REFLECTIVE'''
| 31
| 2147483648
| 0x80000000
| Reflects projectiles. Still takes damage unless also '''INVULNERABLE'''.
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
|}
 
=flags3=
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
|-style="background-color: #F5F5F5"
| '''GHOST'''
| 0
| 1
| 0x01
| Is a Heretic ghost. Translucent, monsters will aim inaccurately, and '''THRUGHOST''' missiles will pass through.
|-style="background-color: #D9D9D9"
| '''THRUGHOST'''
| 1
| 2
| 0x02
| Missiles with this flag will pass through objects with the '''GHOST''' flag.
|-style="background-color: #F5F5F5"
| '''NODMGTHRUST'''
| 2
| 4
| 0x04
| Will not inflict thrust on objects that this object inflicts damage upon directly.
|-style="background-color: #D9D9D9"
| '''ACTSEESOUND'''
| 3
| 8
| 0x08
| Has a 50% chance of making its seesound instead of its activesound at each opportunity.
|-style="background-color: #F5F5F5"
| '''LOUDACTIVE'''
| 4
| 16
| 0x10
| Makes activesound at full volume.
|-style="background-color: #D9D9D9"
| '''E5M8BOSS'''
| 5
| 32
| 0x20
| Is a boss for the E5M8 boss special (tag 666). Used by Maulotaurs.
|-style="background-color: #F5F5F5"
| '''DMGIGNORED'''
| 6
| 64
| 0x40
| Monsters will never retaliate against this object when it damages them, as with Arch-viles.
|-style="background-color: #D9D9D9"
| '''BOSSIGNORE'''
| 7
| 128
| 0x80
| {{deprecated}}Will not attack other species with this flag. '''This flag is deprecated and should not be used in EDF.'''
|-style="background-color: #F5F5F5"
| '''SLIDE'''
| 8
| 256
| 0x100
| Slides against walls when moving into them; used by players and Heretic pods.
|-style="background-color: #D9D9D9"
| '''TELESTOMP'''
| 9
| 512
| 0x200
| Can telefrag shootable objects, including monsters and players.
|-style="background-color: #F5F5F5"
| '''WINDTHRUST'''
| 10
| 1024
| 0x400
| Is affected by Heretic wind sector effects.
|-style="background-color: #D9D9D9"
| '''FIREDAMAGE'''
| 11
| 2048
| 0x800
| Damage inflicted directly by this object will be changed to use the '''Fire''' damagetype.
|-style="background-color: #F5F5F5"
| '''KILLABLE'''
| 12
| 4096
| 0x1000
| Is a living monster, but does not count for kill percentage. Used instead of '''COUNTKILL''' for Lost Souls.
|-style="background-color: #D9D9D9"
| '''DEADFLOAT'''
| 13
| 8192
| 0x2000
| '''NOGRAVITY''' flag is not removed when this object dies, as with Lost Souls.
|-style="background-color: #F5F5F5"
| '''NOTHRESHOLD'''
| 14
| 16384
| 0x4000
| Turns against most recent attacker instantly, as with Arch-viles and in Quake AI.
|-style="background-color: #D9D9D9"
| '''FLOORMISSILE'''
| 15
| 32768
| 0x8000
| Missiles with this flag can hug the floor and move up steps.
|-style="background-color: #F5F5F5"
| '''SUPERITEM'''
| 16
| 65536
| 0x10000
| An item with this flag will only respawn if the '''super items respawn''' dmflag is asserted.
|-style="background-color: #D9D9D9"
| '''NOITEMRESP'''
| 17
| 131072
| 0x20000
| Items with this flag never respawn, but cannot be crushed as with '''DROPPED'''.
|-style="background-color: #F5F5F5"
| '''SUPERFRIEND'''
| 18
| 262144
| 0x40000
| Adds absolute loyalty to '''FRIEND''' monsters; will never retaliate if attacked by a friend.
|-style="background-color: #D9D9D9"
| '''INVULNCHARGE'''
| 19
| 524288
| 0x80000
| Is invulnerable when '''SKULLFLY'''-charging, as with Maulotaurs.
|-style="background-color: #F5F5F5"
| '''EXPLOCOUNT'''
| 20
| 1048576
| 0x100000
| Missile will not explode if counter 1 < counter 2, but increments counter 1. Used by Iron Lich tornadoes.
|-style="background-color: #D9D9D9"
| '''CANNOTPUSH'''
| 21
| 2097152
| 0x200000
| Is unable to push objects with the '''PUSHABLE''' flag.
|-style="background-color: #F5F5F5"
| '''TLSTYLEADD'''
| 22
| 4194304
| 0x400000
| Uses additive translucency as determined by the thingtype's [[thingtype|'''alpha''' property]].
|-style="background-color: #D9D9D9"
| '''SPACMONSTER'''
| 23
| 8388608
| 0x800000
| Can activate parameterized linedefs which are marked with the MONSTER special activation flag.
|-style="background-color: #F5F5F5"
| '''SPACMISSILE'''
| 24
| 16777216
| 0x1000000
| Can activate parameterized linedefs which are marked with the MISSILE special activation flag.
|-style="background-color: #D9D9D9"
| '''NOFRIENDDMG'''
| 25
| 33554432
| 0x2000000
| Does not take damage from '''FRIEND''' objects, excepting possibly itself.
|-style="background-color: #F5F5F5"
| '''3DDECORATION'''
| 26
| 67108864
| 0x4000000
| Object clips missiles at its normal height even when '''comp_theights''' is off. Used by DOOM decor objects.
|-style="background-color: #D9D9D9"
| '''ALWAYSFAST'''
| 27
| 134217728
| 0x8000000
| Always exhibits -fast/Nightmare increased reaction time and attack rate in all skill levels.
|-style="background-color: #F5F5F5"
| '''PASSMOBJ'''
| 28
| 268435456
| 0x10000000
| Is considered fully three dimensional when '''comp_overunder''' is off (3D object clipping enabled).
|-style="background-color: #D9D9D9"
| '''DONTOVERLAP'''
| 29
| 536870912
| 0x20000000
| Tries to avoid overlapping with other objects even when 3D object clipping is enabled.
|-style="background-color: #F5F5F5"
| '''CYCLEALPHA'''
| 30
| 1073741824
| 0x40000000
| '''alpha''' will cycle continuously if '''alphavelocity''' is greater than zero.
|-style="background-color: #D9D9D9"
| '''RIP'''
| 31
| 2147483648
| 0x80000000
| Missile will pass through '''SHOOTABLE''' objects, dealing damage repeatedly as long as contact is sustained.
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
|}
 
=flags4=
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
|-style="background-color: #F5F5F5"
| '''AUTOTRANSLATE'''
| 0
| 1
| 0x01
| Adapts a built-in palette translation if spawned in games other than Doom; used by EE objects such as MBFHelperDog.
|-style="background-color: #D9D9D9"
| '''NORADIUSDMG'''
| 1
| 2
| 0x02
| Object will not take radius damage from most sources.
|-style="background-color: #F5F5F5"
| '''FORCERADIUSDMG'''
| 2
| 4
| 0x04
| As an inflictor, forces all objects (including '''BOSS''' and '''NORADIUSDMG''') to take radius damage.
|-style="background-color: #D9D9D9"
| '''LOOKALLAROUND'''
| 3
| 8
| 0x08
| Has a 360-degree field of vision, same as monsters given the '''AMBUSH''' flag after hearing a shot.
|-style="background-color: #F5F5F5"
| '''NODAMAGE'''
| 4
| 16
| 0x10
| Is invulnerable to damage < 10000, but still reacts as if damage has been taken (thrust, blood, and pain).
|-style="background-color: #D9D9D9"
| '''SYNCHRONIZED'''
| 5
| 32
| 0x20
| Will not have its spawnstate tics randomized when spawned on the map at level start. '''SVN r1096+'''
|-style="background-color: #F5F5F5"
| '''NORANDOMIZE'''
| 6
| 64
| 0x40
| As a missile or bouncing explosive, will not have its spawnstate and first deathstate tics randomized. Note that the semantics of this flag are opposite of [[ZDoom]], due to compatibility requirements. '''SVN r1096+'''
|-style="background-color: #D9D9D9"
| '''BRIGHT'''
| 7
| 128
| 0x80
| Will always be full-bright regardless of current frame setting.
|-style="background-color: #F5F5F5"
| '''FLY'''
| 8
| 256
| 0x100
| Object is flying. Used by the player when under the effect of a flight artifact.
|-style="background-color: #D9D9D9"
| '''NORADIUSHACK'''
| 9
| 512
| 0x200
| Don't emulate MBF behaviour where bouncing explosives can hurt any actor, including bosses. Setting this causes the explosive to only affect bosses if FORCERADIUSDMG is also set.
 
Note that MBF emulation protects Cyberdemons from other Cyberdemons' bouncing explosive attacks. It doesn't do the same for members of any other species.
|-style="background-color: #F5F5F5"
|'''NOSOUNDCUTOFF'''
|10
|1024
|0x400
|Actor can play any number of sounds.
|-style="background-color: #D9D9D9"
|'''RAVENRESPAWN'''
|11
|2048
|0x800
|Specifies that a thingtype will undergo Raven-style (Heretic/Hexen) item respawning when picked up with item respawning enabled. Items which use this flag can define two special DECORATE-style states, one for the state sequence to use when waiting to respawn after being picked up, and another to be used when the object is going to be removed permanently. These states are specified as in the following two definitions from heretic/things.edf:
 
thingtype HereticPickup
{
  cflags  SPECIAL|RAVENRESPAWN
  seesound ht_respawn
  states
  @"
  Pickup.Respawn:
    ACLO E        1400 A_HideThing
    ACLO A        4    A_RestoreSpecialThing1
    ACLO BABCBCDC 4
    ACLO D        4    A_RestoreSpecialThing2
    stop
  "@
}
 
thingtype HereticArtifact
{
  cflags  SPECIAL|RAVENRESPAWN
  seesound ht_respawn
  states
  @"
  Pickup.Respawn:
    ACLO DCDCBCBABA 3
    ACLO A          1400 A_HideThing
    ACLO A          3    A_UnHideThing
    ACLO BABCBCDC  3
    ACLO D          3    A_RestoreArtifact
    stop
  Pickup.Remove:
    ACLO DCDCBCBABA 3
    stop
  "@
}
 
When Pickup.Remove is not defined by such a thingtype, it will simply be removed from the level immediately, like a Doom-style item would.
 
Five new action functions are provided that support this feature: [[HideThing]], [[UnHideThing]], [[RestoreArtifact]], [[RestoreSpecialThing1]], [[RestoreSpecialThing2]]
|-style="background-color: #F5F5F5"
|'''NOTSHAREWARE'''
|12
|4096
|0x1000
|Things with this flag will not spawn on a map if the current gamemode is a shareware gamemode.
|-style="background-color: #D9D9D9"
|'''NOTORQUE'''
|13
|8192
|0x2000
|Things with this flag are never subject to MBF torque simulation, even if it is enabled via the compatibility vector.
|-style="background-color: #F5F5F5"
|'''ALWAYSTORQUE'''
|14
|16384
|0x4000
|Things with this flag are always subject to MBF torque simulation, even if it is disabled via the compatibility vector.
|-style="background-color: #D9D9D9"
|'''NOZERODAMAGE'''
|15
|32768
|0x8000
|Projectiles given this flag don't inflict damage on objects if the damage they would inflict is 0. This prevents pain animation, anger, and spawning of any blood (in Heretic eventually, unfinished as of yet).
|-style="background-color: #F5F5F5"
|'''TLSTYLESUB'''
|16
|65536
|0x10000
|Thingtype uses subtractive blending.
|-style="background-color: #D9D9D9"
|'''TOTALINVISIBLE'''
|17
|131072
|0x20000
|Thing is "totally" invisible to monsters. For players, this means that monsters will not wake up unless a noise is made. Once enemies are alerted via noise being made, they will aim inaccurately with the same effect as the SHADOW flag. This flag does not imply that the thing displays no sprite, however. Combine with DONTDRAW to accomplish that effect. Note that "AMBUSH" things do not wake up unless they take direct damage, since they also do not hear the player.
|-style="background-color: #F5F5F5"
|'''DRAWSBLOOD'''
|18
|262144
|0x40000
|Missile draws blood.
|-style="background-color: #D9D9D9"
|'''SPACPUSHWALL'''
|19
|524288
|0x80000
|Objects of this type can trigger push walls.
|-style="background-color: #F5F5F5"
|'''NOSPECIESINFIGHT'''
|20
|1048576
|0x100000
|Monster won't infight with others of the same species, even if suffering damage. See [[thinggroup]] for related infighting settings.
|-style="background-color: #D9D9D9"
|'''HARMSPECIESMISSILE'''
|21
|2097152
|0x200000
|Monster will be harmed by projectile attacks coming from the same species. Again, see [[thinggroup]].
|-style="background-color: #F5F5F5"
|'''FRIENDFOEMISSILE'''
|22
|4194304
|0x400000
|Friends of this [[thingtype]] may harm (by projectiles) enemies of the same species. By default they are immune.
|-style="background-color: #D9D9D9"
|'''BLOODLESSIMPACT'''
|23
|8388608
|0x800000
|Prevents Heretic-style projectiles from producing blood when hitting this thing (assuming it sheds blood).
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
|}
[[category:EDF]]

Revision as of 08:06, 17 March 2018

Thing type flags are properties that can be set on or off, to control special behavior. They belong to thing classes, such as Zombieman or BaronOfHell, and shouldn't be confused with the mapthing flags, which affect individual objects in a level, regardless of species (see ExtraData mapthing options for that type of flags).

Thingtype flags are used by the thingtype block in EDF, with the fields: flags, flags2, flags3, flags4, cflags, addflags and remflags. They are also used by the SetFlags and UnSetFlags codepointers.

The flags are grouped (currently) into four categories, because only 32 bits can enter a long integer block. This was once important for Eternity editing, such as via DeHackEd, but since the extension of EDF arguments to a runtime evaluation system, there is no longer any need to use the original restricted flags fields.

flags up to flags4 can only use bits from their own namespaces, while cflags, addflags and remflags combine all flags into a single namespace, excepting the flags bit SLIDE.

Back to EDF thing reference

flags

Flag name Bit number Decimal Hexadecimal Description
SPECIAL 0 1 0x01 Collectable item (can be picked up).
SOLID 1 2 0x02 Blocks other objects.
SHOOTABLE 2 4 0x04 Can take damage and be targeted.
NOSECTOR 3 8 0x08 Not linked into sectors. Invisible, but can be hit. Won't be damaged by crushing floors and ceilings. Never appears in automap, even with cheats. For sprite invisibility without these side effects, use DONTDRAW from flags2 instead.
NOBLOCKMAP 4 16 0x10 Not linked into the blockmap. Cannot be hit, but can hit other objects.
AMBUSH 5 32 0x20 Always has "AMBUSH" mapthing flag behavior. Will only wake up when an enemy is seen.
JUSTHIT 6 64 0x40 Internal flag, monster will attack as soon as it is activated.
JUSTATTACKED 7 128 0x80 Internal flag, delays a bit before attacking.
SPAWNCEILING 8 256 0x100 Spawns on the ceiling instead of the floor.
NOGRAVITY 9 512 0x200 Is not subject to gravity.
DROPOFF 10 1024 0x400 Can pass over ledges higher than 24 units.
PICKUP 11 2048 0x800 Can pick up items. Currently only works on player class objects.
NOCLIP 12 4096 0x1000 Is not clipped against other objects or lines.
SLIDE 13 8192 0x2000 For compatibility only, has no effect. Use flags3 bit SLIDE instead.
FLOAT 14 16384 0x4000 Has floating monster behavior.
TELEPORT 15 32768 0x8000 Unused vanilla flag. Can go over steps of any height, has other odd behaviors. Use not recommended.
MISSILE 16 65536 0x10000 Is a projectile.
DROPPED 17 131072 0x20000 Internal flag for dropped items (trooper clips, etc). Can be crushed, never respawns.
SHADOW 18 262144 0x40000 Renders as spectre fuzz. Monsters aiming at this thing will suffer inaccuracy.
NOBLOOD 19 524288 0x80000 Doesn't bleed when hit by tracer attacks; spawns bullet puffs instead.
CORPSE 20 1048576 0x100000 Is a corpse and may slide over ledges. Also checked by Arch-viles.
INFLOAT 21 2097152 0x200000 Internal flag, used for floating monster AI.
COUNTKILL 22 4194304 0x400000 Counts toward kill score when defeated, and is considered a valid target. See also KILLABLE.
COUNTITEM 23 8388608 0x800000 Counts toward item score when collected. May respawn if item respawning is enabled.
SKULLFLY 24 16777216 0x1000000 Internal flag, used for charging monster maintenance.
NOTDMATCH 25 33554432 0x2000000 Is not spawned at level start in Deathmatch game modes.
TRANSLATION1 26 67108864 0x4000000 Remaps green to gray in sprites.
TRANSLATION2 27 134217728 0x8000000 Remaps green to brown, or gray to red if combined with TRANSLATION1.
TOUCHY 28 268435456 0x10000000 Dies on contact with solid things of other species, excepting Lost Souls and Pain Elementals.
BOUNCES 29 536870912 0x20000000 Bounces. Can be combined with other flags for various effects. See below.
FRIEND 30 1073741824 0x40000000 Friendly monster, MBF/Eternity variety.
TRANSLUCENT 31 2147483648 0x80000000 Renders with BOOM-style translucency, controlled by user translucency level setting.
Flag name Bit number Decimal Hexadecimal Description
  • BOUNCES

Bounces. Different behaviors may be achieved by combining with other flags:

BOUNCES+MISSILE: as a missile, bounces off floors and ceilings but explodes everywhere else. Useful for not allowing the BFG to conveniently explode.
BOUNCES+NOGRAVITY: bounces off all surfaces. Can be used for projectiles despite lack of MISSILE flag.
BOUNCES+FLOAT: usable for monsters, letting them pogo-jump to most heights.
BOUNCES+FLOAT+DROPOFF: even higher jumping.
BOUNCES: can be used for projectiles, allowing grenades to be implemented.

flags2

Flag name Bit number Decimal Hexadecimal Description
LOGRAV 0 1 0x01 Is subject to 1/3rd normal gravity. Does not combine with BOUNCES.
NOSPLASH 1 2 0x02 Cannot trigger terrain effects.
NOSTRAFE 2 4 0x04 Never uses MBF strafing logic even if enabled.
NORESPAWN 3 8 0x08 Never respawns, even in Nightmare skill or with -respawn active.
ALWAYSRESPAWN 4 16 0x10 Always respawns regardless of skill or settings.
REMOVEDEAD 5 32 0x20 Is randomly removed from the level after death, instead of respawning. Not for player class objects.
NOTHRUST 6 64 0x40 Is not affected by BOOM environmental pushers (wind, force points, conveyors, water currents).
NOCROSS 7 128 0x80 Cannot trigger DOOM-style walk-over linedef specials.
JUMPDOWN 8 256 0x100 When friendly, may jump down off ledges to follow player, subject to dog jumping setting.
PUSHABLE 9 512 0x200 Can be pushed, like Heretic pods.
MAP07BOSS1 10 1024 0x400 Is a boss for the MAP07_1 boss special (tag 666).
MAP07BOSS2 11 2048 0x800 Is a boss for the MAP07_2 boss special (tag 667).
E1M8BOSS 12 4096 0x1000 Is a boss for the E1M8 boss special (tag 666).
E2M8BOSS 13 8192 0x2000 Is a boss for the E2M8 boss special (exits level, or tag 666 in Heretic).
E3M8BOSS 14 16384 0x4000 Is a boss for the E3M8 boss special (exits level, or tag 666 in Heretic).
BOSS 15 32768 0x8000 Roars loudly, and is immune to blast radii and certain other attacks.
E4M6BOSS 16 65536 0x10000 Is a boss for the E4M6 boss special (tag 666).
E4M8BOSS 17 131072 0x20000 Is a boss for the E4M8 boss special (tag 666).
FOOTCLIP 18 262144 0x40000 Is subject to liquid terrain effects (lowered view point, missiles, feet are clipped).
FLOATBOB 19 524288 0x80000 Bobs perpetually on the z axis, like Heretic and Hexen powerups.
DONTDRAW 20 1048576 0x100000 Doesn't generate a sprite (invisible, but appears on automap).
SHORTMRANGE 21 2097152 0x200000 Has a limited missile range, like the Arch-vile.
LONGMELEE 22 4194304 0x400000 Has a restricted non-missile proximity area, like the Revenant.
RANGEHALF 23 8388608 0x800000 Considers only half the distance to its target, giving a higher missile attack probability.
HIGHERMPROB 24 16777216 0x1000000 Additional boost to missile attack probability at a distance, as with the Cyberdemon.
CANTLEAVEFLOORPIC 25 33554432 0x2000000 Cannot cross into sectors with a different floor flat. Useful for water monsters.
SPAWNFLOAT 26 67108864 0x4000000 Spawns at a randomized height within the range of its sector, like Heretic Gargoyle.
INVULNERABLE 27 134217728 0x8000000 Takes no damage if damage is less than 10000. Does not react to damage.
DORMANT 28 268435456 0x10000000 Spawns as dormant and invulnerable regardless of mapthing flags. Must be awakened by script or line special.
SEEKERMISSILE 29 536870912 0x20000000 Is considered a homing projectile, for reflection purposes.
DEFLECTIVE 30 1073741824 0x40000000 If paired with REFLECTIVE, causes reflection at a wide angle.
REFLECTIVE 31 2147483648 0x80000000 Reflects projectiles. Still takes damage unless also INVULNERABLE.
Flag name Bit number Decimal Hexadecimal Description

flags3

Flag name Bit number Decimal Hexadecimal Description
GHOST 0 1 0x01 Is a Heretic ghost. Translucent, monsters will aim inaccurately, and THRUGHOST missiles will pass through.
THRUGHOST 1 2 0x02 Missiles with this flag will pass through objects with the GHOST flag.
NODMGTHRUST 2 4 0x04 Will not inflict thrust on objects that this object inflicts damage upon directly.
ACTSEESOUND 3 8 0x08 Has a 50% chance of making its seesound instead of its activesound at each opportunity.
LOUDACTIVE 4 16 0x10 Makes activesound at full volume.
E5M8BOSS 5 32 0x20 Is a boss for the E5M8 boss special (tag 666). Used by Maulotaurs.
DMGIGNORED 6 64 0x40 Monsters will never retaliate against this object when it damages them, as with Arch-viles.
BOSSIGNORE 7 128 0x80 (deprecated)Will not attack other species with this flag. This flag is deprecated and should not be used in EDF.
SLIDE 8 256 0x100 Slides against walls when moving into them; used by players and Heretic pods.
TELESTOMP 9 512 0x200 Can telefrag shootable objects, including monsters and players.
WINDTHRUST 10 1024 0x400 Is affected by Heretic wind sector effects.
FIREDAMAGE 11 2048 0x800 Damage inflicted directly by this object will be changed to use the Fire damagetype.
KILLABLE 12 4096 0x1000 Is a living monster, but does not count for kill percentage. Used instead of COUNTKILL for Lost Souls.
DEADFLOAT 13 8192 0x2000 NOGRAVITY flag is not removed when this object dies, as with Lost Souls.
NOTHRESHOLD 14 16384 0x4000 Turns against most recent attacker instantly, as with Arch-viles and in Quake AI.
FLOORMISSILE 15 32768 0x8000 Missiles with this flag can hug the floor and move up steps.
SUPERITEM 16 65536 0x10000 An item with this flag will only respawn if the super items respawn dmflag is asserted.
NOITEMRESP 17 131072 0x20000 Items with this flag never respawn, but cannot be crushed as with DROPPED.
SUPERFRIEND 18 262144 0x40000 Adds absolute loyalty to FRIEND monsters; will never retaliate if attacked by a friend.
INVULNCHARGE 19 524288 0x80000 Is invulnerable when SKULLFLY-charging, as with Maulotaurs.
EXPLOCOUNT 20 1048576 0x100000 Missile will not explode if counter 1 < counter 2, but increments counter 1. Used by Iron Lich tornadoes.
CANNOTPUSH 21 2097152 0x200000 Is unable to push objects with the PUSHABLE flag.
TLSTYLEADD 22 4194304 0x400000 Uses additive translucency as determined by the thingtype's alpha property.
SPACMONSTER 23 8388608 0x800000 Can activate parameterized linedefs which are marked with the MONSTER special activation flag.
SPACMISSILE 24 16777216 0x1000000 Can activate parameterized linedefs which are marked with the MISSILE special activation flag.
NOFRIENDDMG 25 33554432 0x2000000 Does not take damage from FRIEND objects, excepting possibly itself.
3DDECORATION 26 67108864 0x4000000 Object clips missiles at its normal height even when comp_theights is off. Used by DOOM decor objects.
ALWAYSFAST 27 134217728 0x8000000 Always exhibits -fast/Nightmare increased reaction time and attack rate in all skill levels.
PASSMOBJ 28 268435456 0x10000000 Is considered fully three dimensional when comp_overunder is off (3D object clipping enabled).
DONTOVERLAP 29 536870912 0x20000000 Tries to avoid overlapping with other objects even when 3D object clipping is enabled.
CYCLEALPHA 30 1073741824 0x40000000 alpha will cycle continuously if alphavelocity is greater than zero.
RIP 31 2147483648 0x80000000 Missile will pass through SHOOTABLE objects, dealing damage repeatedly as long as contact is sustained.
Flag name Bit number Decimal Hexadecimal Description

flags4

Flag name Bit number Decimal Hexadecimal Description
AUTOTRANSLATE 0 1 0x01 Adapts a built-in palette translation if spawned in games other than Doom; used by EE objects such as MBFHelperDog.
NORADIUSDMG 1 2 0x02 Object will not take radius damage from most sources.
FORCERADIUSDMG 2 4 0x04 As an inflictor, forces all objects (including BOSS and NORADIUSDMG) to take radius damage.
LOOKALLAROUND 3 8 0x08 Has a 360-degree field of vision, same as monsters given the AMBUSH flag after hearing a shot.
NODAMAGE 4 16 0x10 Is invulnerable to damage < 10000, but still reacts as if damage has been taken (thrust, blood, and pain).
SYNCHRONIZED 5 32 0x20 Will not have its spawnstate tics randomized when spawned on the map at level start. SVN r1096+
NORANDOMIZE 6 64 0x40 As a missile or bouncing explosive, will not have its spawnstate and first deathstate tics randomized. Note that the semantics of this flag are opposite of ZDoom, due to compatibility requirements. SVN r1096+
BRIGHT 7 128 0x80 Will always be full-bright regardless of current frame setting.
FLY 8 256 0x100 Object is flying. Used by the player when under the effect of a flight artifact.
NORADIUSHACK 9 512 0x200 Don't emulate MBF behaviour where bouncing explosives can hurt any actor, including bosses. Setting this causes the explosive to only affect bosses if FORCERADIUSDMG is also set.

Note that MBF emulation protects Cyberdemons from other Cyberdemons' bouncing explosive attacks. It doesn't do the same for members of any other species.

NOSOUNDCUTOFF 10 1024 0x400 Actor can play any number of sounds.
RAVENRESPAWN 11 2048 0x800 Specifies that a thingtype will undergo Raven-style (Heretic/Hexen) item respawning when picked up with item respawning enabled. Items which use this flag can define two special DECORATE-style states, one for the state sequence to use when waiting to respawn after being picked up, and another to be used when the object is going to be removed permanently. These states are specified as in the following two definitions from heretic/things.edf:
thingtype HereticPickup
{
  cflags   SPECIAL|RAVENRESPAWN
  seesound ht_respawn
  states
  @"
  Pickup.Respawn:
    ACLO E        1400 A_HideThing
    ACLO A        4    A_RestoreSpecialThing1
    ACLO BABCBCDC 4
    ACLO D        4    A_RestoreSpecialThing2
    stop
  "@
}
thingtype HereticArtifact
{
  cflags   SPECIAL|RAVENRESPAWN
  seesound ht_respawn
  states
  @"
  Pickup.Respawn:
    ACLO DCDCBCBABA 3
    ACLO A          1400 A_HideThing
    ACLO A          3    A_UnHideThing
    ACLO BABCBCDC   3
    ACLO D          3    A_RestoreArtifact
    stop
  Pickup.Remove:
    ACLO DCDCBCBABA 3
    stop
  "@
}

When Pickup.Remove is not defined by such a thingtype, it will simply be removed from the level immediately, like a Doom-style item would.

Five new action functions are provided that support this feature: HideThing, UnHideThing, RestoreArtifact, RestoreSpecialThing1, RestoreSpecialThing2

NOTSHAREWARE 12 4096 0x1000 Things with this flag will not spawn on a map if the current gamemode is a shareware gamemode.
NOTORQUE 13 8192 0x2000 Things with this flag are never subject to MBF torque simulation, even if it is enabled via the compatibility vector.
ALWAYSTORQUE 14 16384 0x4000 Things with this flag are always subject to MBF torque simulation, even if it is disabled via the compatibility vector.
NOZERODAMAGE 15 32768 0x8000 Projectiles given this flag don't inflict damage on objects if the damage they would inflict is 0. This prevents pain animation, anger, and spawning of any blood (in Heretic eventually, unfinished as of yet).
TLSTYLESUB 16 65536 0x10000 Thingtype uses subtractive blending.
TOTALINVISIBLE 17 131072 0x20000 Thing is "totally" invisible to monsters. For players, this means that monsters will not wake up unless a noise is made. Once enemies are alerted via noise being made, they will aim inaccurately with the same effect as the SHADOW flag. This flag does not imply that the thing displays no sprite, however. Combine with DONTDRAW to accomplish that effect. Note that "AMBUSH" things do not wake up unless they take direct damage, since they also do not hear the player.
DRAWSBLOOD 18 262144 0x40000 Missile draws blood.
SPACPUSHWALL 19 524288 0x80000 Objects of this type can trigger push walls.
NOSPECIESINFIGHT 20 1048576 0x100000 Monster won't infight with others of the same species, even if suffering damage. See thinggroup for related infighting settings.
HARMSPECIESMISSILE 21 2097152 0x200000 Monster will be harmed by projectile attacks coming from the same species. Again, see thinggroup.
FRIENDFOEMISSILE 22 4194304 0x400000 Friends of this thingtype may harm (by projectiles) enemies of the same species. By default they are immune.
BLOODLESSIMPACT 23 8388608 0x800000 Prevents Heretic-style projectiles from producing blood when hitting this thing (assuming it sheds blood).
Flag name Bit number Decimal Hexadecimal Description