From 3DGE Wiki
Jump to: navigation, search


This page contains functions that are either deprecated or have been removed, as indicated by the background color.

Stored in the things.ddf file or in the DDFTHING data lump.

Things.ddf allows you to define and modify all the creatures and objects in EDGE. Each entry consists of a unique name and mapnumber, enclosed in square brackets, followed by a series of commands that specify the characteristics of the object or monster. You do not need both the name and number if you are scripting with RTS - either/or is fine. Likewise, you can include both name/number, or just the numerical entry as well.

Both the name portion and the mapnumber should be unique and are included together in the square brackets at the beginning of the commands for that thing. The map number is referred to from the map in the wadfile, or from an rts script, whilst the name will be referred to in other ddf files where necessary E.g. spawner attacks.


The commands that can be used to specify properties of a thing are as follows:

ACTIVE_SOUND [sound] Sound made randomly while a thing is active.
AMBIENT_SOUND [sound] Sound made by action pointers MAKESOUND and MAKESOUNDRANDOM.
BLOOD [special] The name of a special sprite animation (defined in things.ddf) to play when a creature is hurt. Hence, different animations can be set to make different sized or coloured blood. By default it calls an object called BLOOD. All blood animations need at least 3 frames.
BOBBING [percentage] How much the player's head should bob up and down while walking
BOUNCE_SPEED [float] Speed object will retain after it has bounced. Where 1 is original speed and 0 is stopped dead.
BOUNCE_UP [float] Specifies how far an object bounces from the surface it strikes E.g. floor, ceiling etc. Default value is 0.5
CASTORDER [integer] The order this object appears in the cast list. (The cast list is the sequence that follows Doom2 MAP30).
CHOKE_DAMAGE.DEATH_STATE [state] What STATES this object should use if it dies from choking underwater. E.g. DEATHDROWN
CHOKE_DAMAGE.DELAY [tics] How often this creature takes damage due to choking.
CHOKE_DAMAGE.PAIN_STATE [state] What STATES this object should use if it is in pain because of choking underwater. E.g. PAINDROWN
CHOKE_DAMAGE.VAL [float] Simple damage value for when this creature is choking.
CLOSE_ATTACK [attack] Attack to use when attacking from close range.
CROUCH_HEIGHT [float] Height of the creature (player) when crouching.
DEATH_SOUND [sound] Sound made by action pointer MAKEDEATHSOUND.
DLIGHT.COLOUR [special] This value is the colour to use for any dynamic lighting associated with the object. It's value takes the form of three pairs of digits in hexadecimal E.g. #RRGGBB to specify the proportion of each of the three colours in the mix. So for example #FF0000 would be pure red, #990000 would be a darker red and #FFFFFF would be a bright white. Experimentation is probably the best way to find the colour you want.

