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 http://www.adom.de/faq. 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'
or
        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:

Allow_Default_Names

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'.

Auto_Lock_Doors

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'.

Auto_Lock_Nearest

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'.

Auto_Open_Doors

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

Auto_Pickup

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

Auto_Save_Interval

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.

Auto_Select_Doors

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'.

Auto_Swap_Neutral

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

Base_Delay_Factor

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.

Check_Item_In_Hand

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'.

Class

string: any of the available classes.

Class_Mask

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.

Colored_Menus

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'.

Colored_Messages

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'.

Colored_PC

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'.

Compact_Kill_List

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'.

Display_Key_Code

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

Exit_After_Save

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'.

Fast_Missile_Readying

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'.

Fast_More

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'.

Fated_Gender

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

Font_Name

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

Font_Size

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.

Ghosts_Deactivated

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'.

Hide_Info_Boxes

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'.

Hide_Interruption_Messages

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'.

Hide_Speech_Bubbles

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.

Item_Status_Color

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

Look_Auto_Lock_Nearest

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'.

Low_Hitpoint_Warning

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'.

Message_Buffer_Size

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.

Metric_Measuring

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

Name

string: the default name for your PC.

Nice_Stuff

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

No_Book_Spellcasting

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'.

Persistence

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.

Prime_Command_Clicks

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.

Quick_Hint_Limit

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.

Questioned_Attributes

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

Quitters_Allowed

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

Race

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

Race_Mask

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.

Random_PC

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

Recovery

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.

Reload_Missiles

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'.

Reverse_Message_Order

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'.

Sex

male, female.

Short_Log_Format

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'.

Show_Achievements

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'.

Show_Blood

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

Show_Corruption_Prompt

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'.

Show_Experience

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

Show_Newbie_Advice

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

Show_Pick_Help

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'.

Show_Unknown_Commands

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

Sorted_Skills

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

Starvation_Warning

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

Stop_Walking_At_Corners

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

Two_Column_Pick_Drop_Menu

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'.

Uncursed_String

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.

Verbose_Level_Messages

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'.

Verbose_Log_Format

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'.

Walk_Carefully

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

Zap_Wands_In_Hand

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:

no_skip

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.

allow_skip

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

regex

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:
http://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended

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.

no_regex

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

replace

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

suppress

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.

:no_skip
:yellow
Congratulations! You advance to level %d.