Editing Thing type flags

From Eternity Wiki
Jump to navigationJump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
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).
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).


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]].
Thingtype flags are used by the [[thingtype]] block in EDF, with the fields: '''flags''', '''flags2''', '''flags3''', '''flags4''', '''cflags''', '''addflags''' and '''remflags'''. They're also used by the [[SetFlags]] and [[UnSetFlags]] [[List of codepointers|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.
The flags (or bits) are grouped (currently) into four categories, because only 32 bits can enter a long integer block. There are for now 101 defined thingtype bits in Eternity.


'''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'''.
'''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'''.


See also [[thinggroup]] for flags given to multiple classes of monsters with reciprocal relations (such as infighting).
=flags=
 
{{backto|EDF thing reference}}
 
==flags==
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
!style="background-color: #C5D0E1"| Description
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''SPECIAL'''
| '''SPECIAL'''
| 0
| 0
| Collectable item (can be picked up). Only used by items.
| 1
 
| 0x01
NOTE: items use a different height value for getting picked up, not their [[thingtype]] height. The actual gettable item height is defined globally in the [[EDF game properties reference|EDF game properties]].
| Collectable item (can be picked up).
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''SOLID'''
| '''SOLID'''
| 1
| 1
| 2
| 0x02
| Blocks other objects.
| Blocks other objects.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''SHOOTABLE'''
| '''SHOOTABLE'''
| 2
| 2
| Can take damage and be targeted. All shootable monsters and objects (e.g. barrels) have this.
| 4
| 0x04
| Can take damage and be targeted.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''NOSECTOR'''
| '''NOSECTOR'''
| 3
| 3
| Not linked into sectors. This makes the thing fully invisible (even in the automap), but also subjects it to less obvious side effects. For sprite invisibility without these side effects, use '''DONTDRAW''' instead.
| 8
 
