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'
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.
ADOM Configuration Option List
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
( Melee weapons
} Missile weapons
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
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
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
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
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
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
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:
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
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
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
true, false: if set to 'true', the drop command will return to the drop
screen after droppping a single item. If set to 'false', drop is stopped
after a single drop. 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'.
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
d: PC data (attributes, …)
e: Effects of corruption
i: Items in the inventory
k: Kill list of the PC
m: Items in the backpack
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
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'.
Default Configuration Creation
If you initially do not have a configuration file, ADOM will create one for you.
Appendix C: Command Line Options
Pure ASCII versions of ADOM (usually DOS or Linux) can be supplied with
some command-line options to make it do certain things. The following
command-line options are supported:
- -b: display the license for the game binary
- -c <file>: force ADOM to use <file> as configuration file
- -d: display the directories being used
- -D: display meta-game data
- -h: display the available command line options
- --help: display this help text
- -k: use the standard keymap
- -l <name>: load the saved game <name>
- -m: use monochrome display
- -n: forbid ADOM to use any configuration file
- -o: print the used compiler options
- -r: create keymap reference file 'keyref.kbd'
- -s: display the complete highscore
- -S: dump complete highscore to 'hiscore.doc'
- -t<maxnum>: save RNG test in 'rngtest.txt'
- -T<maxnum>: save RNG series test in 'rngstest.txt'
- -v: display the current version of ADOM.
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
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
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,
Editing Message Customizations
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.
List of Message Customization Directives
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
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.