Inventory is a mechanic added to the Doom engine independently by Raven Software for their fantasy adventure-FPS games Heretic and Hexen, and by Rogue Entertainment for their hybrid role-playing FPS Strife: Quest for the Sigil. An inventory allows players in the game to collect and transport items, be they power-ups, armor, healing items, simple quest progression tokens, or magical artifacts, for later use.
Inventory mechanics specific to the Raven games include:
- Items are stored in the inventory in the order they were picked up by the player.
- The position of the inventory cursor for using items is lost when moving between levels.
- Items cannot be dropped from the inventory and will remain until used by the player or removed by the game.
- On easy skill levels, health items can be used automatically to recover damage.
- Up to 16 of each item can be carried at once.
- The amount of all items, except the Wings of Wrath, is reduced to one when leaving every level, to prevent excess accumulation of powerful items making the game unbalanced. Wings of Wrath should be removed entirely, but a bug in the game sometimes allows one to be carried over.
- Up to 25 of each item can be carried at once.
- All items are carried between levels and hubs, excepting the Wings of Wrath, which are now reliably removed at the end of each hub.
- On easy skill levels, items such as the Chaos Device can be activated automatically to escape situations such as deadly falls.
- Special items called puzzle items can be used to activate triggers and events, usually coded in scripts via ACS.
- Item carrying limits differ per inventory item type.
- Items are stored in a fixed order in the inventory according to their position in the internal mobjinfo table, which also corresponds to their conversation ID.
- The inventory cursor position is remembered between levels.
- Items can be dropped using the "item drop" key, which will respawn the corresponding actor type near the player.
- Items can be queried for their description using the "item query" key.
- Items can be given and taken by actors with conversation scripting, which is used to control quest and stat progression and to implement shops.
- Health and armor items will be used automatically when needed, but not always in the most efficient manner (medical kits will be used in preference to less expensive med patches; surgery kits never activate automatically).
In source ports
Source ports which support any of these three games typically implement a unified and extended inventory system which covers all of the required features while in some cases adding additional capabilities. ZDoom in particular extends ACS with the ability to query, give, and take inventory items in ways that were not possible in the original language as used in Hexen, and defines inventory items and their properties through DECORATE. The Eternity Engine has a similar system, still under development, which is defined via EDF.