| 0x08
WARNING: do NOT change this at game time.
| Not linked into sectors. Invisible, but can be hit. Never appears in automap, even with cheats.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''NOBLOCKMAP'''
| '''NOBLOCKMAP'''
| 4
| 4
| Not linked into the blockmap. This makes the thing ignored by most of the physics, including collision with other things, hitscans and even moving surfaces. All basic projectiles and momentary visual effects have this flag. Non-solid decoration may also have this flag.
| 16
 
| 0x10
WARNING: do NOT change this at game time.
| Not linked into the blockmap. Cannot be hit, but can hit other objects.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''AMBUSH'''
| '''AMBUSH'''
| 5
| 5
| For monsters: always in ambush mode (even if the editor flag is not set). Generally only useful if you want a certain species to always ignore remote player gunshots.
| 32
| 0x20
| Always has "AMBUSH" mapthing flag behavior. Will only wake up when an enemy is seen.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''JUSTHIT'''
| '''JUSTHIT'''
| 6
| 6
| Internal monster combat flag. Monsters with this flag tend to attack immediately when first seeing player.
| 64
| 0x40
| Internal flag, monster will attack as soon as it is activated.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''JUSTATTACKED'''
| '''JUSTATTACKED'''
| 7
| 7
| Internal monster combat flag, delays a bit before attacking. Generally unnoticeable.
| 128
| 0x80
| Internal flag, delays a bit before attacking.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''SPAWNCEILING'''
| '''SPAWNCEILING'''
| 8
| 8
| Spawns on the ceiling instead of the floor. Used by all ceiling decorations (e.g. hanging bodies or chandeliers).
| 256
| 0x100
| Spawns on the ceiling instead of the floor.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''NOGRAVITY'''
| '''NOGRAVITY'''
| 9
| 9
| Is not subject to gravity. Used by all flying monsters, ceiling decorations and flying projectiles.
| 512
| 0x200
| Is not subject to gravity.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''DROPOFF'''
| '''DROPOFF'''
| 10
| 10
| This flag allows the thing to step off ledges taller than 24 units. If you give it to walking monsters, they will fall off ledges. Necessary for the player and the projectiles. Not necessary, however, for floating monsters or bouncing objects.
| 1024
| 0x400
| Can pass over ledges higher than 24 units.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''PICKUP'''
| '''PICKUP'''
| 11
| 11
| 2048
| 0x800
| Can pick up items. Currently only works on player class objects.
| Can pick up items. Currently only works on player class objects.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''NOCLIP'''
| '''NOCLIP'''
| 12
| 12
| Is not clipped against other objects or lines. This makes the object ghostly, like the player using the "noclip" cheat.
| 4096
| 0x1000
| Is not clipped against other objects or lines.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''SLIDE'''
| '''SLIDE'''
| 13
| 13
| This flag has no effect. Use the '''flags3''' bit '''SLIDE''' instead.
| 8192
| 0x2000
| For compatibility only, has no effect. Use '''flags3''' bit '''SLIDE''' instead.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''FLOAT'''
| '''FLOAT'''
| 14
| 14
| Has a floating monster behavior, like the Cacodemon. Combined with NOGRAVITY, it makes the monster fly freely (for flying players, use FLY instead).
| 16384
| 0x4000
| Has floating monster behavior.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''TELEPORT'''
| '''TELEPORT'''
| 15
| 15
| Semi-no-clipping behaviour. Can go over steps of any height, has other odd behaviors.
| 32768
| 0x8000
| Unused vanilla flag. Can go over steps of any height, has other odd behaviors. Use not recommended.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''MISSILE'''
| '''MISSILE'''
| 16
| 16
| Is a projectile. Used by all such things.
| 65536
| 0x10000
| Is a projectile.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''DROPPED'''
| '''DROPPED'''
| 17
| 17
| Internal flag for dropped items (trooper clips, etc). Such an item can be crushed and will never respawn if dmflag implies that.
| 131072
| 0x20000
| Internal flag for dropped items (trooper clips, etc). Can be crushed, never respawns.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''SHADOW'''
| '''SHADOW'''
| 18
| 18
| 262144
| 0x40000
| Renders as spectre fuzz. Monsters aiming at this thing will suffer inaccuracy.
| Renders as spectre fuzz. Monsters aiming at this thing will suffer inaccuracy.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''NOBLOOD'''
| '''NOBLOOD'''
| 19
| 19
| Doesn't bleed when hit by hitscan attacks; spawns bullet puffs instead.
| 524288
| 0x80000
| Doesn't bleed when hit by tracer attacks; spawns bullet puffs instead.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''CORPSE'''
| '''CORPSE'''
| 20
| 20
| Internally set on corpses and may slide over ledges, stairs etc. Most importantly, [[VileChase]] can revive inert things with this flag set.
| 1048576
| 0x100000
| Is a corpse and may slide over ledges. Also checked by Arch-viles.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''INFLOAT'''
| '''INFLOAT'''
| 21
| 21
| 2097152
| 0x200000
| Internal flag, used for floating monster AI.
| Internal flag, used for floating monster AI.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''COUNTKILL'''
| '''COUNTKILL'''
| 22
| 22
| Counts toward kill score when defeated, and is in other cases treated as a monster. Beware that removing this flag from a monster has side effects. To have a monster who doesn't count for kills, you need to use the '''KILLABLE''' flag instead.
| 4194304
| 0x400000
| Counts toward kill score when defeated, and is considered a valid target. See also '''KILLABLE'''.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''COUNTITEM'''
| '''COUNTITEM'''
| 23
| 23
| Counts toward item score when collected. NOTE: it will NOT count if the item is specified to stay when picked up (e.g. keys and weapons in multiplayer).
| 8388608
| 0x800000
| Counts toward item score when collected. May respawn if item respawning is enabled.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''SKULLFLY'''
| '''SKULLFLY'''
| 24
| 24
| Internal flag, used for charging monster (e.g. lost soul) maintenance.
| 16777216
| 0x1000000
| Internal flag, used for charging monster maintenance.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''NOTDMATCH'''
| '''NOTDMATCH'''
| 25
| 25
| Is not spawned at level start in Deathmatch game modes. Used by all access keys because they're assumed to be already in players' possessions in Deathmatch.
| 33554432
| 0x2000000
| Is not spawned at level start in Deathmatch game modes.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''TRANSLATION1'''
| '''TRANSLATION1'''
| 26
| 26
| 67108864
| 0x4000000
| Remaps green to gray in sprites.
| Remaps green to gray in sprites.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''TRANSLATION2'''
| '''TRANSLATION2'''
| 27
| 27
| 134217728
| 0x8000000
| Remaps green to brown, or gray to red if combined with '''TRANSLATION1'''.
| Remaps green to brown, or gray to red if combined with '''TRANSLATION1'''.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''TOUCHY'''
| '''TOUCHY'''
| 28
| 28
| 268435456
| 0x10000000
| Dies on contact with solid things of other species, excepting Lost Souls and Pain Elementals.
| Dies on contact with solid things of other species, excepting Lost Souls and Pain Elementals.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''BOUNCES'''
| '''BOUNCES'''
| 29
| 29
| 536870912
| 0x20000000
| Bounces. Can be combined with other flags for various effects. See below.
| Bounces. Can be combined with other flags for various effects. See below.
|-style="background-color: #F5F5F5"
|-style="background-color: #F5F5F5"
| '''FRIEND'''
| '''FRIEND'''
| 30
| 30
| 1073741824
| 0x40000000
| Friendly monster, MBF/Eternity variety.
| Friendly monster, MBF/Eternity variety.
|-style="background-color: #D9D9D9"
|-style="background-color: #D9D9D9"
| '''TRANSLUCENT'''
| '''TRANSLUCENT'''
| 31
| 31
| 2147483648
| 0x80000000
| Renders with BOOM-style translucency, controlled by user translucency level setting.
| Renders with BOOM-style translucency, controlled by user translucency level setting.
|-
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Decimal
!style="background-color: #E3EEFF"| Hexadecimal
!style="background-color: #C5D0E1"| Description
!style="background-color: #C5D0E1"| Description
|}
|}
Line 164: Line 222:
:BOUNCES: can be used for projectiles, allowing grenades to be implemented.
:BOUNCES: can be used for projectiles, allowing grenades to be implemented.


