Next Previous Contents

5. Things

5.1 New Things

A few new thing types were added by Boom and MBF; they are described here.

888

A dog. MBF added support for helper dogs, which follow the player around and help them battle the monsters. This new dog thing type is independent of any helper dogs the user has selected though - the idea is to allow the WAD author to include dogs if they want. They are not friendly by default, you have to either mark the whole dog species (140) friendly via a BEX patch, or individual dogs friendly via the revelant thing flag (see below).

4000-4099

Reserved for use for additional coop player starts in future.

5001, 5002

BOOM implemented two new thing types, MT_PUSH (5001), and MT_PULL(5002). These control the origin of the point source wind effect controlled by linedef types 225 and 226, and set whether the wind blows towards or away from the origin depending on which is used.

See the Doom Specs for a complete reference on Doom's thing types.

5.2 Thing Flags

The thing flags field in Doom controls various properties of each THING. Each property is controlled by one or more bits within the flags field. The various bits mean:

Bit 0 - "easy"

This thing appears in skill 1/2 games

Bit 1 - "medium"

This thing appears in skill 3 "Hurt Me Plenty" games.

Bit 2 - "hard"

This thing appears in skill 4 & 5 ("Ultraviolent" and "Nightmare!") games.

Bit 3 - "ambush"M

This thing is deaf, so it only awakens when it sees the player.

Bit 4 - "not single"

This thing only appears in multiplayer games.

Bit 5 - "not in DM"

This thing should not appear in deathmatch games.

Bit 6 - "not in COOP"

This thing should not appear in multiplayer cooperative games.

Bit 7 - "friendly"

This thing is spawned with the FRIEND mobj flag, so it is friendly to the player and fights other non-FRIEND monsters. Note that things without this flag might be friendly for other reasons, e.g. players are always friendly, and thing types can be marked friendly in BEX patches.

Bit 8 - "compatibility"

If set, all bits other than bits 0-4 are ignored for this thing. This is to cope with some old level editors like Hellmaker which set all the unused bits to 1, which would otherwise not be compatible with the newer extensions.

Editors should always leave unused bits set to 0.


Next Previous Contents