Items are given to players not in the game


Strife frequently rewards the player for completion of various quests and tasks inside the game world by directly giving the player inventory items. During the game's early development, Rogue had intended to keep cooperative play a feature of the game, and thus many parts of the game's code account for the possibility of needing to award these items to anywhere up to eight players.

Some of the functions which give items in this manner do not, however, make sure that the players are actually valid before giving them items. So long as the item is one that only goes into a player's inventory, this causes no negative side effects. On the other hand, if it is an instant-use item such as a Stamina Stat upgrade, which causes the player to be healed to full health, the game engine will access the NULL mobj_t pointer in each player_t structure, writing to an area in low DOS memory.

In particular, this occurs when the transmitter is destroyed in the Mines and when the converter is shut down in the Conversion Chapel. Oddly the vanilla game engine displays little or no reaction to this illegal memory access, but this was discovered as a problem during the creation of Chocolate Strife, where the same code caused the game to crash with an access violation.