==flags2==
=flags2=
{| class="wikitable" style="font-size: 85%"; text-align: center; width: auto
*1''' LOGRAV'''
!style="background-color: #C5D0E1"| Flag name
1/3 gravity. Doesn't work if BOUNCES is also set.
!style="background-color: #E3EEFF"| Bit number
*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'''
| Is subject to 1/3rd normal gravity. Does not combine with '''BOUNCES'''.
Never respawns
|-style="background-color: #D9D9D9"
*16''' ALWAYSRESPAWN'''
| '''NOSPLASH'''
Always respawns, regardless of difficulty level
| 1
*32 '''REMOVEDEAD'''
| Cannot trigger [[EDF terrain reference|terrain]] effects.
Forces disappearance after its death, and not to be used for player avatars.
|-style="background-color: #F5F5F5"
*64 '''NOTHRUST'''
| '''NOSTRAFE'''
Unaffected by Boom environmental pushers (wind, force points, conveyors, water currents).
| 2
*128 '''NOCROSS'''
| Never backs out from melee attackers, even if enabled in the monster settings in the menu.
Cannot trigger walkover linedefs.
|-style="background-color: #D9D9D9"
*256 '''JUMPDOWN'''
| '''NORESPAWN'''
As a FRIEND, may jump down ledges to follow players
| 3
*512 '''PUSHABLE'''
| Never respawns, even in Nightmare skill or with -respawn active.
Can be pushed, like the Heretic pods.
|-style="background-color: #F5F5F5"
*0x400 '''MAP07BOSS1'''
| '''ALWAYSRESPAWN'''
Used for Mancubi, and checked by the [[BossDeath]] codepointer, active in MAP07 for tag 666.
| 4
*0x800''' MAP07BOSS2'''
| Always respawns regardless of skill or settings.
Used for Arachnotrons, active in MAP07 for tag 667
|-style="background-color: #D9D9D9"
*0x1000 '''E1M8BOSS'''
| '''REMOVEDEAD'''
Used for Barons of Hell and Iron Liches, active in E1M8 for tag 666
| 5
*0x2000 '''E2M8BOSS'''
| Is randomly removed from the level after death, instead of respawning. Not for player class objects.
Used for Cyberdemons and Maulotaurs, active in E2M8 for level exit or tag 666 depending on game
|-style="background-color: #F5F5F5"
*0x4000 '''E3M8BOSS'''
| '''NOTHRUST'''
Used for Spiderdemons and D'sparil, active in E3M8 for level exit or tag 666, depending on game
| 6
*0x8000 '''BOSS'''
| Is not affected by BOOM environmental pushers (wind, force points, conveyors, water currents).
Roars loudly and is immune to radius and certain other attacks.
|-style="background-color: #D9D9D9"
*0x10000 '''E4M6BOSS'''
| '''NOCROSS'''
Used for Cyberdemons, active in E4M6 and tag 666
| 7
*0x20000 '''E4M8BOSS'''
| Cannot trigger DOOM-style walk-over linedef specials.
Used for Spiderdemons and Iron Liches, active in E4M8 and tag 666
|-style="background-color: #F5F5F5"
*0x40000 '''FOOTCLIP'''
| '''JUMPDOWN'''
Allows Heretic-style water feet sinking into water, and view going down if under camera.
| 8
*0x80000 '''FLOATBOB'''
| When friendly, may jump down off ledges to follow player, subject to dog jumping setting.
Allows Heretic-style object bobbing.
|-style="background-color: #D9D9D9"
*0x100000 '''DONTDRAW'''
| '''PUSHABLE'''
Invisible, but unlike NOSECTOR, may appear on automap.
| 9
*0x200000 '''SHORTMRANGE'''
| Can be pushed, like the Heretic pods.
Has a limited missile range, like the Archvile.
|-style="background-color: #F5F5F5"
*0x400000 '''LONGMELEE'''
| '''MAP07BOSS1'''
Has a restricted non-missile proximity area, like the Revenant.
| 10
*0x800000 '''RANGEHALF'''
| Is a boss for the MAP07_1 boss special (tag 666), like the Mancubi in original DOOM 2.
Treats itself as half as far from the target as it is, resulting in slightly higher attack chance.
|-style="background-color: #D9D9D9"
*0x1000000 '''HIGHERMPROB'''
| '''MAP07BOSS2'''
Higher attack chance.
| 11
*0x2000000 '''CANTLEAVEFLOORPIC'''
| Is a boss for the MAP07_2 boss special (tag 667), like the Arachnotrons in original DOOM 2.
Cannot leave the floor texture from where it's placed. Useful for water monsters.
|-style="background-color: #F5F5F5"
*0x4000000 '''SPAWNFLOAT'''
| '''E1M8BOSS'''
Spawns at random z coordinates within the sector.
| 12
*0x8000000 '''INVULNERABLE'''
| Is a boss for the E1M8 boss special (tag 666), like the Barons in original DOOM 1.
Can't be damaged but can be targeted (unlike SHOOTABLE)
|-style="background-color: #D9D9D9"
*0x10000000 '''DORMANT'''
| '''E2M8BOSS'''
Eligible for the mapthing Dormant flag, and script-wise awakening.
| 13
*0x20000000 '''SEEKERMISSILE'''
| Is a boss for the E2M8 boss special (exits level, or tag 666 in Heretic).
Eligible for the [[Tracer]], [[GenTracer]], [[HticTracer]] and [[WhirlwindSeek]] codepointers, and the '''homing''' setting for [[MissileAttack]] etc.
|-style="background-color: #F5F5F5"
*0x40000000 '''DEFLECTIVE'''
| '''E3M8BOSS'''
Needs to be paired with REFLECTIVE, and sets the object invulnerable and deflecting the projectiles at a wide angle
| 14
*0x80000000 '''REFLECTIVE'''
| Is a boss for the E3M8 boss special (exits level, or tag 666 in Heretic).
Reflects projectiles back, but still takes damage
|-style="background-color: #D9D9D9"
| '''BOSS'''
| 15
| Roars loudly, and is immune to blast radii and certain other attacks.
|-style="background-color: #F5F5F5"
| '''E4M6BOSS'''
| 16
| Is a boss for the E4M6 boss special (tag 666).
|-style="background-color: #D9D9D9"
| '''E4M8BOSS'''
| 17
| Is a boss for the E4M8 boss special (tag 666).
|-style="background-color: #F5F5F5"
| '''FOOTCLIP'''
| 18
| Is subject to liquid terrain effects (lowered view point, missiles, feet are clipped).
|-style="background-color: #D9D9D9"
| '''FLOATBOB'''
| 19
| Bobs perpetually on the z axis, like the Heretic and Hexen powerups.
|-style="background-color: #F5F5F5"
| '''DONTDRAW'''
| 20
| Completely invisible, but without the side effects of '''NOSECTOR'''.
|-style="background-color: #D9D9D9"
| '''SHORTMRANGE'''
| 21
| Has a limited missile range, like the Arch-vile.
|-style="background-color: #F5F5F5"
| '''LONGMELEE'''
| 22
| Has a restricted non-missile proximity area, like the Revenant.
|-style="background-color: #D9D9D9"
| '''RANGEHALF'''
| 23
| Considers only half the distance to its target, giving a higher missile attack probability.
|-style="background-color: #F5F5F5"
| '''HIGHERMPROB'''
| 24
| Additional boost to missile attack probability at a distance, as with the Cyberdemon.
|-style="background-color: #D9D9D9"
| '''CANTLEAVEFLOORPIC'''
| 25
| Cannot cross into sectors with a different floor flat. Useful for water monsters.
|-style="background-color: #F5F5F5"
| '''SPAWNFLOAT'''
| 26
| Spawns at a randomized height within the range of its sector, like the Heretic Gargoyle.
|-style="background-color: #D9D9D9"
| '''INVULNERABLE'''
| 27
| Takes no damage if damage is less than 10000. Does not react to damage.
|-style="background-color: #F5F5F5"
| '''DORMANT'''
| 28
| Spawns as dormant and invulnerable regardless of mapthing flags. Must be awakened by a script or line special.
|-style="background-color: #D9D9D9"
| '''SEEKERMISSILE'''
| 29
| Is considered a homing projectile, for reflection purposes.
|-style="background-color: #F5F5F5"
| '''DEFLECTIVE'''
| 30
| If paired with REFLECTIVE, causes reflection at a wide angle.
|-style="background-color: #D9D9D9"
| '''REFLECTIVE'''
| 31
| Reflects projectiles. Still takes damage unless also '''INVULNERABLE'''.
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!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"| Description
|-style="background-color: #F5F5F5"
| '''GHOST'''
| 0
| Is a Heretic ghost. Translucent, monsters will aim inaccurately, and '''THRUGHOST''' missiles will pass through.
|-style="background-color: #D9D9D9"
| '''THRUGHOST'''
| 1
| Missiles with this flag will pass through objects with the '''GHOST''' flag.
|-style="background-color: #F5F5F5"
| '''NODMGTHRUST'''
| 2
| Will not inflict thrust on objects that this object inflicts damage upon directly.
|-style="background-color: #D9D9D9"
| '''ACTSEESOUND'''
| 3
| Has a 50% chance of making its seesound instead of its activesound at each opportunity.
|-style="background-color: #F5F5F5"
| '''LOUDACTIVE'''
| 4
| Makes activesound at full volume.
|-style="background-color: #D9D9D9"
| '''E5M8BOSS'''
| 5
| Is a boss for the E5M8 boss special (tag 666). Used by Maulotaurs.
|-style="background-color: #F5F5F5"
| '''DMGIGNORED'''
| 6
| Monsters will never retaliate against this object when it damages them, as with Arch-viles.
|-style="background-color: #D9D9D9"
| '''BOSSIGNORE'''
| 7
| {{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
| Slides against walls when moving into them; used by players and Heretic pods.
|-style="background-color: #D9D9D9"
| '''TELESTOMP'''
| 9
| Can telefrag shootable objects, including monsters and players.
|-style="background-color: #F5F5F5"
| '''WINDTHRUST'''
| 10
| Is affected by Heretic wind sector effects.
|-style="background-color: #D9D9D9"
| '''FIREDAMAGE'''
| 11
| Damage inflicted directly by this object will be changed to use the '''Fire''' damagetype.
|-style="background-color: #F5F5F5"
| '''KILLABLE'''
| 12
| Is a living monster, but does not count for kill percentage. Used instead of '''COUNTKILL''' for Lost Souls.
|-style="background-color: #D9D9D9"
| '''DEADFLOAT'''
| 13
| '''NOGRAVITY''' flag is not removed when this object dies, as with Lost Souls.
|-style="background-color: #F5F5F5"
| '''NOTHRESHOLD'''
| 14
| Turns against most recent attacker instantly, as with Arch-viles and in Quake AI.
|-style="background-color: #D9D9D9"
| '''FLOORMISSILE'''
| 15
| Missiles with this flag can hug the floor and move up steps.
|-style="background-color: #F5F5F5"
| '''SUPERITEM'''
| 16
| An item with this flag will only respawn if the '''super items respawn''' dmflag is asserted.
|-style="background-color: #D9D9D9"
| '''NOITEMRESP'''
| 17
| Items with this flag never respawn, but cannot be crushed as with '''DROPPED'''.
|-style="background-color: #F5F5F5"
| '''SUPERFRIEND'''
| 18
| Adds absolute loyalty to '''FRIEND''' monsters; will never retaliate if attacked by a friend.
|-style="background-color: #D9D9D9"
| '''INVULNCHARGE'''
| 19
| Is invulnerable when '''SKULLFLY'''-charging, as with Maulotaurs.
|-style="background-color: #F5F5F5"
| '''EXPLOCOUNT'''
| 20
| Missile will not explode if counter 1 < counter 2, but increments counter 1. Used by Iron Lich tornadoes.
|-style="background-color: #D9D9D9"
| '''CANNOTPUSH'''
| 21
| Is unable to push objects with the '''PUSHABLE''' flag.
|-style="background-color: #F5F5F5"
| '''TLSTYLEADD'''
| 22
| Uses additive translucency as determined by the thingtype's [[thingtype|'''alpha''' property]].
|-style="background-color: #D9D9D9"
| '''SPACMONSTER'''
| 23
| Can activate parameterized linedefs which are marked with the MONSTER special activation flag.
|-style="background-color: #F5F5F5"
| '''SPACMISSILE'''
| 24
| Can activate parameterized linedefs which are marked with the MISSILE special activation flag.
|-style="background-color: #D9D9D9"
| '''NOFRIENDDMG'''
| 25
| Does not take damage from '''FRIEND''' objects, excepting possibly itself.
|-style="background-color: #F5F5F5"
| '''3DDECORATION'''
| 26
| Object clips missiles at its normal height even when '''comp_theights''' is off. Used by DOOM decor objects.
|-style="background-color: #D9D9D9"
| '''ALWAYSFAST'''
| 27
| Always exhibits -fast/Nightmare increased reaction time and attack rate in all skill levels.
|-style="background-color: #F5F5F5"
| '''PASSMOBJ'''
| 28
| Is considered fully three dimensional when '''comp_overunder''' is off (3D object clipping enabled).
|-style="background-color: #D9D9D9"
| '''DONTOVERLAP'''
| 29
| Tries to avoid overlapping with other objects even when 3D object clipping is enabled.
|-style="background-color: #F5F5F5"
| '''CYCLEALPHA'''
| 30
| '''alpha''' will cycle continuously if '''alphavelocity''' is greater than zero.
|-style="background-color: #D9D9D9"
| '''RIP'''
| 31
| 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"| 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"| Description
|-style="background-color: #F5F5F5"
| '''AUTOTRANSLATE'''
| 0
| 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
| Object will not take radius damage from most sources.
|-style="background-color: #F5F5F5"
| '''FORCERADIUSDMG'''
| 2
| As an inflictor, forces all objects (including '''BOSS''' and '''NORADIUSDMG''') to take radius damage.
|-style="background-color: #D9D9D9"
| '''LOOKALLAROUND'''
| 3
| Has a 360-degree field of vision, same as monsters given the '''AMBUSH''' flag after hearing a shot.
|-style="background-color: #F5F5F5"
| '''NODAMAGE'''
| 4
| Is invulnerable to damage < 10000, but still reacts as if damage has been taken (thrust, blood, and pain).
|-style="background-color: #D9D9D9"
| '''SYNCHRONIZED'''
| 5
| Will not have its spawnstate tics randomized when spawned on the map at level start. '''SVN r1096+'''
|-style="background-color: #F5F5F5"
| '''NORANDOMIZE'''
| 6
| 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
| Will always be full-bright regardless of current frame setting.
|-style="background-color: #F5F5F5"
| '''FLY'''
| 8
| Object is flying. Used by the player when under the effect of a flight artifact.
|-style="background-color: #D9D9D9"
| '''NORADIUSHACK'''
| 9
| 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
|Actor can play any number of sounds.
|-style="background-color: #D9D9D9"
|'''RAVENRESPAWN'''
|11
|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]]
=Flags3=
|-style="background-color: #F5F5F5"
*1''' GHOST'''
|'''NOTSHAREWARE'''
Heretic-style ghost: stealth for the monsters, and passable by THRUGHOST objects
|12
*2 '''THRUGHOST'''
|Things with this flag will not spawn on a map if the current gamemode is a shareware gamemode.
Passes through GHOST objects ("man-made" projectile in Heretic)
|-style="background-color: #D9D9D9"
*4 '''NODMGTHRUST'''
|'''NOTORQUE'''
Cannot thrust objects against which this one causes damage.
|13
*8 '''ACTSEESOUND'''
|Things with this flag are never subject to MBF torque simulation, even if it is enabled via the compatibility vector.
50% chance to use the sight sound instead of the active sound when mumbling around.
|-style="background-color: #F5F5F5"
*16''' LOUDACTIVE'''
|'''ALWAYSTORQUE'''
Makes the active sound at full volume.
|14
*32 '''E5M8BOSS'''
|Things with this flag are always subject to MBF torque simulation, even if it is disabled via the compatibility vector.
Used for Maulotaurs, active in E5M8 and tag 666.
|-style="background-color: #D9D9D9"
*64 '''DMGIGNORED'''
|'''NOZERODAMAGE'''
"Feared" by other monsters: they won't fight this one if provoked.
|15
*128 '''BOSSIGNORE'''
|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).
Won't attack other monsters with BOSSIGNORE. '''This flag is deprecated and should not be used by EDF modifications.''' It will be replaced with generalized control of infighting behavior.
|-style="background-color: #F5F5F5"
*256 '''SLIDE'''
|'''TLSTYLESUB'''
Can slide along walls, when pushing on them, like the player and Heretic pods
|16
*512 '''TELESTOMP'''
|Thingtype uses subtractive blending.
Can telefrag.
|-style="background-color: #D9D9D9"
*0x400 '''WINDTHRUST'''
|'''TOTALINVISIBLE'''
Can be pushed by Heretic winds
|17
*0x800 '''FIREDAMAGE'''
|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.
Does '''fire''' type damage
|-style="background-color: #F5F5F5"
*0x1000 '''KILLABLE'''
|'''DRAWSBLOOD'''
Safety flag required to be used when COUNTKILL is not used. Allows the monster to behave normally without counting it towards the kill ratio.
|18
*0x2000 '''DEADFLOAT'''
|Missile draws blood.
Doesn't lose gravity when killed.
|-style="background-color: #D9D9D9"
*0x4000 '''NOTHRESHOLD'''
|'''SPACPUSHWALL'''
Thing always turns on the latest attacked, like in Quake.
|19
*0x8000 '''FLOORMISSILE'''
|Objects of this type can trigger push walls.
The missile hugs the floor.
|-style="background-color: #F5F5F5"
*0x10000 '''SUPERITEM'''
|'''NOSPECIESINFIGHT'''
Super powerup: only respawns if a special dmflag is enabled.
|20
*0x20000 '''NOITEMRESP'''
|Monster won't infight with others of the same species, even if suffering damage. See [[thinggroup]] for related infighting settings.
Never respawns, and unlike DROPPED, won't be crushed by sectors.
|-style="background-color: #D9D9D9"
*0x40000 '''SUPERFRIEND'''
|'''HARMSPECIESMISSILE'''
Loyal friend, never retaliates on being hit.
|21
*0x80000 '''INVULNCHARGE'''
|Monster will be harmed by projectile attacks coming from the same species. Again, see [[thinggroup]].
Invulnerable when SKULLFLY is set (when charging)
|-style="background-color: #F5F5F5"
*0x100000 '''EXPLOCOUNT'''
|'''FRIENDFOEMISSILE'''
Missile won't blow up if Counter 1 < Counter 2, instead it will increment Counter 1
|22
*0x200000 '''CANNOTPUSH'''
|Friends of this [[thingtype]] may harm (by projectiles) enemies of the same species. By default they are immune.
Cannot push PUSHABLE objects
|-style="background-color: #D9D9D9"
*0x400000 '''TLSTYLEADD'''
|'''BLOODLESSIMPACT'''
Uses additive translucency, can be combined with the alpha [[thingtype|property]]
|23
*0x800000 '''SPACMONSTER'''
|Prevents Heretic-style projectiles from producing blood when hitting this thing (assuming it sheds blood).
Can activate parameterized line specials with the MONSTER flag
|-style="background-color: #F5F5F5"
*0x1000000 '''SPACMISSILE'''
|'''HERETICBOUNCES'''
Can activate parameterized line specials with the MISSILE flag
|24
*0x2000000 '''NOFRIENDDMG'''
|Thing bounces like the Heretic mace spheres: if it's also a '''MISSILE''' without '''NOCLIP''' and touches the floor, its vertical velocity is reversed, and it's sent to its '''deathstate'''. Actual bouncing behavior will then need to be managed in the [[DeathBallImpact]], [[MaceBallImpact]] and [[MaceBallImpact2]] codepointers (or other user behavior) called during the death state, which may even remove this flag among other things.
Won't take damage from FRIEND objects
|-style="background-color: #D9D9D9"
*0x4000000 '''3DDECORATION'''
|'''MONSTERPASS'''
Used for Doom decoration, which acts dually as a sentient actor blocker and free for projectiles
|25
*0x8000000 '''ALWAYSFAST'''
|Thing passes through monster-blocking lines, without being a friend, projectile or a player.
Always accelerated in speed and reaction despite the skill level
|-style="background-color: #F5F5F5"
*0x10000000 '''PASSMOBJ'''
|'''LOWAIMPRIO'''
Fully 3d, if z-clipping is enabled
|26
*0x20000000 '''DONTOVERLAP'''
|Low autoaim priority, like friends or Heretic pods.
Tries to avoid overlapping even if z-clipping is enabled
|-style="background-color: #D9D9D9"
*0x40000000 '''CYCLEALPHA'''
|'''STICKYCARRY'''
Cycles the alpha, depending on the alphavelocity [[thingtype|property]]
|27
*0x80000000 '''RIP'''
|Can carry other things on top of it. In addition, their movement acceleration is impeded while standing on it. You can use this to ride cacodemons.
As a missile, goes through damageable objects, dealing them pain repeatably while in them
|-style="background-color: #F5F5F5"
|'''SETTARGETONDEATH'''
|28
|Guarantees that their blame target is set properly upon death. This helps with chain reactions such as Heretic pods, where you can really get a frag for killing a player from a chain reaction.
|-style="background-color: #D9D9D9"
|'''SLIDEOVERTHINGS'''
|29
|If on top of other things, keep sliding without stopping.
|-style="background-color: #F5F5F5"
|'''UNSTEPPABLE'''
|30
|Thing cannot be stepped on like a stair. This is typical with all Heretic solid things.
|-style="background-color: #D9D9D9"
|'''RANGEEIGHTH'''
|31
|Consider range to target as 1/8 of its actual range when determining whether to attack during a [[Chase]] state. Typical due to Strife-specific behaviour.
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Description
|}
==flags5==
{| 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"| Description
|-style="background-color: #F5F5F5"
|'''NOTAUTOAIMED'''
|0
|Not subject to autoaiming. Useful for optional destructibles which you don't want to capture player's autoaim instead of other monsters, while also avoiding the side effects of using '''FRIEND''' for this
|-
!style="background-color: #C5D0E1"| Flag name
!style="background-color: #E3EEFF"| Bit number
!style="background-color: #C5D0E1"| Description
|}


[[category:EDF]]
=Flags4=
*1 '''AUTOTRANSLATE'''
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 to use the Doom's palette, but are allowed to be spawned in Heretic.
*2 '''NORADIUSDMG'''
Doesn't take radius damage.
*4 '''FORCERADIUSDMG'''
Always takes radius damage.
*8 '''LOOKALLAROUND'''
Sees targets in any direction during [[Look]] frames, similar to how they behave when under AMBUSH setting after hearing a shot.
*16 '''NODAMAGE'''
Takes no damage but may still enter pain frames (unlike the invulnerability behavior).
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see Eternity Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)

Templates used on this page: