ADOM Manual

Previous - TOC - Next

Appendix B: Customizing ADOM

It is possible to set certain default values for ADOM with the standard configuration file 'adom.cfg'. The location of the file depends on the system you are playing ADOM on. Please use the FAQ available at It will give you more details about this. The configuration file can contain certain variables which control parts of ADOM's behavior. This file is a plain ASCII file.

Generally a line in the configuration file can start with or without a #. If the line starts with a # it is considered to be a comment and will be ignored. Otherwise ADOM expects to find something that looks like this:

        <variable> = <value>
For example a line might contain the following text:
        Name = 'Big Bang'
        Recovery = 400
ADOM recognizes a certain number of variables which have a specific meaning. Each variable must have a value of a certain type. Allowed types are strings, numbers (only integers) and Boolean values ('true' and 'false'). Strings which contain whitespace must be enclosed by ' (see above).

ADOM variables also can be set during the game with the = command which requires the user to enter a line in the format explained above. Invalid variables will be highlighted in red color.

The following variables are currently recognized:


true, false: allows you to determine whether the default names provided by ADOM for you will be used or not if you press ENTER when asked to input a name. The default is 'false'.


true, false: ADOM will automatically ask you whether you'd like to lock a door while closing it, if you have an appropriate key. The default is 'true'.


true, false: if set to true, the targeting code (used for missile weapons and a few spells) will automatically use the nearest monster as the new target, if no monster was locked before. The default is 'true'.


true, false: will ask automatically whether you want to unlock a locked door (if you have the appropriate key). The default is 'true'.


string containing the symbols of items chosen from the following categories, which are to be picked up whenever you move on a field containing items of that type:
          [  Armor, shields, cloaks, boots, girdles, gauntlets and helmets
          *  Gems
          o  Rocks
          ]  Tools
          '  Necklaces
          (  Melee weapons
          }  Missile weapons
          /  Missiles
          =  Rings
          \  Wands
          !  Potions
          ?  Scrolls
          ~  Bracers
          %  Food
          $  Gold
          {  Instruments
          "  Books


number. Controls auto-saving. After the given number of turns the game will be automatically saved. While this slows your game a little when this happens it generally reduces the risk of data loss and thus is highly recommended. 0 to deactivate, otherwise minimum is 50, maximum is 10000. The default is 1000.


true, false: if set to 'false', ADOM won't try to determine the appropriate door in the vicinity of your PC when you try to open or close a door. The default is 'true'.


true, false: determines if your PC automatically swaps places with neutral beings. The default is 'true'.


number: determines the number of hundreds of a second ADOM delays actions (like two steps for a fireball, etc.). The default is 10; to prevent input errors ADOM only accept values in the range of 0 to 100.


true, false: if set to 'true' you will be asked if you want to wield an item other than a pick axe, a torch or a melee weapon. The default is 'true'.


string: any of the available classes.


string consisting of characters chosen from the following list:
        a - Fighter
        b - Paladin
        c - Ranger
        d - Thief
        e - Assassin
        f - Wizard
        g - Priest
        h - Bard
        i - Monk
        j - Healer
        k - Weaponsmith
        l - Archer
        m - Merchant
        n - Farmer
        o - Mindcrafter
        p - Barbarian
        q - Druid
        r - Necromancer
        s - Elementalist
        t - Beastfighter
        u - Chaos Knight
        v - Duelist
If you choose to randomly select your class (with the fate option during character creation) the classes in 'Class_Mask' won't be selected. Thus you can cross out certain classes you do not like.


true, false: if set to 'false' you won't have to endure the colored menus (and yes, there probably will be configurable colors for the menus at some point in the future although it's pretty low priority for me). The default is 'true'.


true, false: if set to 'true' the output of colored messages and additional customizations (like message suppression and replacement) is activated. The file 'adom.msg' contains the basic configuration. It can be easily enhanced with your own additions (see Appendix E, 'Message Customization'). The default is 'true'.


true, false: if set to 'false' the player icon @ will be displayed in white -- otherwise the color is dependent on your class. The default is 'true'.


true, false: if set to 'true' the final kill list will be compacted by printing more than just one killed monster type per line. The default is 'false'.


true, false: if set to 'true' you will see the keys you pressed during a multi-key command. The default is 'false'.


true, false: determines if ADOM should be exited after the current game is saved. If you change the parameter to 'true' you get the behavior of ADOM 1.1.1 back. The default is 'false'.


true, false: will prompt you whether you want to add a (heap of) missiles to your missile slot when the missile slot is empty. The default is 'true'.


true, false: if set to 'true' any key will be accepted when the '(more)' prompt is displayed; setting this variable to 'true' is equivalent to pressing Ctrl-k once at the start of the game. The default is 'false'.


true, false: if set to true, ADOM will select the gender for your character. The default is 'false'.


string: specifies the name of the font that ADOM will use (only supported on Windows and OSX).


number: specifies the size of the font that ADOM will use (only supported on Windows and OSX). Minimum is 6, maximum is 144, default is 15.


true, false: if set to 'true', ADOM will not create ghosts during the game (player ghosts are only supported by the Deluxe version). The default is 'false'.


true, false: if set to 'true', ADOM will not display any popup info boxes for pure textual information (like from the commands V, :b and others). Instead all information will be printed to the normal message buffer. IMPORTANT: This setting does not affect input dialogs for numbers, text or other y/n choices! Those always are displayed in a popup dialog to prevent confusion among users who don't see the input prompt (yes, it happens, especially in graphical mode). The default is 'false'.


true, false: if set to 'true', ADOM will not display the interrption information messages when either walk mode or extended waiting are aborted. The default is 'false'.


true, false: if set to 'true', ADOM will not display any speech bubbles for dialog with NPCs and instead just print the dialog to the normal message buffer. Default is 'false'. WARNING: Hidden speech bubbles will sometimes mis-format the output in the message line. This setting thus is not recommended and primarily intended for blind ADOM players so that they can use the message bar more effectively.


one of the following constants:
          light gray
          dark gray
          light blue
          light green
          light cyan
          light red
          light magenta
This definition determines the color of inventory entries that have been successfully identified. The traditional setting is 'light gray'.


true, false: if set to 'true', the targeting code (used for the 'l'ook command) will automatically use the nearest monster as the new target, if no monster was locked before. The default is 'false'.


true, false: if set to true ADOM will beep (or flash the screen if beeping is impossible but flashing is possible on your system) if the hitpoints of your character fall below 20% (or 15 -- whichever is lower). The default is 'true'.


number: describes the size of the message buffer in lines; the value is required to be between 50 and 10000. The default size is 100 lines.


true, false; if set to 'true', your height and weight will be printed according to metric units. The default is 'false'.


string: the default name for your PC.


true, false: if set to true the stuff list will display cursed items in red and blessed items in green. The default is 'true'.


true, false: if set to true you no longer will be prompted about whether to learn a spell from a book or cast it from the book. The default is 'false'.


number: determines the number of steps that will pass when you use the 'walk mode' to search in one place (see -> continuous search via ws). The default is 50, the minimum is 10 and the maximum is 500.


number: determines the number of left mouse clicks required to activate the command configured via :x. Default is 1, minimum is 1, maximum is 2.


number: determines the maximum number of times a command must have been actively used. When this number is reached, no more quick hints for the command will be shown. To deactivate quick hints completely, enter zero (0). In tutorial mode quick hints will be always shown, no matter what you enter. Default is 10, minimum is 0, maximum is 1 million.


true, false: determines whether the player will be allowed to determine the PC attributes by answering questions. The default is 'true'.


true, false: if set to 'true' all games in which you quit will also be recorded in the highscore. The default is 'false'.


string: any of the allowed races -- don't forget the ' for races like High Elf.


string consisting of one or more of the following characters:
        a - Human
        b - Troll
        c - High Elf
        d - Gray Elf
        e - Dark Elf
        f - Dwarf
        g - Gnome
        h - Hurthling
        i - Orc
        j - Drakeling
        k - Mist Elf
        l - Ratling
If you choose to randomly select your race (with the fate option during character creation) the races in 'Race_Mask' won't be selected. Thus you can cross out certain races you do not like.


true, false: determines whether a randomly rolled character will be used each time you start ADOM. The default is 'false'.


number: determines the number of steps that will pass when you use the 'walk mode' to wait in one place. The default is 50, the minimum is 10 and the maximum is 500.


true, false: if set to true, ADOM will query you, whether you want to equip another missile once you run out of ammunition. The default is 'true'.


true, false: determines the order in which the messages are displayed in the message buffer; true means that the latest messages will be displayed at the bottom, false means that the latest messages will be displayed at the top. The default is 'true'.


male, female.


string: the string is used by ADOM to create a log file. The string contains one character for each set of information to be included in the log file. The following options can be used:
        a: Achievements (attribute changes, ...)
        b: Background of the PC
        c: Spells
        d: PC data (attributes, ...)
        e: Effects of corruption
        i: Items in the inventory
        k: Kill list of the PC
        l: Skills
        m: Items in the backpack
        s: Screenshot
        w: Weapon skills
The default is: 'dbim'.


true, false: if set to 'false' ADOM will not display any achievements you get. It still keeps track of them internally. The default is 'true'.


true, false: if set to 'true' ADOM will display blood splatters (only available in versions with graphic tiles). The default is 'true'.


true, false: if set to 'true' ADOM will ask you if you want to view all your effects of corruption after you receive a new corruption. The default is 'true'.


true, false: if set to 'true' ADOM will display all experience points the PC gains. The default is 'false'.


true, false: if set to 'true' ADOM will display some newbie advice during character generation. The default is 'true'.


true, false: If set to 'true' ADOM will display the elaborate help for picking up/dropping items. This takes up four screen lines. Setting it to 'false' will give you four more lines of screen real estate for items. The default is 'true'.


true, false: If set to 'true' ADOM will display a message whenever it receives an unknown game command. The default is 'false'.