This value is the starting dynamic light intensity of the object. This can be modified as the object changes, using the [#dlight DLIGHT] SET and FADE actions.

DLIGHT.TYPE [special] This value is the type of dynamic lighting to use for the object. At present only QUADRATIC lighting has been used, though there is also CONSTANT and LINEAR.
DROPITEM [special] The thing dropped when the object dies. (usually ammo or a weapon).
EXPLODE_DAMAGE.DEATH_STATE [state] What STATES this object should use if it dies from explosion. E.g. DEATHDROWN
EXPLODE_DAMAGE.PAIN_STATE [state] What STATES this object should use if it is in pain because of explosions. E.g. PAINEXPLO
EXPLODE_DAMAGE.OVERKILL_STATE [state] What STATES this object should use if it is gibbed because of explosions.
EXPLODE_DAMAGE.VAL [float] Damage experienced if this object explodes. (e.g used for barrels).
EXPLODE_RADIUS [float] Normally the explosion radius is the same as the damage caused, but this command forces the explosion radius to a particular value (e.g. 200). The amount of damage is not affected.
EXTRA [special] Extra options to identify the object. Options used in QDoom include are LOOPING_SOUND and RAIN.
FAST [float] Multiplier for nightmare mode and -fastparm.
FLOAT_SPEED [float] How fast a creature will float up or down. Can also be used with bullet puffs. 1 is normal for puffs, 4 is normal for creatures (e.g cacodemon).
FUSE [tics] Force object into it's DEATH states after a period of time. Useful for spawned objects such as grenades.
GASP_SOUND [sound] Sound made when this creature emerges from a choking environment.
GASP_START [time] How long underwater before we gasp when leaving it. Default is 2 seconds
GHOST_CLASS [bitset] Makes this creature a ghost (bullets/missiles pass through him) against a corresponding attack class in ATTACKS.DDF
There are 26 possible classes, A thru Z. Three are reserved: `M' is the default for missile attacks, `B' is the default ATTACK_CLASS for bullet/shot attacks, and `C' is the default for close-combat attacks.
GHOST_CLASS=B; //this would mean that bullets pass through this thing.
GHOST_CLASS=MV; //missile attacks and attacks of a custom Attack_class V would pass through this thing.
GIB [special] The object to create when a creature is gibbed (e.g. gets whacked by a crusher). This must be an object defined in things.ddf
HEIGHT [float] How tall this thing is. (You may have to fiddle around with new items so that item heights and item graphics match up properly)
IMMUNITY_CLASS [bitset] Gives immunity against a corresponding attack class in ATTACKS.DDF
There are 26 possible classes, A thru Z. Three are reserved: `M' is the default for missile attacks, `B' is the default ATTACK_CLASS for bullet/shot attacks, and `C' is the default for close-combat attacks.
IMMUNITY_CLASS=B; //this would mean that bullets won't hurt this thing
IMMUNITY_CLASS=CV; //immune against close attacks and attacks of a custom Attack_class V
INITIAL_BENEFIT [benefit] A list of benefits (separated by commas) which a player will normally begin with. See below for benefit format.
JUMP DELAY [tics] Delay before being allowed to jump again
JUMP_HEIGHT [float] How high this thing can jump. (Default 10) (only really useful for setting how high a player or bot can leap).
JUMP_SOUND [sound] Sound played when player uses jump key.
LAUNCH_SOUND [sound] Sound made when the creature/object launches a ranged attack.
LUNG_CAPACITY [time] How long player can hold out before choking.(Default is 20 seconds)
MASS [float] How heavy this thing is. (E.g heavy creatures like the Mancubus won't be shoved around or tossed into the air by explosions. Imps however can fly for miles when hit with a rocket).
MAX_FALL [float] Max force this object can take after a high fall before taking damage. This value is multiplied by gravity. Deprecated???
MINATTACK_CHANCE [percentage] Used in deciding whether a monster should attack now, or move closer to get a better shot. Valid values are between 1% and 100%. 1% = move, 100% = shoot. 0% = ignore
NOWAY_SOUND [sound] Sound the creature (player) makes when they try to use an object they can't.
OOF_SOUND [sound] Sound the creature (player) makes when they walk into a wall.
OVERKILL_SOUND [sound] Sound the creature (player) makes when they are seriously killed. Used by the action pointer MAKEOVERKILLSOUND
PAIN_SOUND [sound] Sound played when the creature is in pain. Used by the action pointer MAKEPAINSOUND.
PAINCHANCE [percentage] The probability that the thing will go into pain state. 100% is certain, 0% is never.
PALETTE_REMAP [colourmap] Used to remap sprite colours. The value is a reference to an entry in colmap.ddf. Examples: 'PLAYER_BROWN', 'SKIN_BLUE', 'ALLWHITE', 'ALLGREEN'.
PICKUP_BENEFIT [benefit] A list of benefits (separated by commas) which a player receives when they pickup this item. See below for benefit format.
PICKUP_EFFECT [weapon name] Required for #VERSION 1.29 and higher to make the Berserk powerup switch to the fist (in earlier versions it will be added for you to maintain compatibility)
PICKUP_MESSAGE [lang] The message the player sees when they pick up this item.
PICKUP_SOUND [sound] Sound made when the object is picked up
PLAYER [float] The player number. This can be either 1 to 8 for a player or -1 for a deathmatch start.
RADIUS [float] How wide this thing is.
RANGE_ATTACK [attack] Attack to use when attacking from a distance.
REACTION_TIME [time] How long after sighting, teleporting etc that this object must wait before reacting.
RELOAD_SHOTS [integer] How many shots the monster can fire before entering the RELOAD states.
RESISTANCE_CLASS [bitset] Gives resistance(only suffers 40% of the original damage) against a corresponding attack class in ATTACKS.DDF
There are 26 possible classes, A thru Z. Three are reserved: `M' is the default for missile attacks, `B' is the default ATTACK_CLASS for bullet/shot attacks, and `C' is the default for close-combat attacks.
RESISTANCE_CLASS=B; //this would mean that bullets hurt this thing 60% less than normal
RESISTANCE_CLASS=CV; //resistant against close attacks and attacks of a custom Attack_class V
RESPAWN_EFFECT [special] The name of an animation to play when an object respawns. Hence, it is possible to create custom respawn effects for different objects
RESPAWN_TIME [time] Time it takes before this item respawns.
RIDE_FRICTION [float] How easy this object is to ride on. Values should be in the range from 0 to 1.
SHOT_HEIGHT [percentage] At what height the creatures attack comes from.
SHADOW_TRANSLUCENCY [percentage] The translucency of this things shadow (0% = no shadow)
SIDE [float] Valid values are 0,1,2,4,8,16,32,64 and 128 (or the sum of any of these values) Objects on the same side don't attack each other. 0 (or omitted) is neutral. Side is a binary value, so side 6 is an alliance between sides 4 2. Players on the same side don't get frags for killing their own side.The side value is required for creating friendly monsters. If the friendly monster is not given a side tag, it will not know which player/s to support. Note that you can set friendly monsters to support individual players, or teams of players.
SIGHT_ANGLE [float] Sets the left and right field of view for a monster. A value of 180 means the monster will see in all directions (180 degrees left, 180 degrees right for a total of 360 degrees)
SIGHT_SLOPE [float] Sets the up/down field of view for a monster.
SIGHTING_SOUND [sound] Sound made when a thing sees a target or by action pointers MAKESOUND and MAKESOUNDRANDOM.
SPARE_ATTACK [attack] Miscellaneous attack. Used by the SPARE_ATTACK action pointer.
SPAWNHEALTH [float] The amount of health this object begins with.
SPECIAL [flags]

Flags for this thing. See [#flags flags] section below.

SPEED [float] How fast this thing moves. Values of up to 100 are supported. Numbers around 10 are normal for most doom monsters
SPRITE_ASPECT [float] Adjusts the width of sprite graphics. See above. 1 is normal, 0.5 makes for tall and skinny sprites, 2.0 makes for obese sprites.
SPRITE_SCALE [float] Stretches or shrinks the total size (width and height) of sprite graphics. 1 is normal perspective, 0.5 will make graphics half normal size. Used when you wish to use larger and more detailed sprites than normal DOOM.
STARTCOMBAT_SOUND [sound] Sound made when starting a melee attack.
TRANSLUCENCY [percentage] The percentage of translucency this object is. 0% is invisible, while 100% is visible.
VIEW_HEIGHT [float] Used to set what height the creature (player) sees things from.
WALK_SOUND [sound] Sound made by the action pointer WALKSOUND_CHASE.


(most can also apply to projectiles in attacks ddf.)

AMBUSH Not to be activated by sound, deaf monster.
ALWAYS_LOUD No sound volume change due to distance.
ATTACK_HURTS Monster can be harmed by it's own species.
BARE_MISSILE Object explodes and dies when it hits something.
BLOCK_SHOTS This object stops bullets.
BOUNCE Object will bounce when it hits floor or wall. Very trippy if you add it to a creature - bouncing gibs!!
CLIMBABLE Player can climb on top of this object or monster.
CORPSE Object is dead.
COUNT_AS_ITEM Counts towards the item percent at end of level.
COUNT_AS_KILL Counts towards the kill percent at end of level. This flag automatically implies the MONSTER flag.
CROSSLINES Object can cross lines that are marked as blocking.
DAMAGESMOKE Object doesn't bleed, uses bullet puffs instead. (Such as barrels).
DISLOYAL Monster will attack its own species.
DROPOFF Object can travel over cliffs greater than 24 high.
DROPPED Object has been dropped. Only give half benefit.
EDGEWALKER Monster will walk over deep gaps and along cliff edges.
EXPLODE_IMMUNE No damage from explosions.
FLOAT Monster can fly. (E.g pain elemental, lost soul). Should be used with the NOGRAVITY flag.
FORCE_PICKUP Item will be picked up, even if no benefit is specified
FUZZY Partial invisibility, like spectres.
GRAVFALL Monster will fall with gravity. Without this flag, non-flying monsters will always stick to the floor.
HOVER Item will bob up and down.
INERT Another name for NOBLOCKMAP. The brain stem, and pools of blood are declared as INERT, as they are completely unaffected by surroundings.
INVISIBLE Completely translucent, can't be seen.
MISSILE Object is a missile. Just a combination of the BARE_MISSILE CROSSLINES NOFRICTION flags.
MONSTER Object is a monster (i.e. not a player or scenery).
NEVERTARGETED Monsters never target this object.
NO_GRUDGE If this object is attacked it will switch targets to it's attacker rather than pursuing a grudge against a current target.
NO_RESPAWN Object cannot respawn.
NO_RESURRECT Object cannot be resurrected (by Archvile).
NOBLOCKMAP Object is visible but cannot be interacted with.
NOCLIP Allows things to go through solid walls.
NODEATHMATCH Object will not be spawned in deathmatch.
NOFRICTION Friction does not apply to this object.
NOGRAV_KILL When the object dies it will not fall to the ground.
NOGRAVITY Gravity does not apply to this object.
NOSECTOR Object can be interacted with, but is completely invisible
NOSHADOW Object casts no shadow.
NOZBUFFER Allows a bunch of small objects close to each other (and with this special) to get fully drawn. Mainly useful for stuff like smoke puffs or blood to prevent Z-fighting when there are many of them in a small area.
PICKUP Object can pick up other items. Only for players or bots.
SHOOTABLE Object can be damaged.
SIDE_GHOST Friendly monsters will be like ghosts for your weapon fire. i.e. your shots will pass through them.
SIDE_IMMUNE Friendly monsters are completely immune from your weapon fire.
SLIDER This flag stops players/creatures getting stuck on walls. (Can also be used to affect the behaviour of grenades when they hit a wall)
SOLID This object blocks movement.
SPAWNCEILING Object will be spawned on the ceiling.
SPECIAL Object can be picked up.
STEALTH Monster goes invisible on chase, visible on attack/pain (scary).
TELEPORT Monster teleports over cliffs, i.e. will instantly go up or down the edge of a tall cliff.
TELEPORT_TYPE Indicates this object is a type of teleport effect.
TOUCHY Object reacts when another object collides with it. If the object has TOUCH states, then those are used, otherwise the object goes into its death states. The action pointer TOUCHY_REARM is needed to re-enable the object.
TRIGGER_HAPPY Doubles the chance the monster will attack over moving.
ULTRA_LOYAL Friendly monsters don't turn into enemies when hurt by your weapon fire
USABLE Object reacts when you press the USE key against it. Must be used in conjunction with TOUCHY. The objects TOUCH states will be used. The action pointer TOUCHY_REARM is needed to re-enable the object.
WATERWALKER Object cannot penetrate an extrafloor which is tagged as WATER.


Each named STATES entry defines an animation sequence to play when an attack is in progress, as well as calling the actions required at the appropriate frames in the animation. These consist of a series of states, which are individual frames of the animation. A state is defined like this:
as follows:

Sprite The four letter name of the sprite to use.
Frame The frame reference, A-Z, '[', '\', ']' If you need more than this, use another sprite.
Tics Number of tics to spend on this frame. -1 means the frame should last forever.
Bright Can be 'BRIGHT' or 'NORMAL' Bright frames are always drawn full brightness.

Action to be carried out. [#actions Actions] are listed below.

Each frame ends with either a semincolon ; if it is the last frame in the animation or a comma , if it is not.

In addition, any line may include a #Command at the end. This will either be #STATENAME which causes a jump to the first frame in the animation of the named state. #STATENAME:FRAME causing a jump to the specified frame number in the animation of the named state. OR #REMOVE to remove the animation shown from the HUD.

Special STATES

The following are predefined state names that have specific purposes:

BOUNCE States that the object enters when it's bouncing.
CHASE States that a creature enters when chasing a target.
DEATH States used when an object explodes/dies.
GIB States for an object when it has been gibbed.
IDLE States for when the object isn't doing anything.
JUMP States that a thing (player) uses when it's jumping.
MEANDER States for when the creature is wandering around aimlessly.
MELEE States for when the creature is using a close combat attack.
MISSILE States for when the creature is using a ranged attack.
OVERKILL States for when a creature dies by a spectacular amount of damage.
PAIN States that a projectile enters when bouncing.
RELOAD States for when the creature is reloading.
RESPAWN States to use when a creature is resurrected by another creature.
RESURRECT States used for a creature while it resurrects a fallen comrade.
SPAWN States to play when an object is spawned.
TOUCH States that an object enters when it has been touched.

Note that states can have a single rotation (like the plasma shots that look identical from any angle) or multiple rotations (e.g rocket in flight).


BOT_THINK An action associated with the DeathBot. This may be depricated. ?
BOUNCE_DISARM Prevents a bouncing object from entering its BOUNCE states.
BOUNCE_REARM Allows a bouncing object to enter its BOUNCE states. When an object bounces, it enters its BOUNCE states and automatically disables further entries into the bounce states, preventing an action sequence from being interrupted by future bounces. Use this action to re-enable the bounce states.
BRAINDIE Boss brain action. Causes the brain to enter it's dead state.
BRAINMISSILEEXPLODE Boss brain action, Causes the brain to explode when the final missile hits.
BRAINSCREAM Boss brain action, the boss brain screams when it dies.
BRAINSPIT Boss brain action, the brain launches a spawn cube.
CHASE Runs after a target, possibly attacks.
CHECKBLOOD CheckBlood action stops blood from disappearing in blood mode (when applied to `blood' animations )
CHECKMOVING CheckMoving action returns an object to its spawn state when it ceases moving. (see player objects)
CLOSE_ATTACK Starts a melee attack.
CLOSEATTEMPTSND Makes the object's close attack ATTEMPT_SOUND
COMBOATTACK Will start a melee attack if the object is in range, or a ranged attack if it is not.
DIE Mainly for Bex compatibility
DLIGHT_FADE Fades the objects dynamic lighting to the specified level. Used like DLIGHT_FADE(500).
DLIGHT_RANDOM Randomly set the objects dynamic lighting between the specified levels. Used like DLIGHT_RANDOM(200,800)
DLIGHT_SET Sets the objects dynamic lighting to the specified level. Used like DLIGHT_SET(1000).
DROPITEM Causes the monster to drop the a specified item. The dropped item is non-solid (but may be pick-up-able), and is dropped a random distance away from the monster (so multiple drops don't all land on the exact same spot).
EFFECTTRACKER Does the damage associated with the tracker.
EXPLOSIONDAMAGE Does a fixed amount of damage to all monsters within the explosion range.
FACE Turns the object to face the angle specified in brackets.
FACETARGET Turns the object to face it's target.
JUMP Used like so.. JUMP(state:frame,xx%) and gives a xx% chance that the object jumps to the specified frame of the specified state.
KILLSOUND Stops any sound playing that is associated with this thing.
LOOKOUT Looks for players to kill. Enters the CHASE states if it finds one.
MAKEACTIVESOUND Makes the object's active sound
MAKEDEAD Makes the object dead: Visible if stealth, and not solid.
MAKEDEATHSOUND Makes the object's death sound
MAKEOVERKILLSOUND Makes a slopping noise...
MAKEPAINSOUND Makes the object's pain sound.
MAKESOUNDRANDOM Gives a 20% chance of making the object's AMBIENT_SOUND/SIGHTING_SOUND.
MEANDER Walk around aimlessly. Find targets to attack.
MLOOK_FACE Causes this object to face the MLOOK angle specified in brackets.
MLOOK_TURN Causes this object to turn by the MLOOK angle specified in brackets.
MOVE_DOWN Causes this object to move down by the amount specified in brackets.
MOVE_FWD Causes this object to move forward by the amount specified in brackets.
MOVE_RIGHT Causes this object to move right by the amount specified in brackets. Use a negative value to move left.
MOVE_UP Causes this object to move up by the amount specified in brackets.
NOTHING Does nothing.
PATH_FOLLOW Follows the monster's path (if any). Note: doesn't do anything else, so use LOOKOUT to make the monster look for players.
PATH_CHECK Check whether this monster is a path follower (path followers are spawned by RTS path nodes). If it is, then it jumps to the MEANDER states. Typically used as the first action of the IDLE states. Useful for allowing a single monster entry to be both (normal and path follower).
PLAYER_SCREAM Makes the player's death scream.
PLAYSOUND Makes the sound specified in brackets.
RANGE_ATTACK Starts a range attack
RANGEATTEMPTSND Starts the object's range attack ATTEMPT_SOUND.
REFIRE_CHECK Checks to see whether the object can keep firing: can it see it's target? is it's target still alive? (Basically stops a monster shooting at a target that has moved or died).
RELOAD_CHECK Checks to see whether the object needs to reload, and if yes then enters the objects RELOAD states
RELOAD_RESET Resets the RELOAD_SHOTS counter for this monster.
RESCHASE CHASE look for bodies to resurrect.
RESET_SPREADER Resets a spreader attack.
SMOKING Creates a smoke trail behind the object.
SPARE_ATTACK Starts the spare attack.
STOP Stops the object from moving.
SUPPORT_LOOKOUT Looks for a player to support.
SUPPORT_MEANDER Follow a supporting player. Find targets to attack.
TOUCHY_DISARM Prevents a touchy object from entering its TOUCH states.
TOUCHY_REARM Rearms a touchy object, allowing it to react to future collisions. When a touchy object is touched, it enters its TOUCH states and is automatically disarmed, preventing an action sequence from being interrupted by further collisions.
TRANS_FADE Fades the objects translucency to the percentage value specified in brackets.
TRANS_SET Sets the objects translucency to the percentage value specified in brackets.
TURN Turns the object to the angle specified in brackets.
TURN_RANDOM Turns the object randomly between the current angle and that specified in brackets.
  • Note: RANGE_ATTACK, CLOSE_ATTACK and SPARE_ATTACK can have an attack name in between brackets, e.g RANGE_ATTACK(CACO_FIREBALL), and it will use that attack instead of the normal one.


Benefits are used by the INITIAL_BENEFIT and PICKUP_BENEFIT commands in things.ddf. Each benefit is a name, possibly followed by one or two values in brackets. Examples: KEY_REDCARD, BULLETS(10), HEALTH(15:100). There are 7 different types of benefits:

Ammo Specifies weapon ammunition. The player receives the ammunition (value in brackets is how much), upto the current limit for that type.
AmmoLimit Specifies the limit for ammo. The player's current limit for the ammo type is increased upto the value in brackets (or unchanged if it was already that high).
Health Specifies health that the player receives, the first value in brackets in how much health, the second value in the brackets is the limit, if the player already has that much, nothing happens, otherwise the player receives the health but no more than the limit.
Armour Specifies armour. It works like health, there are two values: the amount of armour to give, and the limit.
Key Specifies the name of a key.
Weapon Specifies the name of a weapon (must be an entry in weapons.ddf).
Powerup Specifies the name of a powerup (e.g. invulnerability). The first number in brackets is the number of seconds that the powerup will last. The second number is a limit value -- e.g. 30 will limit multiple pickups of the same powerup to last no longer than 30 seconds.

Ammo and AmmoLimit:


Health and Armour:

HEALTH Health for the player.
GREEN_ARMOUR Green armour is the weakest (saves 33% of damage).
64% damage absorbed by player, 33% damage absorbed by Armor
BLUE_ARMOUR Blue armour is next (saves 50% of damage).
50% damage absorbed by player, 50% damage absorbed by Armor
YELLOW_ARMOUR Yellow armour is next (saves 75% of damage).
25% damage absorbed by player, 75% damage absorbed by Armor
RED_ARMOUR Red armour is the strongest (Saves 90% of damage).
10% damage absorbed by player, 90% damage absorbed by Armor


REDCARD Red keycard.
BLUECARD Blue keycard.
YELLOWCARD Yellow keycard.
REDSKULL Red skull key.
BLUESKULL Blue skull key.
YELLOWSKULL Yellow skull key.
GREENCARD Green keycard.
GREENSKULL Green skull key.
GOLDKEY Gold key.
SILVERKEY Silver key.
BRASSKEY Brass key.
COPPERKEY Copper key.
STEELKEY Steel key.
WOODENKEY Wooden key.
FIREKEY Fire key.
WATERKEY Water key.


POWERUP_ACIDSUIT Provides the player with protection against slime (and damaging sectors in general - but not crushers).
POWERUP_AUTOMAP Player gets to see everything on the automap.
POWERUP_BERSERK Gives the player extra strength for the time period. Only affects strength-related weapons (just the punch).
POWERUP_INVULNERABLE Makes the player completely invulnerable for the time period. Also makes everything look white.
POWERUP_JETPACK The jetpack allows the player to fly! Be warned though, the fuel does not last forever (something to keep in mind whilst flying over that lava canyon).
POWERUP_LIGHTGOGGLES Allows the player to see with light goggles, making all dark areas look like they are fully lit up.
POWERUP_NIGHTVISION Gives the player night vision goggles, similar to LIGHTGOGGLES but everything gets a more realistic green shade.
POWERUP_PARTINVIS Makes the player partially invisible for a while. Monsters will have a harder time trying to shoot you.
POWERUP_SCUBA The scuba allows the player to breathe underwater! Be warned though, the air does not last forever.

Doom Definition Files