Heretic cheat codes
From DoomWiki.org
To use a cheat code in most versions of Heretic, one simply types the code while playing (this also applies while in the automap mode). After the last letter has been entered, a message of acknowledgement will appear at the top of the screen (with the exception of the warp cheat). The status bar and ingame view may also change, depending on the effects of the code. All of the codes for the original game work in all source ports, unless otherwise noted. All codes are disabled in multiplayer games and on the Black Plague Possesses Thee skill level except ravmap.
Cheat codes[edit]
Code | Effects | Displayed message |
---|---|---|
cockadoodledoo | Turns the player into a chicken. | "chicken on" "chicken off" |
engage## | Warps to level E#M#.[note 1] | "level warp"[note 2] |
gimme## | The code is followed by a letter (a–j) and a number (1–9). The letter defines which item is given, the number the amount of items given. If "z" is entered as the item, and "0" (zero) is entered as the amount, the player is given five of each item. In patched games, this combination gives the maximum of everything instead. The letters and corresponding items are:
Note: The mystic urn and the Chaos Device are not available in the shareware/unregistered version of the game. |
"choose an artifact ( a - j )" "how many ( 1 - 9 )" "you got it" "bad input" (if the wrong combination was used) |
iddqd | Kills the player. Originally the god mode cheat in Doom, it is a joke by the developers by making it have the opposite effect in Heretic. | "trying to cheat, eh? now you die!" |
idkfa | Removes all weapons and ammo the player is carrying, except for the staff. Any weapon that exists as a map item can be regained by picking one up, but the Elven wand will be lost for the remainder of the game session. It can, however, be recovered by using the rambo code. Just like the iddqd cheat, this code is from Doom. In Doom, it gives all keys, armor and ammo. In Heretic it does the opposite by taking them all away. | "cheater - you don't deserve weapons" |
kitty | No clipping (the player can walk through walls, characters, and obstacles, climb high ledges instantly, and pass through items and across all tagged linedefs with no effect). | "no clipping on" "no clipping off" |
massacre | Kills all monsters in the current level. | "massacre" |
noise | Toggles sound debug. | "sound debug on" "sound debug off" |
ponce | Sets player's health to 100%. | "full health" |
quicken | Makes the player immune to damage ("God mode"). | "god mode on" "god mode off" |
rambo | Gives all weapons with full/double ammo. It also gives the maximum armor (100 points on shareware, 200 points in registered version). | "all weapons" |
ravmap | This cheat can only be used in the automap mode. First input: full automap (reveals unexplored areas). Second input: full automap with (remaining) items and enemies. Third input: back to normal. | None |
shazam | Activates the Tome of Power effect. Its duration is the same as when activating the artifact from the inventory. | "power on" "power off" |
skel | Gives all keys. | "all keys" |
ticker | Toggles ticks-per-frame counter. | "ticker on" "ticker off" |
Notes[edit]
- ↑ Using the similar cheat code in Doom (idclev) with invalid arguments can break the game. However, a special function was written for Heretic to check the correctness of the entered parameters. It is called M_ValidEpisodeMap and is located in the m_misc.c file of the source code.
- ↑ This message appears in the source code, but is not actually displayed in the original DOS executable.
Flight cheat[edit]
According to Heretic source code, there were plans to include a cheat code that would give the player the ability to fly, but it was either never implemented or was removed during development. The dstrings.h file contains definitions for its displayed messages: "flight on" (TXT_CHEATFLIGHTON) and "flight off" (TXT_CHEATFLIGHTOFF). However, they are not used anywhere in the code.
Technical details[edit]
In the source code, the functioning of cheats is described in the sb_bar.c file, and their displayed messages are defined in the dstrings.h file. The only exception is the ravmap cheat, a description of its operation is contained in the am_map.c file.