true, false: if set to 'true' the skill list will be ordered alphabetically. The default is 'true'.


true, false: if set to 'true', ADOM will beep if you are in danger of starving. The default is 'true'.


true, false: if set to 'true' your PC will stop at corners if the walking mode is used. The default is 'false'.


true, false: if set to 'true', the default display for pick & drop commands (if possible at all) will be two-column format. The default is 'true'.


string: some people don't seem to like the word 'uncursed' ADOM uses to describe an item that is neither cursed nor blessed. You can define an alternative by using this environment variable. Be careful about what you do since ADOM does not check your definition and using 'cursed' or 'blessed' is possible, too. Moral: he who confuses himself gets what he deserves.


true, false: if set to 'true', level messages will be displayed whenever you enter a special level, otherwise only on the first time. The default is 'false'.


string: this string has the same format as 'Short_Log_Format'. ADOM internally does not care about the format of the two strings (and which one is longer). The intention of these two environment variables simply is to allow the user to have two different means of creating a logfile. The default is: 'sdbwcleimka'.


true, false: if set to 'true' ADOM will abort from Walk-Mode as soon as you spot a hostile monster. The default is 'true'.


true, false: if set to 'true' ADOM will ask whether to zap wands currently equipped in the left or right hand; otherwise such equipped wands will be ignored. The default is 'true'.

If you initially do not have a configuration file, ADOM will create one for you.

Appendix C: Command Line Options

ADOM can be supplied with some command line options to make it do certain things. Up to now the following command line options are supported:

The syntax for calling ADOM with options is:

         adom [-b] [-c <file>] [-d] [-D] [-h] [--help] [-k] [-l <name>] [-m]
              [-n] [-o] [-r] [-s] [-S][-t<maxnum>] [-T<maxnum>] [-v]
Important note: If you have changed the default keymap, but would like to have a reference file of the original bindings, you need to call ADOM like this:
         adom -k -r
(It's important that the -k is set before the -r!)

Appendix D: Customizing the Keymap

ADOM allows you to customize the keybindings used during the game for invoking commands to a certain extent. When ADOM is started it searches for a file called 'adom.kbd' in your data directory (call 'adom -d' to determine your data directory). This file contains a description of its syntax, which should answer all questions. Customizing a keymap to a very specific system requires quite some work on your side if you want to use special keys and such stuff (you will need to know the ASCII codes your system generates when a special key is pressed).

Note that customization is possible only to a certain extent.

If you would like to have a printed reference of your own keymap bindings at hand, you can enter

         adom -r
at your command prompt. This will make ADOM create a file called 'keyref.kbd', which contains the current bindings and can be printed on any line printer. Check it for the details about how to define new keybindings.

Appendix E: Message Customization

Message customization is a new feature available since ADOM 1.2.0. (Thanks to the ADOM Sage team for inspiring this feature!)

It allows you to color, replace and suppress messages (i.e. text displayed by ADOM). You can also specify messages that will enforce a '(more)' prompt after they are shown.

To enable message customization you have to make sure that the ADOM variable 'Colored_Messages' is set to 'true' (see Appendix B, 'Customizing ADOM').

All message customizations are configured in the file 'adom.msg' in your data directory. It already contains a useful default configuration. You can easily customize it for your own needs.

Lines starting with a # are ignored, they are considered comments. If a line starts with a : it is a directive that influences the current state. All other non-empty lines are considered messages that have to match the message format used by ADOM. Please note that you can match both the input and output format of messages. In case of a regular expression you can only use the output format. Currently there is no easy way to determine both message formats with ADOM itself, so we recommend to use Sage for this task.

You can use the following directives (starting with a :):
no_skip, allow_skip, regex, no_regex, replace, suppress

All colors supported by ADOM can be used as directives too:
black, blue, green, cyan, red, magenta, brown, light gray, dark gray, light blue, light green, light cyan, light red, light magenta, yellow, white

Directives are valid until they are changed by another directive, e.g. if you use :yellow then all messages that follow are colored yellow until you (for example) use :red.

A detailed description of the directives:


If this directive is used, all subsequent messages will need to be skipped by explicitly confirming a '(more)' prompt. Use this directive to ensure that you don't miss important messages.


Deactivates the 'no_skip' directive. This is the default.


Message lines have to exactly match the output format of ADOM. If you don't know the exact format or if you want to customize several similar messages at once, you can use a regular expression. ADOM uses POSIX regular expressions, you can check the full specification here:

A . matches any character and a * matches the preceding character zero or more times. Example: You can use .*ADOM.* to match all messages that contain the text ADOM.


Disables the use of regular expressions. This is the default.


To replace a message you have to add a line that consists of the old message followed by a | character and followed by the new message, e.g.

old message|new messages


You can suppress messages by adding them after the 'suppress' directive. Please note that there is no directive to 'unsuppress' messages, so you should move the suppressed messages to the end of the file.

The following example shows how to display the level advancement message of ADOM in yellow. Because 'no_skip' is used, a '(more)' prompt will appear afterwards.

Congratulations! You advance to level %d.