From 38058fa3365e63fb431dc86134e2ae113de68e88 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sat, 29 Mar 2008 18:30:31 +0000 Subject: Rename part of the documentation: tables.txt -> aptitudes.txt crawl_macros.txt -> macros_guide.txt crawl_options.txt -> options_guide.txt And while I already was at it, I added windows style linebreaks for ssh_guide.txt and monster_speech.txt, as well. Since I've somehow managed to uninstall my notepad (ages ago), opening and changing such files is always a bit fiddly, and I hope this change doesn't hurt anyone else. crawl_manual.txt will also eventually need these, but we haven't yet decided on the new name. Also update monster_speech.txt (yet again), and add hounds sniffing the ground to monspeak.txt as an in-game hint for blood scent. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3937 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/docs/aptitudes.txt | 150 +++ crawl-ref/docs/crawl_macros.txt | 152 --- crawl-ref/docs/crawl_manual.txt | 10 +- crawl-ref/docs/crawl_options.txt | 1748 ---------------------------- crawl-ref/docs/macros_guide.txt | 152 +++ crawl-ref/docs/monster_speech.txt | 287 +++-- crawl-ref/docs/options_guide.txt | 1744 +++++++++++++++++++++++++++ crawl-ref/docs/ssh_guide.txt | 2 +- crawl-ref/docs/tables.txt | 150 --- crawl-ref/source/command.cc | 10 +- crawl-ref/source/dat/database/monspeak.txt | 16 + crawl-ref/source/tutorial.cc | 4 +- 12 files changed, 2290 insertions(+), 2135 deletions(-) create mode 100644 crawl-ref/docs/aptitudes.txt delete mode 100644 crawl-ref/docs/crawl_macros.txt delete mode 100644 crawl-ref/docs/crawl_options.txt create mode 100644 crawl-ref/docs/macros_guide.txt create mode 100644 crawl-ref/docs/options_guide.txt delete mode 100644 crawl-ref/docs/tables.txt (limited to 'crawl-ref') diff --git a/crawl-ref/docs/aptitudes.txt b/crawl-ref/docs/aptitudes.txt new file mode 100644 index 0000000000..9857ee2f6f --- /dev/null +++ b/crawl-ref/docs/aptitudes.txt @@ -0,0 +1,150 @@ +TABLES OF APTITUDES + +The following three tables describe all aptitudes of the various races for the +various skills. These are not necessary for winning in Crawl, neither explicit +nor implicit. The qualitative information behind this sheet (ie. which species +is good at which tasks) can be obtained in two other, less sophisticated ways: +- read the species section in the manual about strengths and weaknesses +- look which combinations of race and class are possible. + +If you consider figuring out such things yourself to be fun, stop reading now. +Otherwise, just go ahead. The lower a value, the better the aptitude. 100 is +the Human standard. Please note that many things affect how quick a character +will actually learn a skill. Thus the numbers below are good enough for +comparisons among races, but not necessarily among skills. + +The abbreviations used for the skills are: + +General skills, Experience Melee and Ranged Combat Spellcasting and Magic +-------------------------- ----------------------- ---------------------- +Arm - Armour Fgt - Fighting Spc - Spellcasting +Ddg - Dodging SBl - Short Blades Coj - Conjurations +Sth - Stealth LBl - Long Blades Enc - Enchantments +Stb - Stabbing Axs - Axes Sum - Summonings +Shd - Shields M&F - Maces & Flails Nec - Necromancy +T&D - Traps & Doors Pla - Polearms Trl - Translocations + Stv - Staves Trm - Transmigration +Inv - Invocations U C - Unarmed Combat Div - Divinations +Evo - Evocations + Thr - Throwing Fir - Fire Magic + Slg - Slings Ice - Ice Magic +Exp - Experience Bws - Bows Air - Air Magic + Crb - Crossbows Ear - Earth Magic + Drt - Darts Poi - Poison Magic + + + Arm Ddg Sth Stb Shd T&D Inv Evo Exp +--------------------------------------------------------------------- +Human 100 100 100 100 100 100 100 100 100 +High Elf 110 90 90 110 110 100 100 90 150 +Grey Elf 140 75 70 100 140 100 100 90 140 +Deep Elf 140 70 65 80 140 100 100 90 140 +Sludge Elf 140 70 75 100 130 100 100 110 120 +Mountain Dwarf 60 110 150 130 70 80 100 60 130 +Hill Orc 90 140 150 100 80 100 100 100 100 +Merfolk 160 60 90 70 100 120 100 100 120 +Halfling 150 70 60 70 130 100 100 90 100 +Gnome 150 70 70 80 120 70 120 60 110 +Kobold 140 70 60 70 130 100 100 80 100 +Spriggan 170 50 50 50 180 60 130 70 130 +Naga 150 150 40 100 140 100 100 100 120 +Centaur 180 170 200 170 180 150 100 130 140 +Ogre 140 150 200 150 110 200 130 170 140 +Ogre-Mage 170 130 100 130 150 150 100 100 150 +Troll 150 130 250 150 150 200 150 180 150 +Minotaur 80 80 130 100 80 120 130 170 140 +Kenku 90 90 100 80 100 100 160 100 130 +Draconian Red 200 120 120 100 100 100 100 100 130 + White 200 120 120 100 100 100 100 100 130 + Green 200 120 120 100 100 100 100 100 130 + Yellow 200 120 120 100 100 100 100 100 130 + Grey 200 120 120 100 100 100 100 100 130 + Black 200 120 120 100 100 100 100 100 130 + Purple 200 120 120 100 100 100 100 90 130 + Mottled 200 120 120 100 100 100 100 100 130 + Pale 200 120 120 100 100 100 100 90 130 +Demigod 110 110 110 110 110 110 110 110 160 +Demonspawn 110 110 110 110 110 110 80 110 140 +Mummy 140 140 140 140 140 140 140 140 150 +Ghoul 110 110 80 100 110 120 110 130 120 +Vampire 140 90 50 90 110 100 160 100 150 +--------------------------------------------------------------------- + Arm Ddg Sth Stb Shd T&D Inv Evo Exp + + + Fgt SBl LBl Axs M&F Pla Stv U C Thr Slg Bws Crb Drt +--------------------------------------------------------------------- +Human 100 100 100 100 100 100 100 100 100 100 100 100 100 +High Elf 100 70 70 130 150 150 100 130 80 140 60 100 90 +Grey Elf 140 90 95 140 160 160 100 130 80 130 70 100 90 +Deep Elf 150 100 105 150 165 165 100 130 80 135 75 75 75 +Sludge Elf 80 110 110 130 140 140 100 80 70 100 100 100 100 +Mountain Dwarf 70 80 90 65 70 110 120 100 120 120 150 90 120 +Hill Orc 70 100 80 70 80 80 110 90 100 130 120 120 130 +Merfolk 80 70 90 140 150 50 130 90 100 150 140 140 100 +Halfling 120 60 100 120 150 160 130 140 60 50 70 90 50 +Gnome 100 75 100 100 130 140 130 110 100 80 100 90 60 +Kobold 80 60 100 110 140 150 110 100 60 70 80 90 50 +Spriggan 150 90 140 150 160 180 150 130 90 70 70 100 70 +Naga 100 100 100 100 100 100 120 100 120 120 120 120 120 +Centaur 100 120 110 110 110 110 110 100 60 75 60 85 80 +Ogre 100 140 120 100 100 110 120 130 100 150 150 180 150 +Ogre-Mage 100 110 100 100 100 100 100 100 150 150 150 150 150 +Troll 140 150 150 150 130 150 150 100 130 180 180 180 180 +Minotaur 70 70 70 70 70 70 70 80 90 90 90 90 90 +Kenku 100 75 75 75 75 75 75 80 90 100 80 80 90 +Draconian Red 90 100 100 100 100 100 100 100 120 120 120 120 120 + White 90 100 100 100 100 100 100 100 120 120 120 120 120 + Green 90 100 100 100 100 100 100 100 120 120 120 120 120 + Yellow 90 100 100 100 100 100 100 100 120 120 120 120 120 + Grey 90 100 100 100 100 100 100 100 120 120 120 120 120 + Black 90 100 100 100 100 100 100 100 120 120 120 120 120 + Purple 90 100 100 100 100 100 100 100 120 120 120 120 120 + Mottled 90 100 100 100 100 100 100 100 120 120 120 120 120 + Pale 90 100 100 100 100 100 100 100 120 120 120 120 120 +Demigod 110 110 110 110 110 110 110 110 110 110 110 110 110 +Demonspawn 100 110 110 110 110 110 110 110 110 110 110 110 110 +Mummy 100 140 140 140 140 140 140 140 140 140 140 140 140 +Ghoul 80 110 110 110 110 110 110 80 130 130 130 130 130 +Vampire 110 90 100 110 140 110 140 90 140 140 140 140 140 +--------------------------------------------------------------------- + Fgt SBl LBl Axs M&F Pla Stv U C Thr Slg Bws Crb Drt + + + Spc Coj Enc Sum Nec Trl Trm Div Fir Ice Air Ear Poi +--------------------------------------------------------------------- +Human 100 100 100 100 100 100 100 100 100 100 100 100 100 +High Elf 70 90 70 110 130 90 90 110 100 100 70 130 130 +Grey Elf 60 90 50 90 130 80 80 80 90 90 60 150 110 +Deep Elf 55 80 50 80 70 75 75 75 90 90 80 100 80 +Sludge Elf 70 130 130 90 90 100 60 130 80 80 80 80 80 +Mountain Dwarf 160 120 150 150 160 150 120 130 70 130 150 70 130 +Hill Orc 150 100 120 120 100 150 160 160 100 100 150 100 110 +Merfolk 100 140 90 100 150 140 60 80 160 80 150 150 80 +Halfling 130 130 100 120 150 100 150 140 100 100 90 100 120 +Gnome 120 100 100 110 130 130 120 120 100 100 170 60 130 +Kobold 110 110 110 105 105 100 110 130 100 100 100 100 100 +Spriggan 60 160 50 150 120 50 60 70 140 140 120 120 100 +Naga 100 100 100 100 100 100 100 100 100 100 100 100 60 +Centaur 140 120 110 120 120 120 120 130 120 120 120 120 130 +Ogre 220 180 220 200 150 200 200 200 150 150 200 120 150 +Ogre-Mage 70 100 80 100 100 100 100 100 100 100 100 100 100 +Troll 200 160 200 160 150 160 160 200 160 160 200 120 160 +Minotaur 180 170 170 170 170 170 170 170 170 170 170 170 170 +Kenku 100 60 160 70 80 150 150 180 90 120 90 120 100 +Draconian Red 100 100 120 100 100 100 100 100 70 135 100 100 100 + Green 100 100 120 100 100 100 100 100 100 100 100 100 70 + White 100 100 120 100 100 100 100 100 135 70 100 100 100 + Yellow 100 100 120 100 100 100 100 100 100 100 100 100 100 + Grey 100 100 120 100 100 100 100 100 100 100 100 100 100 + Black 100 100 120 100 100 100 100 100 100 100 70 135 100 + Purple 70 100 90 100 100 100 100 100 100 100 100 100 100 + Mottled 100 100 120 100 100 100 100 100 80 100 100 100 100 + Pale 100 100 120 100 100 100 100 100 90 100 90 100 100 +Demigod 110 110 110 110 110 110 110 110 110 110 110 110 110 +Demonspawn 100 100 110 100 90 110 110 110 100 110 110 110 100 +Mummy 100 140 140 140 100 140 140 140 140 140 140 140 140 +Ghoul 120 130 130 120 100 120 120 120 150 90 150 90 100 +Vampire 100 160 90 100 90 140 90 120 140 100 100 120 120 +--------------------------------------------------------------------- + Spc Coj Enc Sum Nec Trl Trm Div Fir Ice Air Ear Poi \ No newline at end of file diff --git a/crawl-ref/docs/crawl_macros.txt b/crawl-ref/docs/crawl_macros.txt deleted file mode 100644 index e9d723c5c9..0000000000 --- a/crawl-ref/docs/crawl_macros.txt +++ /dev/null @@ -1,152 +0,0 @@ -Macros and Keymaps -================== - -What are macros and keymaps? The simple explanation is: - -Command macros make keys into commands. -Keymaps make keys into other keys. - -Or a bit more verbose: - -For the most part, people will probably want command macros. They allow -for things like making a key run a sequence of commands (e.g. -associating a key stroke to the casting of a certain spell) without -having to worry about messing up what that key does at prompts (e.g. -you can macro a number or letter without worrying about it making the -substitution when you're trying to drop an item). - -Keymaps are for when you want to fix layout and behavioural problems on -your keyboard (i.e. unrecognised numpad sequences can by mapped into -their numbers, foreign keyboard layouts can be modified to be more -comfortable). There are also special sets of keymaps for the level map, -the targeting mode and confirmation prompts, which allow for mappings -that are restricted to just those situations. - - -How to create macros and keymaps? -================================= - -The simplest way is in-game: Press either the '~' key or Ctrl-D, select -'m' to define a macro, then choose a key to assign for your macro and -enter the command sequence. For some keys (or key combinations), Crawl -will display a strange number (for example \{13} for the Return key). -These numbers are the key codes for certain non-alpanumeric keys and -can vary between different systems. - -By default, most upper- and lowercase alphanumeric keys are already -assigned functions in Crawl. While you are free to remap those keys as -well, it might be best to start with some of the currently unused keys, -such as Tab or the function keys (F1 to F12), possibly combined with -Ctrl, Shift or both. On some systems, it may also be possible to -incorporate the Alt (Meta) key. - -Defining keymaps works in exactly the same way. Just press 'k' -(default), 'x' (level-map), 't' (targeting) or 'c' (confirmation) -instead of 'm' after pressing '~'. - -After defining such a macro or keymap, you should test it. If you are -comfortable with it, you should then save the macro. To save all macros -and keymaps, press '~' and then 's' to save macros at the tilde prompt). - - -The macro.txt file -================== - -Macros and keymaps are stored in a file called macro.txt in your main -Crawl directory or your home directory. You can change where the file -is read from and written to by specifying an alternate directory on -the command line with -macro or with the crawl_dir option in your -init file (see crawl_options.txt for details). The macro.txt file is -human readable and editable, but you might have to figure out the key -codes for non-alphanumeric keys through in-game experimentation or -external utilities. - -Lines beginning with the '#' are comments and will be ignored. Note -that Crawl won't necessarily preserve your comments when saving macros -and keymaps to the macro.txt file. - -Each macro definition consists of exactly two lines. The first one -describes the macro trigger key and consists of "M:" followed by the -character or keycode of that key (for example 'a', 'A' or \{9} for -the A, Shift-A or Tab keys). The second one describes the macro action -and consists of "A:" followed by the command sequence to be associated -with the above key (for example "zap" for zapping the spell in slot a -at the previous target). Individual macro definitions should be -separated by empty lines. - -For keymaps just replace the "M:" on the first line of the definiton -with one of the following: -"K:" default, -"K1:" level-map, -"K2:" targeting or -"K3:" confirmation. - - -Examples -======== - -This section contains some examples to give you an idea what macros and -keymaps can be used for. Note that for the sake of completeness, both -key line and command line are given, but that you should probably -substitute your own keys here as these may not always work for you. - - -'@' is a character that may not work by default on some keyboard -layouts. The following should remedy that by mapping '@' to '@'. - -# @: display character status -K:\{17} -A:@ - - -Playing a summoner can be annoying because you often need to cast the -same spells multiple times in a row, each casting requiring multiple -keystrokes. This macro allows casting the spell in slot 'a' with a -single keystroke. Note that you can redefine spell slots with the '=' -key. We emphasise again that the F1 key may get a different code on -your system. - -# F1: cast spell 'a' -M:\{368} -A:za - - -Now that we've taken care of summoning, we still need to command our -summoned creatures. The following macro should make that easier as -well. Note that this macro assumes that the default_target option is -set to true (it is by default; see crawl_options.txt for details). - -# Tab: Order allies to attack your previous or the nearest target -M:\{9} -A:!a. - - -Conjurers need a slightly different macros for casting, such as this -one, as they need to press '.' or Return to confirm firing at a target. -Again, this macro assumes that the default_target option is set to -true. - -# F1: cast spell 'a' at your previous or the nearest target -M:\{368} -A:za. - - -However, even conjurers might not always want to fire at their previous -target, so the following set of macros allows them to cast the spell -in slot 'a' and then cycle through the available targets with the same -key and then confirming with the same key we used for firing in the -previous macro. This example also tries to illustrate how to take -advantage of the fact that keys can have different functions in the -different keymaps. - -# Shift-F1: cast spell 'a' -M:\{1392} -A:za - -# Shift-F1: cycle through targets when in targetting mode -K2:\{1392} -A:+ - -# F1: fire at target when in targetting mode -K2:\{368} -A:. diff --git a/crawl-ref/docs/crawl_manual.txt b/crawl-ref/docs/crawl_manual.txt index c3c67df3d9..d8e31ad272 100644 --- a/crawl-ref/docs/crawl_manual.txt +++ b/crawl-ref/docs/crawl_manual.txt @@ -450,7 +450,7 @@ several additional activities like Dodging or Stabbing. See Appendix 3 for a detailed description of all skills present in Crawl. The ease with which a character learns a skill depends solely on race. These aptitudes are hinted at in the list of species (see Appendix 1). For the -curious, the full table can be checked in tables.txt (also from the +curious, the full table can be checked in aptitudes.txt (also from the help game during play). It is not necessary to bother with the numbers in order to win! @@ -1174,11 +1174,11 @@ will only change the command key 'a'. You can set up key maps and macros in-game with the ~ key (Ctrl-D will also work); this also allows for saving all current key bindings and macros. Alternatively, you can directly edit the macros.txt file. For -more information on both and for examples, see crawl_macros.txt. +more information on both and for examples, see macros_guide.txt. Crawl supports a large number of options that allow for great flexibility in the interface. They are fully documented in the file -crawl_options.txt. The options themselves are set in the file +options_guide.txt. The options themselves are set in the file ~/.crawlrc (for UNIX systems - copy over init.txt to ~/.crawlrc) or init.txt (for Windows). @@ -2156,7 +2156,7 @@ Crawl has many commands to be issued by single key strokes. This can become confusing, since there are also several modes; here is the full list. Some commands are particularly useful in combination with certain interface options; such options are mentioned in the list. For a -description of them, please look into crawl_options.txt. For a more +description of them, please look into options_guide.txt. For a more terse list of all commands, use '??' in-game. Most modes (targeting, level map, interlevel travel) also have help menus via '?' on their own. @@ -2620,7 +2620,7 @@ some commands: +f item is included when cycling ammunition You can use the autoinscribe option to have some items automatically -inscribed. See crawl_options.txt for details. Some examples are +inscribed. See options_guide.txt for details. Some examples are autoinscribe = royal jell:=g autoinscribe = wand of healing:!z diff --git a/crawl-ref/docs/crawl_options.txt b/crawl-ref/docs/crawl_options.txt deleted file mode 100644 index bf2b172f9d..0000000000 --- a/crawl-ref/docs/crawl_options.txt +++ /dev/null @@ -1,1748 +0,0 @@ -Guide to Crawl's options -======================== - -This document explains all of the options in the latest version of -Dungeon Crawl Stone Soup. These options are set in the init.txt file -located in the Crawl directory (the directory containing crawl.exe on -Windows and DOS). On Unix systems, you need to set options in the -~/.crawlrc file (a file named .crawlrc in your home directory). - -The contents of this text are: - -1- Starting Screen. - name, remember_name, use_old_selection_order, - weapon, book, chaos_knight, death_knight, priest, - race, class, random_pick -2- File System and Sound. - crawl_dir, morgue_dir, save_dir, sound -3- Lua files. - lua_file, - base.lua, stash.lua, wield.lua, kills.lua, - runrest.lua, gearset.lua, eat.lua, pickup.lua, - trapwalk.lua -4- Interface. -4-a Dropping and Picking up. - autopickup, autopickup_exceptions, default_autopickup, - autopickup_no_burden, pickup_thrown, pickup_dropped, - assign_item_slot, drop_mode, pickup_mode, drop_filter -4-b Targeting. - target_zero_exp, target_oos, target_los_first, - default_target, target_unshifted_dirs -4-c Passive Sightings (Detection and Remembrance). - detected_monster_colour, detected_item_colour, - remembered_monster_colour, colour_map, clean_map -4-d Branding (Item and Monster Highlighting). - friend_brand, neutral_brand, stab_brand, may_stab_brand, - heap_brand, feature_item_brand, trap_item_brand -4-e Level Map Functions. - level_map_cursor_step, level_map_title, item_colour -4-f Viewport Display Options. - view_max_width, view_max_height, view_lock_x, - view_lock_y, view_lock, center_on_scroll, - symmetric_scroll, scroll_margin_x, scroll_margin_y, - scroll_margin -4-g Travel and Exploration. - travel_delay, travel_avoid_terrain, - explore_greedy, explore_stop, explore_improved, - tc_reachable, tc_dangerous, tc_disconnected, - tc_excluded, tc_exclude_circle, - travel_stop_message, runrest_ignore_message, - runrest_ignore_poison, runrest_ignore_monster, - trapwalk_safe_hp -4-h Stashes. - stash_tracking, stash_filter, annotate_item_class -4-i Command Enhancements. - auto_list, easy_open, easy_unequip, easy_confirm, - easy_butcher, always_confirm_butcher, - easy_quit_item_prompts, easy_exit_menu, - default_autoprayer, sort_menus -4-j Message and Display Improvements. - hp_warning, mp_warning, hp_colour, mp_colour, - status_caption_colour, delay_message_clear, - message_colour, show_inventory_weights, show_turns, - show_beam, item_stack_summary_minimum, list_rotten, - menu_colour, menu_colour_prefix_id, - menu_colour_prefix_class -4-k Missiles. - fire_items_start, fire_order, fire_quiver_behavior -4-l Message Channels. - plain, prompt, god, pray, duration, danger, food, warning, - recovery, talk, talk_visual, intrinsic_gain, mutation, - monster_spell, monster_enchant, monster_damage, - rotten_meat, equipment, floor, multiturn, examine, - examine_filter, diagnostics, tutorial -4-m Inscriptions. - autoinscribe -4-n Macro related Options. - flush.failure, flush.command, flush.message, - macro_meta_entry, additional_macro_file -4-o Tiles Options. - show_items, title_screen, tile_player_col, - tile_monster_col, tile_neutral_col, tile_friendly_col, - tile_item_col, tile_unseen_col, tile_floor_col, tile_wall_col, - tile_mapped_wall_col, tile_door_col, tile_downstairs_col, - tile_upstairs_col, tile_feature_col, tile_trap_col, - tile_water_col, tile_lava_col, tile_excluded_col -5- Character Dump. -5-a Items and Kills. - kill_map, dump_kill_places, dump_item_origins, - dump_item_origin_price, dump_message_count, dump_order -5-b Notes. - user_note_prefix, note_items, note_monsters, - ood_interesting, note_hp_percent, note_skill_levels, - note_all_skill_levels, note_skill_max, note_all_spells, - note_messages -6- Miscellaneous. -6-a All OS. - mouse_input, wiz_mode, use_ascii, classic_item_colours, - colours, char_set, cset_ascii, cset_ibm, cset_dec, - cset_unicode, feature, mon_glyph - -6-b DOS and Windows. - dos_use_background_intensity -6-c Unix. - background, use_fake_cursor - -7- Inline Lua. -7-a Executing lua. -7-b Conditional options. -7-c Including external files. - --------------------------------------------------------------------------------- - -There are three broad types of Crawl options: true/false values -(booleans), arbitrary values, and lists of values. In this document, -options are usually described with their default values (if there is a -default); this should also explain which of the above-mentioned types -it is. Each option should have some remarks on how it's typically used -- but keep in mind that the options you want to use depend on your -playing style and sometimes also on your operating system. - -The standard init.txt distributed with Crawl includes all boolean -options, commented out. The commented-out values are always the -_non-defaults_, so you can toggle boolean options by uncommenting -them. - -There are two styles you can use to set options. The classic -name=value syntax, one option per-line: - remember_name = true - explore_greedy = false - drop_mode = multi - -And the NetHack-style combined option line: - OPTION = remember_name, !explore_greedy, drop_mode:multi - -The second style is useful to specify simple options in a few lines, -but it cannot be used for options that take complex lists of values -(such as the autopickup_exceptions option). - -Some options need a path as an argument; here you have to use a -filesystem path suitable for your system. Other options accept regular -expressions (regexes): here you can simply use ordinary strings, adapt -the suggested regexes to your needs or search the internet for regex -syntax. - -For long option names, you can define option aliases by doing: - alias := long_option_name -For instance, you can use: - ae := autopickup_exceptions -and thereafter use "ae" instead of "autopickup_exceptions": - ae = >uselessness, >inaccuracy - -If you get stuck or some things just won't seem to work properly, -please ask for help on the newsgroup rec.games.roguelike.misc. Please -flag queries with '-crawl-', as other roguelikes are also discussed -there. - - -1- Starting Screen. -==================== - -The following options are a convenience to help you quickly start your -game of Crawl. - -name = Delilah - If set, that's the name all your Crawl characters will get. - -remember_name = true - Crawl remembers the options (class, race etc.) you used to - create your last character. You may recycle them in the - starting screen for a new character. If this option is set to - true, Crawl will also remember the last name you used. - - If you use this option and want to enter a name _after_ - choosing your race and class, you must enter . at the initial - name prompt - hitting Enter at the name prompt will simply - reuse your old name if remember_name is set. - -use_old_selection_order = false - If set to true, the character selection screen will offer - species and classes in the order of version 0.3 and earlier. - Note that this needs to be set before the "race" or "class" - options (see below), or they won't be interpreted correctly. - -weapon = (random | short sword | hand axe | spear | mace | trident) - Specifying the weapon option allows you to bypass the weapon - selection screen. Note that tridents are restricted to only - merfolk and gladiators, but you'll get the standard query in - illegal cases. - -book = (flame | fire | ice | cold | summ | summoning | random) - Several spellcasting classes can choose their starting - spellbook. Note flame=fire and ice=cold and summ=summoning. - -chaos_knight = (Xom | Makhleb | random) - -death_knight = (necromancy | Yredelemnul | random) - -priest = (Zin | Yredelemnul | Beogh | random) - The above three make in advance the additional choices for - Chaos Knights, Death Knights, and Priests (Beogh for HO only). - -race = (Human |...| Merfolk | random) - The usual abbreviations (Hu, HE, etc.) work. - -class = (Fighter |...| Wanderer | random) - Here again the abbreviations (Fi, Wi, Pr, etc.) can be used. - -random_pick = false - The random_pick option will randomly generate a character. - The above options (weapons and class options) will override - where appropriate. - -2- File System. -================ - -crawl_dir = - Directory for reading macro.txt. - It should end with the path delimiter. - -morgue_dir = morgue - Directory where morgue dumps files (morgue*.txt and - morgue*.lst) as well as character dumps files are written. - -save_dir = saves - Directory where saves and bones are stored. This option may be - ignored depending on the settings used to compile Crawl, but - should be honoured for the official Crawl binaries. - -sound = : - Plays the sound file if a message contains regex. The regex - should not include commas or colons. For example - sound = LOW HITPOINT WARNING:sound\sounds2\danger3.wav - Getting appropriate sound files may be difficult. Check other - roguelikes or old computer RPGs. Alternatively, ask for help - in the newsgroup rec.games.roguelike.misc. - - -3- Lua files. -============== - -Lua files are scripts which can provide existing commands with a new -meaning or create new commands (to be used in macros). To use Lua -files, Crawl needs to be compiled with support for user Lua scripts. -You can if your Crawl has Lua support by hitting V in-game. The list -of features Crawl displays should include "Lua user scripts". - -Lua files are included using the lua_file option (one file per line): - -lua_file = - -The available stock Lua scripts are - stash.lua -- annotates the stash file for better searching - (Ctrl-F). Searching for 'Long blades' will also turn - up all weapons with the long blade skill. Similarly, - you can use 'altar','portal' etc. Also, you can look - for spellbooks ('book'), artefacts ('artefact'), and - ego items ('ego'). - wield.lua -- shows more intelligent options when using 'w?' - kills.lua -- improves the Vanquished Creatures list in dump files; - currently gives three lists (Vanquished, Friendly, - Others) - runrest.lua -- allows overriding certain stop conditions when - running - New options: runrest_ignore_poison, - runrest_ignore_message, runrest_ignore_monster - gearset.lua -- provides commands for switching of complete sets via - macro - New macroable functions: rememberkit, swapkit - eat.lua -- prompts to eat chunks in inventory. - pickup.lua -- smarter autopickup. - trapwalk.lua -- allows travel to cross certain traps if you have - enough HP. - -Also see section 7 on inline Lua fragments. - - -4- Interface. -============== - -4-a Picking up and Dropping. --------------------------------- - -autopickup = $?!+"/% - The above is the default list. The valid symbols are - ) Weapons - ( Missiles - [ Armour - / Wands - % Food - ? Scrolls - " or = Jewellery - ! Potions - + or : Books - \ or | Staves - 0 Orbs - } Misc. items - X Corpses - $ Gold - Note that _whether_ items are picked up automatically or not, is - controlled by the in-game toggle Ctrl-A. Also note that picking - up takes a turn, but only one turn (regardless of the number of - items). If you teleport or blink onto a square with interesting - items, these will not be picked up. - -autopickup_exceptions = don't-pickup-regex, ... - A set of regexes that force matching items to be picked up (if - prefixed with <), or never picked up (if prefixed with >). - Excludes (>) take precedence over includes (<), so if the same - item is matched by both an exclude and an include, it will not - be subject to autopickup. - - An example: - autopickup_exceptions = and the match expression is significant, - so the following won't work: - autopickup_exceptions = < ebony casket - - autopickup_exceptions replace the older ban_pickup. Using - autopickup_exceptions = >uselessness, >inaccuracy - is the same as using - ban_pickup = uselessness, inaccuracy - - If the regexes are not prefixed with < or >, > is implied, so - the option setting above can also be written as - autopickup_exceptions = uselessness, inaccuracy - - You can use multiple autopickup_exceptions lines. Some examples: - autopickup_exceptions = inaccuracy, scrolls? of paper, - autopickup_exceptions = immolation, curse (armour|weapon), - autopickup_exceptions = uselessness, noise, torment - - Note that if pickup.lua has been sourced, you won't need to set - autopickup exceptions for potions except maybe for very special - cases. - -default_autopickup = true - When set to false, the game starts with autopickup turned off. - You can still toggle autopickup in-game with Ctrl-A. - -autopickup_no_burden = false - When set, autopickup will not pick up items which would increase - your burden status (from unencumbered to burdened, or from - encumbered to overloaded.) - -pickup_thrown = true - pickup_thrown = true causes autopickup to pick up thrown/fired - missiles, which can make life much easier for hunter types. Be - aware that autopickup uses a turn, though it won't trigger if - there are hostile monsters in sight. - -pickup_dropped = false - pickup_dropped lets autopickup affect objects you've dropped. - Set to false to block autopickup for dropped objects. This can - be convenient. - -assign_item_slot = (forward | backward) - When picking up items, the inventory slot into which the item - goes is normally the first free slot from a-zA-Z (this is the - default "forward" behaviour). Setting assign_item_slot to - "backward" changes the slot assignment to the first letter after - the last slot. - For instance, if you have items on 'a' and 'c', then with - assign_item_slot = forward, the next item will go into 'b', - assign_item_slot = backward, the next item will go to 'd' - instead. - With "backward", items dropped/fired and picked up later are - more likely to get their old slot back. - -drop_mode = (multi | single) - Single is the classic behaviour; when you select an inventory - letter, that item will be dropped immediately. Multidrop allows - you to select multiple items to be dropped. (You can also switch - to multidrop from the classic drop menu using the '@' key). - - Multidrop is the default and can be very convenient, but be - aware that every item dropped takes one turn. (This is different - from picking up.) - When selecting multidrops, the top right corner shows the - estimated number of turns. - - The order in which items get dropped is from top to bottom in - the inventory listing, but equipped items will be dropped last, - and may be dropped out of order. - -pickup_mode = (multi | single | auto:X) - Single is the classical behaviour (and default): when picking up - items, you are prompted for them one by one. Multi makes a menu - appear, where you can choose which items to pick up. Note that - no matter how many items you choose, picking up will always take - one turn. - If pickup_mode is auto:X, where X is some number (for example, - auto:5), then pickup will give a menu if there are at least X - items on your square, and will prompt one by one otherwise. - -drop_filter = - When selecting items using the global (de)select keys (',' or - '-') in a multidrop menu, you can choose to select only items - that match a search regex using this option. - - For instance, to quickly select carrion and rotting chunks of - meat, you could use: - drop_filter = skeleton, rotting, corpse - Other choices can come in handy as well, e.g. if you want to - regularly sacrifice all weapons except axes, use: - drop_filter = axe, broadaxe - - When a drop_filter is set, using the select/deselect keys will - set/clear selection of items that match the filter - expression(s). - -4-b Targeting. -------------------- - -target_zero_exp = false - Set to false to disable targeting zero exp monsters (i.e. - plants) in hostile targeting mode. This is usually convenient to - do. - -target_oos = true - When cycling through items with 'x' look-around, setting - target_oos to true allows you to jump the cursor to dungeon - features (<> for stairs, Tab for shops, ^ for traps) and stashes - (with the '*' and '/' keys) that are outside line-of-sight but - in the main view. This is most sensibly used in connection with - stash_tracking = all (see 4-g). - Also see target_los_first below. - -target_los_first = true - When cycling through items/features with the 'x' look-around - command, setting target_los_first to true will force the cursor - to squares in line-of-sight before going to squares outside LOS. - -default_target = true - If set to true (the default), targeting will start on either - your previous target (if it is still visible) or the closest - monster (if not) rather than on the character. If no monsters - are in view, targeting will start on the character regardless. - - If default_target = false, the targeting cursor will always - start aimed at the character. - - default_target is mutually exclusive with - target_unshifted_dirs. Using default_target will automatically - disable target_unshifted_dirs. - -target_unshifted_dirs = false - If set to true, targeting will use the old Stone Soup 0.1 / - Crawl 4.0 targeting keymap where unshifted direction keys fire - in that direction immediately. The default is to use the new - targeting keymap where unshifted direction keys move the - targeting cursor (and shifted directions fire in the given - direction immediately). - - If you use target_unshifted_dirs, default_target will be - automatically disabled. - -4-c Passive Sightings (detectied or remembered entities). ------------------------------------------------------------ - -detected_monster_colour = lightred - Monsters found by detect creatures will be coloured this colour. - -detected_item_colour = green - Items found by detect items will be given this colour. - -remembered_monster_colour = darkgrey - The colour for monsters you have seen before. Note that the - value of this option is meaningless if you set clean_map. - -colour_map = true - Colours out of sight map features on the playing screen. - -clean_map = false - Cleans up out of sight monsters and clouds on the map. This is - like pressing Ctrl-C (clearing both main screen and level map) - all the time. - Setting this to true can be disconcerting for summoners. - -4-d Branding (Item and monster highlighting). -------------------------------------------------- - -Branding refers to displaying particular monsters (e.g. summons) or -items in a special way; special as in reversing fore- and background. -There are several branding choices (these will not work everywhere; it -depends on OS and terminal): - standout -- often the same as reverse, might be underline or - dim - bold -- used by colour curses for brightening foreground - colours - blink -- used by colour curses for brightening background - colours - reverse -- this will probably work - dim -- probably no effect - underline -- this will probably work - highlight:colour -- set background colour of branded monsters to - "colour" -The last can be abbreviated to hi:colour. -See part Technical (6-) for dos_use_background_intensity under Windows -and DOS. - -By default, only two of the item brands are active (and set to reverse): - heap_brand, feature_item_brand -They can be deactivated by setting them to "none". - -friend_brand = none - Brand friends in some way. This is very helpful for summoners. - E.g. - friend_brand = hi:green - shows friends with a green background. If the friend is itself - green, it'll show up as black on green. - -neutral_brand = none - Brand neutral monsters in some way. Useful both to get out of - a neutral monster's path, and to avoid accidentally killing it. - E.g. - neutral_brand = hi:darkgrey - shows neutrals with a dark grey background. Since there are - no darkgrey monster glyphs anymore, this works fine. - -stab_brand = none - Some deities object to you stabbing monsters. Certain classes - specialise in stabbing monsters. Still other characters are - happy if they spot a monster before the monster spots them. In - all these cases, it helps to identify monsters that are unaware - of the character (and hence susceptible to being stabbed) without - using the 'x' command. All the normal 'brand' options apply. For - example - stab_brand = hi:blue - -may_stab_brand = none - Stabbing may be possible even if the monster is not asleep (if - it's confused or distracted, for instance). This option brands - monsters that you *might* be able to stab. - -heap_brand = reverse - Brand heaps of items (more than one item or stack). - -feature_item_brand = reverse - Brands features (stairs, shops, altars) that would otherwise be - hidden by items. If you use this brand, the items on the square - are hidden by the feature symbol and the feature symbol is - branded. - -trap_item_brand = none - Brands traps that would otherwise be hidden by items. If you - use this brand, the items on the square are hidden by the trap - symbol (^) and the trap symbol is branded. - -4-e Level Map Functions. ----------------------------- - -level_map_cursor_step = 7 - How many squares the cursor moves on the level map when using - Shift-direction or * direction. - -level_map_title = true - Whether to show the level name at the top of the level map - screen. - -item_colour = true - Colours items on level-map. - -4-f Viewport Display Options --------------------------------- - -The viewport is the portion of the map that is displayed during normal -play. The viewport is 33x17 by default, but if you use larger terminal -sizes, you can set these options to allow the game to show a larger -viewport. (These options are not fully available on DOS.) - -None of these options affects gameplay. In particular, your character's -line-of-sight is unaffected by these options. - -view_max_width = 33 - Sets the maximum width of the viewport. Making this larger - will allow Crawl to show a wider viewport on larger terminals. - -view_max_height = 17 - Similar to view_max_width, but sets the maximum height. - -* Note that using large viewports can slow the game down. - -view_lock_x = true - Keeps the player character centered horizontally in the - viewport, continuously scrolling the viewport to match the - PC's movements. If this is not set, the player character can - move horizontally within the viewport, and the viewport will - scroll only when the character's line-of-sight reaches the - left or right edge. - -view_lock_y = true - Keeps the character centered vertically in the viewport. - -view_lock = true - Aliased option that sets both view_lock_x and view_lock_y. - -center_on_scroll = false - If this is set, the viewport centers on the player character - whenever it scrolls (this option is irrelevant if view_lock_x - and view_lock_y are set). - -symmetric_scroll = true - If this is set, the viewport will scroll in a manner consistent - with the character movement that caused the scroll. - - To illustrate, let's say the PC is at the lower edge of the - viewport, but is near the horizontal center. Now the PC moves - diagonally down and right, forcing the viewport to scroll up - one line. If symmetric_scroll is set, the viewport will also - scroll left one column to match the PC's diagonal movement. If - symmetric_scroll is not set, the viewport will only scroll up, - not horizontally. symmetric_scroll can be less disorienting - than free scrolling. - - This option is not relevant if view_lock or center_on_scroll - are set. - -scroll_margin_x = 2 - How far from the left or right edges scrolling starts. By - default, if the PC's circle of line-of-sight is closer than - two squares from the edge, the viewport scrolls. If set at - zero, the viewport scrolls only when the LOS circle reaches - the viewport edge. - -scroll_margin_y = 2 - How far from the top or bottom edges scrolling starts. - -scroll_margin = 2 - An aliased option that sets both scroll_margin_x and - scroll_margin_y. - -4-g Travel and Exploration. -------------------------------- - -travel_delay = 20 - How long travel waits after each move (milliseconds). Depends on - platform. Setting to -1 will jump to end of travel - you will - not see the individual moves. - -travel_avoid_terrain = (shallow water | deep water) - Prevent travel from routing through shallow water. By default, - this option is commented out. For merfolk and/or characters with - permanent levitation, - travel_avoid_terrain = shallow water, deep water - will prevent travel or explore from going through any water. - -explore_greedy = true - Greedy explore travels to items that are eligible for autopickup - in addition to exploring the level, but is otherwise identical - to regular explore. Greedy explore is only available with - stash_tracking = all (for any other value of stash_tracking, - normal explore behaviour is used). Greedy explore is also best - with pickup_dropped = false. Explore greed is disabled if you're - temporarily unable to pick up items (from uncontrolled - levitation, for instance). - -explore_stop = items,greedy_items,stairs,shops,altars,gates - Explore will stop for one of these conditions. Whatever you - set this option to, anything that stops travel will also stop - explore. Multiple explore_stop lines are cumulative if you use - explore_stop += options, otherwise the last explore_stop = - options line will override all previous explore_stop lines. - - If you include greedy_items in your explore_stop, greedy - explore will stop and announce items that are eligible for - autopickup (greedy explore otherwise announces only items that - are not eligible for autopickup, since autopickup will produce - its own message and stop greedy explore anyway). - -explore_improved = false - If set to true explore will attempt to reduce zig-zagging during - auto-explore. On average it increases the number of turns taken - by about 0.9%, sometimes actually speeding it up slightly and - sometimes increasing the turns taken by up to 5%, with - pathological cases causing a 13% increase. - -tc_reachable = blue -tc_dangerous = cyan -tc_disconnected = darkgrey -tc_excluded = lightmagenta -tc_exclude_circle = red - The above five settle the colouring of the level map ('X'). - They are - reachable: all squares safely reachable (without leaving the - level) - dangerous: squares which are only connected to you via traps, - etc. - disconnected: squares which cannot be reached without leaving - the level - excluded: the colour for the centre of travel exclusions - (Ctrl-X) - excluded_circle: the colour for travel exclusions apart from - centre - -travel_stop_message = - Travel will always stop upon hitpoint loss, confusion, stat - drain, getting encumbered, catching sight of a non-friendly - monster, and teleporting. In addition, a message containing one - of the expressions in travel_stop_message will stop travel. For - example, - travel_stop_message = Something appears - stops travel if Xom grants us a gift suddenly. To limit a - substring match to a message channel, prefix the substring with - the channel name and a colon (see section 4-k below on Message - Channels). For instance, if you want travel to stop when you're - hit by divine retribution, you could use: - travel_stop_message = god:wrath finds you - If you'd like to stop travel for any message sent to a - particular channel, use a travel_stop_message line with that - message channel name and a colon alone. For example, if you're - playing a ghoul: - travel_stop_message = rotten_meat: - Stop travel for any god messages (including prayer) - travel_stop_message = god: - Multiple travel_stop_message lines can be used. - -runrest_ignore_message = - This only works if runrest.lua has already been sourced in - init.txt. Any message containing the string will *not* stop your - run. E.g. - runrest_ignore_message = offer a prayer,prayer is over - runrest_ignore_message = pleased with you,exalted - (useful in conjunction with autoprayer.) - - Note that monster talk and dungeon noises already do not - interrupt running or resting, by default. - -runrest_ignore_poison = : - This only works if runrest.lua has already been sourced in - init.txt. Poison damage of x will be ignored if you have at - least y hp if you've defined a runrest_ignore_poison = x:y - option. Running here means shift-running and resting only. Only - one runrest_ignore_poison line is considered. Note that for - this work, you should also tell Crawl to ignore the - "You feel sick" messages. For example, - runrest_ignore_message = You feel.*sick - runrest_ignore_poison = 4:100 - -runrest_ignore_monster = : - This only works if runrest.lua has already been sourced in - init.txt. - - Any monster containing the string will only interrupt your - activity if the distance between you and the monster is - less than the specified number. E.g. with - runrest_ignore_monster = fish:3 - all of big fish, jellyfish, giant goldfish and lavafish will be - considered safe for travel, explore and resting as long as the - distance is at least 3. - -trapwalk_safe_hp = :, ... - This only works if trapwalk.lua has already been sourced in - init.txt. Any square containing one of the listed trap types - will be considered safe for travel if your hp is greater than or - equal to the number connected to the trap in question. - - All the existing trap types can be used, but in practice only - the mechanical traps (dart, bolt, arrow, needle, spear, axe, - blade) make sense. Note that travel tries to avoid traps if this - is easily possible. Defaults to none. For example, - trapwalk_safe_hp = dart:15, needle:25, spear:50 - -trap_prompt = true - If trap_prompt is set to true Crawl will use the trapwalk_safe_hp - values to decide whether the player should be prompted before - stepping on a mechanical trap. Note that you'll always be prompted - for non-mechanical traps. - -4-h Stashes. ----------------- - -stash_tracking = (all | explicit | dropped) - A stash is a heap of items tracked by Crawl. You can search in - your stashes with Ctrl-F. This options rules how stashes are - generated. When stash_tracking is set to 'all' (the default), - the game marks any square where it sees any object as a stash. - That gives you a comprehensive list of everything your character - sees in the dungeon, but may slow the game down and use too much - memory on older computers. - - With 'explicit', you have to explicitly tell the game what - squares you want it to keep track of. You do that by stepping - onto the square containing your stash of goodies and hitting - Ctrl+S. The game will now keep track of what's on the square, - when you add and remove stuff from your stash. You can also - inscribe an item with "=s" to automatically mark a square as a - stash whenever that item is dropped. If you remove everything - from that square, the game will stop tracking the square - altogether. You can also erase a stash square with Ctrl-E. - Explicitly marked stashes will never be sacrificed by a - Nemelex Xobeh worshipper. - - When stash_tracking is set to 'dropped', any square where you - drop something becomes a stash, and the game keeps track of all - such squares. You can still use Ctrl-S and Ctrl-E as above. - -stash_filter = - This option allows filtering certain classes of items when - searching stashes. - For example: - stash_filter = 14, 4:21 - filters corpses (14) as well as food of the subtype chunks (4:21). - -annotate_item_class = false - This only works if stash.lua has already been sourced in - init.txt. Automatically annotates items with their object class, - e.g. weapon or wand, for stash searching. - -4-i Command Enhancements. ------------------------------ - -auto_list = true - When set (the default), the appropriate inventory items are - automatically listed for commands like eat and read. This is - like immediately hitting '?', and can be confusing to beginners - because they won't get to see the prompts. This option does not - apply to spell casting... Conjurers would probably find that - really annoying. - -easy_open = true - Open doors by moving on to them. Highly convenient. Note that - travel and exploration will automatically open doors depending - on this option. - -easy_unequip = true - Allows auto removal of armour and jewellery when dropping it. - -easy_confirm = (none | safe) - Make confirmation questions easier to answer: - none = force capitals on Y/N questions - safe = force only on questions that will end game (default) - WARNING TO KEYPAD USERS: The number 7 is mapped to the letter - 'y', which can result in accidentally answering yes to - questions. - -easy_butcher = true - If true, auto-switch to an appropriate uncursed weapon for - butchery. For such tools any special messages are ignored. If - false, you have to wield the tool manually. - -always_confirm_butcher = false - If true, always request confirmation before butchering. If - false, butchering will proceed automatically if there is exactly - one corpse on the square. If there are multiple corpses on a - square, you will always be prompted, regardless of this option. - -easy_quit_item_prompts = true - Setting this option to true allows the quitting of item listing - with Space (as well as Escape, which always works). These lists - are essentially all of those that are requesting an inventory - item and accept '?' and '*'. The identify list will never easy - quit. - -easy_exit_menu = true - In multidrop (and pickup) menus, paging past the end will drop - out of the menu if easy_exit_menu is true. - -default_autoprayer = false - When set to true, the game will start with automatic prayers. - This option can be toggled in-game with Ctrl-V. - - Automatic prayers take a turn like manual prayers and happen - only if - - there is no hostile monster in sight - - some further conditions (like not standing at an altar) - Note that even when you're praying, you can renew prayer - anytime. Also note the option safe_zero_exp (see 4-a) decides - whether zero experience monsters (like plants) are considered - hostile. - If you use autoprayer, you might want to set - runrest_ignore_message to ignore the prayer messages (see the - documentation for runrest_ignore_message). - -sort_menus = [menu:](true | false | auto:X)[:sort_order] - Controls if and how items are sorted in inventory and pickup - menus. - - When sort_menus = false (the default), items are not sorted, and - will be ordered by inventory letter (or in the order they're - stacked for items on the floor). - - When sort_menus = true, items are sorted by base name, qualified - name, curse status and quantity. - - If sort_menus = auto:X, items are sorted if there are at least - X items in the same category. For instance: - sort_menus = auto:5 - will sort item classes that have at least 5 items. For instance, - having 4 kinds of potions would not sort them, but having 5 - would. - - You can explicitly specify sort criteria in the sort_menus - option as: - sort_menus = true : basename, qualname, curse, qty - - Two items will be compared based on the first sort criteria - where they differ. So with the sort_menus line given above, - if the basenames of two different items are different they - will be alphabetically compared using their basenames; if - the basenames are the same but the qualified names different - it will compare their qualified names, and so on. - - The available sort criteria are: - - * basename: - This is the name of the item type. The basename for all of - "a +0 robe", "an embroidered robe" and "the cursed +2 robe of - Ponies" is just "robe". The basename for both of "a brass - ring" and "a ring of fire resistance" are "ring". - - * qualname: - The name of the item without articles (a/an/the), quantities, - enchantments, or curse-status. The qualified names for the - robes described above are "robe", "embroidered robe" and "robe - of Ponies", respectively. The qualified names for the rings - described above are "brass ring" and "ring of fire - resistance", respectively. - - * fullname: - This is the name of the item as displayed in menus (including - (quantities, curse-status, etc.) - - * curse: - Curse-status of the item (if known). Uncursed items show up - first. - - * equipped: - Equipped items show up first. - - * art: - Identified artefacts show up first. - - * ego: - Identified ego items show up first. - - * glowing: - Unidentified glowing/shiny/runed/etc items show up first. - - * qty: - The quantity for stackable items (such as scrolls, potions, - etc.) - - * slot: - The inventory letter for items in inventory; irrelevant for - items on the floor. - - * freshness: - The freshness of chunks of meat; irrelevant for everything - else. It makes the oldest chunks of meat show up first, with - rotting chunks listed last for non-Saprovores. - If this sort criteria is placed before (or in the absence of) - basename and qualname, then non-chunk food items will be - sorted between the non-rotting and rotting chunks. - - The default sort criteria are: - "equipped, basename, qualname, curse, qty". - - You can ask for a descending order sort by prefixing one or more - sort criteria with > as: - sort_menus = true : basename, >qty - - You can also request sorting only for specific menus: - sort_menus = pickup: true - or - sort_menus = inv: true - (Menu types must be specified as name:, with no space between - name and colon.) - - The menu selectors available are: - - pickup: All pickup menus, stash-search menus, etc. for items not - in your inventory. - drop: The item drop menu. - inv: Inventory listings for any command (but not for dropping - items). - any: All menus; this is the default when unspecified. - - For example, - sort_menus = true : equipped, basename, qualname, curse, qty - will produce the same inventory and drop menus as by default, - with the exception that all worn/wielded items come first. This - can be convenient if you use the '.' command to select - subsequent items. - -4-j Messages and Display Enhancements. ------------------------------------------- - -hp_warning = 10 - hp_warning gives "* * * LOW HITPOINT WARNING * * *" on the - danger channel when the player takes damage and their hitpoints - are less than this percentage of their maximum (use 0 to turn - off these messages). - -mp_warning = 0 - mp_warning gives "* * * LOW MAGIC WARNING * * *" on the danger - channel when the player's magic points drop below this - percentage of their maximum (use 0 to turn off these messages). - -hp_colour = lightgrey, 50:yellow, 25:red - hp_colour colours your HP appropriately in the display. In the - default setting, your HP will appear in red if at less then 25%, - yellow if at less than 50%, and lightgrey otherwise. - -mp_colour = lightgrey, 50:yellow, 25:red - mp_colour does to MP what hp_colour does to HP. - -status_caption_colour = brown - Sets the colour that is used to display the captions in the status - area (for instance the "HP:" in HP: 10/10). - -delay_message_clear = false - Setting this option to true will delay the clearing of messages - until the message space is full (default is false which results - in clearing between player actions). - -show_inventory_weights = false - When this is set to true, inventory listings will mention the - weight of each item. - -show_turns = false - This option controls whether the turn counter (of turns elapsed) - is displayed in the main view. - -show_beam = false - When performing actions such as throwing or zapping, you can - toggle whether to show the beam path or not. This option - controls the initial status of this toggle. When set to true, - the path will be shown. - -item_stack_summary_minimum = 5 - If you step over a stack with this number or more of items in - it, the first description line will contain a summary of all the - items in the stack (up to 50 items), in a format which looks - like this: - Items here: !! """ % ( )))))) [[[ - Known artefacts will be coloured in yellow; glowing or runed - items will be in white, unless you already know that they are - not ego items. - -list_rotten = true - Setting this to true will print a list of inventory slots for - all corpses and chunks that have become rotten along with the - rotting message, in the form of - "You smell something rotten. (slots f and m)" - Additionally, this option will make a default message appear - for Trolls, as well. - -mlist_min_height = 5 - This option controls the minimum number of monsters to display - in the monster list. The number displayed may be smaller than - this option if the terminal size is not large enough. - -mlist_force_inline = false - By default, if the terminal size is large enough, the monster - list will be placed to the left of the view. If this option is - set to true, the monster list will only appear between the - status hud and the message pane. - -menu_colour = :: - This prints a line (of the inventory, a menu, or the discoveries - screen) containing regex in the stated colour. There can be - several statements in a list, and also several menu_colour - lines. When using several menu_colour lines, the colour of the - _first_ matching regex is applied. For a list of colours, check - the colour option in 6-a. - - The match specifies which listings are affected by the - colouring. If you specify 'any', or completely skip the : - part, then all listings are used. Possible values for match are: - ability (the A screen) - description (the \ screen) - equip (the [, (, ), " screens) - help (the manual) - inventory - notes (the ?: screen) - resists (the % screen) - spell (the Z and I screens) - stash (the results from Ctrl-F) - - To colour worn stuff and highlight cursed items, take - menu_colour = inventory:lightred: cursed.*(worn|neck|hand|weapon) - menu_colour = inventory:green:(worn|neck|hand|weapon) - menu_colour = inventory:red: cursed - - To colour identified artefacts, try - menu_colour = inventory:white:( [-+] the) - - If you frequently die because you forget to use emergency items, - try - menu_colour = inventory:cyan:(potions? of heal wounds|blinking) - menu_colour = inventory:lightcyan:wand of (fire|cold|draining) - - To quickly check what potions were trashed by a mummy curse, use - menu_colour = inventory:lightred:potions? of (degeneration|decay) - - If you like to see rotten chunks and corpses at a glance, use - menu_colour = inventory:red: rotting - - menu_colour can also be applied to colour the in-game notes (to - be read with '?:'). The following line will show level ups in - white: - menu_colour = notes:white:Reached XP level - -menu_colour_prefix_id = false - Setting this option to true will prefix the string against which - menu_colour regexes are matched (not the string - displayed) with the item's identification state: "unidentified" - for unidentified, "known" for wands for which you know the type - but don't know the number of charges, and for rings with plusses - for which you know the type but don't know the plus value, and - "identified" for other identified items. - - Note that the prefix is put before the the *entire* string which - is displayed, so if you're wielding an uncursed dagger which has - the 'a' slot, the string the regexes will match against is - "identified a - an uncursed dagger (weapon)". - -menu_colour_prefix_class = false - Setting this option to true will prefix the string against which - menu_colour regexes are matched (not the string displayed) with - the item's object type: armour, weapon, wand, etc. If both this - option and menu_colour_prefix_id are set to true, then the - identification string comes before the object type string (i.e., - "identified weapon", "known wand", etc). - - Note that the prefix is put before the the *entire* string which - is displayed, so if you're wielding a uncursed dagger which has - the 'a' slot, the string the regexes will match against is - "weapon a - an uncursed dagger (weapon)". - -message_colour = :[:] - message_colour allows you to override colours for individual - messages. For instance, if you find the low hp warning to be - insufficiently attention grabbing, you could do something like - message_colour = yellow:LOW HITPOINT WARNING - You can also narrow the message match to a specific channel: - message_colour = lightred:god:xom - If you don't want to see a message at all, you can mute it: - message_colour = mute:You start resting - -4-k Missiles. ------------------ - -fire_items_start = a - Sets the first inventory item to consider when selecting - missiles to fire. The default is a. - -fire_order = inscribed, launcher, return -fire_order += javelin / dart / stone / rock / spear / net / handaxe / dagger -fire_order += inscribed - Controls the order of items autoselected for firing. Items - should be separated by commas and items that appear first get - higher priority. You can use multiple fire_order lines - all - lines but the first must use "fire_order +=". - - Items in any position may be slash-separated to indicate that - these are of equal priority. If this is the case, the first item - in your inventory that fits one of these will be picked for - firing. - - 'inscribed' refers to any item with the "+f" inscription. See - the "Inscriptions" section of the crawl manual for more information - about inscriptions. - - 'launcher' refers to firing the appropriate missile for the - wielded weapon (ie crossbow, bow, sling, blowgun). You'll almost - certainly want it first, as it'll be ignored when you're not - wielding a ranged weapon. 'return' refers to (identified) - weapons of returning. - -fire_quiver_best = false - Controls the behavior of the quiver. If false, the quiver - contains the previous ammo fired. - - If true, Crawl will always put the best-ranked item in the - quiver, as specified by fire_order, current launcher, and - inventory ordering. - -(See also pickup_thrown in 4-a.) - -4-l Message Channels. -------------------------- - -Crawl communicates to the players with its message window. Every message -belongs to one of the so-called channels. The behaviour of each channel -can be changed with the option - - channel.CHANNEL_NAME = (COLOUR | mute | default | on | off | plain) - -CHANNEL_NAME can currently be one of these: - plain = regular text (and things "uncoloured") - prompt = input prompts to the player - god = messages from the gods - pray = standard praying messages (start/end of prayer) - duration = messages about character spells/effects wearing off - danger = serious threats to the characters existence - food = warnings about food - warning = various other warnings - recovery = recovery from disease/stat loss/poison conditions - talk = monsters talking - talk_visual = monster performing some action that the player sees - intrinsic_gain = level/stat/species power gains - mutation = gain/lose mutations - monster_spell = messages about monsters gesturing or casting spells - monster_enchant = messages pertaining to monster enchantments - monster_damage = messages telling how damaged a monster is - rotten_meat = messages about chunks/corpses becoming rotten - equipment = messages inidcating worn/wielded equipment - floor = messages when looking at or walking over a floor - item - multiturn = indicates long actions (wearing armour, dissecting - etc.) - examine = messages from examine your surroundings - examine_filter = boring messages from examining your surroundings - diagnostics = debugging messages - tutorial = messages from the tutorial - -The channel options are - mute = show no messages from channel (dangerous, be careful!) - default = turn channel on to it's default scheme - alternate = turn channel on to it's alternate "colourful" scheme - on = same as default - plain = make channel the same colour as the "plain" channel - (won't do anything silly like "mute" if plain == mute, - though) - off = same as plain -COLOUR can be any of the colours described in section 6-a (colours -option). - -The only multi-colour channels currently are monster_damage and god. All -other channels are defaulted to on, except for multiturn, which defaults -to mute. -Note that the template init.txt sets - channel.multiturn = on -in order to help new players. You may want to comment out this option, -if the messages are too verbose. - -4-m Inscriptions. ---------------------- - -See the "Inscriptions" section of the crawl manual for more information -about inscriptions. - -autoinscribe = : - Any item whose description contains the regex will be - automatically inscribed (if autopickup is toggled on). For - example, marking all royal jellies and honeycombs eases the Hive - (if food is not in the autopickup option): - autoinscribe = royal jell:=g - autoinscribe = honeycomb:=g - - Another use of autoinscription is making sure that you don't - lose charges of important wands accidentally, as in - autoinscribe = wand of healing:!z - -4-n Macro related Options. ------------------------------- - -flush.failure = true -flush.command = false -flush.message = false - These are useful when using macros. Setting one of these - sub-options to true will cause the entire input buffer to be - dumped and thus effectively stop the macro. The sub-options - currently are - failure -- when spells/abilities get miscast - command -- whenever the game is about to get the next command - message -- whenever the game outputs a non-mute message - -macro_meta_entry = true - macro_meta_entry lets you specify non-printable keycodes like - \{3} when creating a macro. For instance, if you want to keymap - 0 to Escape, you'd use a target keycode of \{27}. - -additional_macro_file = path/to/filename - Add an additional macro file to be loaded after macro.txt. - You can have multiple additional_macro_file lines. - -4-o Tiles Options. ----------------------- -In non-tile games the tile options are ignored. - -show_items = - This option controls the order and presence of items in the tiles - inventory. By default, its value is !?/%=([)X}+\_. The underscore - represents empty slots, the dot items on the floor. - -title_screen = true - When this is set to true, the graphical title screen will be - displayed. - -tile_player_col = white -tile_monster_col = red -tile_neutral_col = red -tile_friendly_col = lightred -tile_item_col = green -tile_unseen_col = black -tile_floor_col = lightgrey -tile_wall_col = darkgrey -tile_mapped_wall_col = blue -tile_door_col = brown -tile_downstairs_col = magenta -tile_upstairs_col = blue -tile_feature_col = cyan -tile_trap_col = yellow -tile_water_col = grey -tile_lava_col = grey -tile_excluded_col = darkcyan - - These options allow configuring the colours used for the minimap of - the dungeon level. - tile_player_col - colour of player position, as well as of - map centre during level map mode ('X') - tile_monster_col - colour of hostile monsters - tile_neutral_col - colour of neutral monsters - tile_friendly_col - colour of friendly monsters - tile_item_col - colour of known or detected items - tile_unseen_col - colour of unseen areas (usually stone) - tile_wall_col - colour of any wall type - tile_mapped_wall_col - colour of walls detected via magic mapping - tile_door_col - colour of known doors, open or closed - tile_downstairs_col - colour of downstairs, including branch stairs - tile_upstairs_col - colour of upstairs, including branch stairs - tile_feature_col - colour of any non-stair feature - (altar, shop, portal, fountain, ...) - tile_trap_col - colour of known traps of any type - tile_water_col - colour of both shallow and deep water - tile_lava_col - colour of lava - tile_excluded_col - colour of squares excluded for autotravel - (will only override tile_floor_col colour) - - -5- Character Dump. -=================== - -5-a Items and Kills. ------------------------- - -The character dump or morgue files end with a list of all monsters that -perished while the character was active. By default, dead monsters are -grouped in three parts: - Vanquished Creatures -- monsters killed by the character - Collateral Kills -- kills of friendly monsters - Others -- all other casualties (e.g. traps, hostile - monsters) - -kill_map = friend:you, other:you - will merge friendly and other kills into the main vanquished - creatures list. Note that the merging is only for display (the - game still maintains three separate lists internally) and that - kill places (see below) may be in the wrong order for merged - entries. The default is an empty list. - -dump_kill_places = (none | all | single) - In the Vanquished Creatures list, this option controls how the - locations of each kill are displayed. Use 'none' to suppress - place display altogether, 'all' to display all known (up to 5) - kill places, anything else to the default of showing kill places - only for single kills - -dump_item_origins = artefacts, rods - The game remembers where you find items. If you want this item - origin memory listed in your dumps, use this option to select - which items get annotated. Available selectors are: - artefacts, ego_arm, ego_weap, jewellery, runes, - rods, staves, books, all, none. - If you use multiple dump_item_origins lines, the last line takes - effect; all preceding lines are ignored. - - If you don't want any items to be annotated, set - dump_item_origins to none, and set dump_item_origin_price to -1. - -dump_item_origin_price = -1 - Item origins are dumped if the price of the item is greater than - or equal to this amount. Set this to -1 to prevent selection by - price. - -dump_message_count = 7 - The number of last messages to be displayed in character dump - files. - -dump_order = header,hiscore,stats,misc,notes,inventory, -dump_order += skills,spells,overview,mutations,messages,screenshot -dump_order += kills - Controls the order of sections in the dump. You can use multiple - dump_order lines - all lines but the first must use - dump_order += - - Two optional dump sections are turns_by_place and - kills_by_place, which add detailed statistics to where turns - were spent and monsters were killed. You can add them to your - dump as: - dump_order += turns_by_place, kills_by_place - -5-b Notes. --------------- - -Crawl can automatically log certain events during play. You can read -these in the dump or morgue files. Below are options for tweaking this behaviour. -The following events are logged: - - Gaining or losing a level - - Entering a dungeon level for the first time - - Memorizing a spell of higher level than any learned before - - Becoming a worshipper of a god - - Abandoning a god - - Being put under penance and being forgiven - - Receiving a gift from a god (except Xom) - - Being able to invoke a godly power for the first time - - Identifying items (see below) - - Killing OOD or unique monsters (see below) - - Reaching critical HP levels (see below) - - Gaining or losing mutations - - Reaching significant levels in a skill (see below) - - Dying -You can use the command ':' for manually adding notes. - -user_note_prefix = - Prefixes manually added notes with the given string, to make - them easier to find. - -note_items = - When an item is identified, it will be noted if it is an - artefact - (fixed, unrand, or random) or if its short description matches a - regex. E.g. - note_items = rod,book,rune,acquirement - -note_monsters = - Monsters whose name matches an item in this comma-separated list - are considered interesting. You can have multiple note_monsters - lines. E.g. - note_monsters = Klown,orb of fire - -ood_interesting = 8 - Monsters which are out of depth (OOD for short) for their - current level, e.g. a dragon on level 2, will be noted if they - are out of depth by at least ood_interesting levels. To disable - OOD monster noting, set ood_interesting to 500. - Unique monsters are always noted, regardless of this setting. - OOD monsters are only noted in the main dungeon. - -note_hp_percent = 5 - If your HP falls below a certain note_hp_percentage of your max - hit points, a note will be taken. There is some code to avoid - repetitions of notes based on the same incident. - -note_skill_levels = 1,5,13,27 - This sets which skill levels are noteworthy. You can have - multiple note_skill_levels lines. The default is nothing (no - notes.) - -note_all_skill_levels = false - This is a shortcut for note_skill_levels = 1,2,..,27. If you set - this to true, all skill levels are considered noteworthy. - -note_skill_max = false - Setting this option will cause a note whenever a new maximum in - skill levels is reached. If note_skill_max is true and - note_skill_levels is nonempty, notes will be taken whenever - either of the criteria are met. - -note_all_spells = true - Will add a note for each spell memorised. - -note_messages = - Messages which match an item in this comma-separated list are - considered interesting. You can have multiple note_messages - lines. E.g. - note_messages = Something interferes - note_messages = protects you from harm - If you want all banishments to the Abyss noted, use - note_messages = [bB]anish.*Abyss - If you want a note when your draconian scales turn , use - note_messages = Your scales start - - -6- Miscellaneous. -================== - -6-a All OS. ---------------- - -mouse_input = false - When enabled, the mouse_input option allows the game to use - mouse input events on certain platforms (Windows and Unix). - Note that the extent of mouse support varies greatly across - platforms and is strongly influenced by your terminal settings. - - On Unixes, you're only likely to get mouse support working with - ncurses in xterms (specifically your $TERM probably needs to - contain "xterm" for ncurses to activate its mouse events; - if you're running Crawl in GNU screen in an xterm, the mouse - will probably not work). - - On Windows, you'll need to disable QuickEdit Mode on your - console for Crawl to use the mouse (QuickEdit is disabled by - default, so you shouldn't need to change anything if you're - using a stock console). You can disable QuickEdit by - right-clicking the titlebar of your command-prompt, selecting - Properties and disabling QuickEdit in the Options tab. - -wiz_mode = (no | never | yes) - Wizard mode options (available only in WIZARD compiles): - yes -- start games in wizard mode (game will not be scored) - no -- still allows player to enter wizard mode after start - of game - never -- never allow a wizard command to be used - -char_set = (ascii | ibm | dec | unicode) - Chooses different character sets for the game play screen. DOS - and Windows users will want to use the IBM character set, Unix - users will prefer DEC or plain ASCII. - - On Unix, Crawl may be built with Unicode support, in which case - you can use char_set = unicode to use unicode characters in the - map display. - -classic_item_colours = false - Crawl uses 4.0 b26/0.1.x-like item colours if - classic_item_colours is set to true. The default (false) is to - use the new 0.2 item colours. - This option will not affect the colour of existing items, only - items generated after the option is set. - -colour.OLDCOLOUR = NEWCOLOUR - Useful for terminals where some colours are hard to read (and - cannot be adjusted), as well as for creating a custom scheme, - especially when used with the background option on a terminal - with a non-black background. - Format is colour.OLDCOLOUR = NEWCOLOUR, later rules take - preference and the NEWCOLOUR is always literal (ie. it won't - re-evaluate to a different colour). - The colours are: - black, blue, green, cyan, red, magenta, brown, lightgrey, - darkgrey, lightblue, lightgreen, lightcyan, lightred, - lightmagenta, yellow, white - with lightgray = lightgrey, darkgray = darkgrey. Some examples: - colour.lightgray = black - colour.lightcyan = cyan - colour.yellow = brown - -cset_ascii, cset_ibm, cset_dec, cset_unicode, cset_any - Can be used to change individual characters in a specific - character set (the character set used for display is determined - by the char_set option). The syntax is the same for all of - these; cset_any changes characters in all character sets. - -cset_XXX = - a list of these is allowed, as well. - - The possible entries for dungeon_character_name are: - wall, wall_magic, floor, floor_magic, door_open, door_closed, - trap, stairs_down, stairs_up, altar, arch, fountain, wavy, - statue, invis_exposed, item_detected, item_orb, item_weapon, - item_armour, item_wand, item_food, item_scroll, item_ring, - item_potion, item_missile, item_book, item_stave, - item_miscellany, item_corpse, item_gold, item_amulet, cloud - Most of these are self-explanatory. "arch" is used for shops and - portals. "floor_magic" and "wall_magic" are used to display - magic-mapped squares on the level map. "invis_exposed" is the - character for water creatures submerged in shallow water, or - invisible creatures wading in shallow water. - - Symbols can be specified using a letter, or by a number (decimal - code), or a hexadecimal number (prefixed with x): - - For an example on IBM displays, - cset_ibm = wall:219, arch:0, wavy:x7E - shows walls as solid blocks, shops and portals as '0', and water - as '~'. - -feature = { , , , - , , - , } - where is a regular expression describing a dungeon - feature. This regex should match the description when using the - 'x' command. In case the regex matches several descriptions, all - such features are affected. - - The list in {...} specifies the appearance of the dungeon - feature(s), and should be self-explanatory. can be used - to override the above cset options, or also to distinguish among - subtypes of a character. - - 'magic' always refers to magic mapping. So the - entry determines what symbol will be used for features only - detected via magic mapping. - - 'emphasised_colour' refers to the colour used to highlight - unvisited stone stairs; for non-stair features, setting emphasis - colours does nothing useful. - - Leading parameters in the {...} list can be omitted by leaving - them blank and using placeholder commas. Trailing parameters can - be omitted without placeholder commas. - - Multiple feature option lines can be used, as can multiple - feature descriptions strung together on the same line separated - by semicolons. - - Examples: - * Colour rock walls red: - feature = rock wall { , , red } - * Use # for metal walls in all character sets: - feature = metal wall {#} - - Symbols can be specified as with cset: - feature = metal wall {#} - feature = metal wall {35} - feature = metal wall {x23} - all do the same thing. - -mon_glyph = : - The mon_glyph option allows you to customise the symbol and - colour used to display a monster. - - You can customise symbols based on monster names or their - existing symbols. For instance, if you want to put elves on E - and efreeti on e, you can do this: - - mon_glyph = e : E - mon_glyph = E : e - - If you want to change the symbol for a monster that uses a space - as a symbol, specify an underscore on the left: - - mon_glyph = _ : # - - (That changes shades to use #.) - - You can specify a different symbol, or a colour, or both, in any - order. Here are more examples: - - mon_glyph = deep elf annihilator : E lightmagenta - mon_glyph = Xtahua : lightmagenta D - mon_glyph = large zombie : darkgrey - mon_glyph = small simulacrum : x - - (The left hand side of the : is case-sensitive.) - - You can specify symbols using their code points using the syntax - as shown in the "feature" option. If you're using - char_set=unicode, you can use unicode code points: - - mon_glyph = draconian scorcher : x6e9 - - A single _ is treated as a space; if you want a real underscore, - put a \ in front of it like this: - - mon_glyph = player ghost : \_ - -6-b DOS and Windows. ------------------------- - -dos_use_background_intensity = false - On DOS and Windows, if you're using a console that can do - high-intensity background colours, set this option to true for - superior friend-branding. If your console doesn't like this - option, some friendly monsters will appear as blinking - characters (and setting this option to false may be advisable to - preserve your sanity in such cases). - -6-c Unix. -------------- - -background = black - Sets the default background colour by name (defaults to BLACK). - This may be useful if you're using a terminal with a background - colour other than black (such as an xterm), but this option is - still experimental and the results may not be very good. - -use_fake_cursor = false - If true, Crawl draws the cursor explicitly on the level-map and - targeting screens instead of relying on the term to draw the - cursor. Use this if your term cannot show a cursor over - darkgrey/black squares. - - -7- Inline Lua. -=============== - -7-a Executing lua. ----------------------- - -Lua code can be used directly in your init.txt/.crawlrc. You can -execute Lua code using the following syntax. - -: Single line of lua code - -< Possibly multi-line - Lua code > - -{ Possibly multi-line - Lua code } - -In the second and third cases, the restriction is that the delimiter -characters appear at the beginning and end of a line, respectively. -The difference between the <> and {} is when the code gets executed. -Code {}, it is executed right away. Other Lua code is executed only -after the entire init file is read in. - -Examples: - -# Print a welcome message -: crawl.mpr("Hello " .. you.name()) - -< --- Another welcome message (lua code uses lua comments) -crawl.mpr("Hi there") -> - -{ -function ch_autopickup(it) [ ... body omitted ... ] end -} - -7-b Conditional options. ----------------------------- - -You can use Lua to selectively include parts of your init.txt (based -on character type, for instance) using the same syntax. - -Examples: - -: if you.race() == "Mummy" then -autopickup = $?+"/ -: else -autopickup = $?+"/!% -: end - -: if you.race() == "Hill Orc" then -priest = Beogh -: else -priest = Yredelemnul -: end - -7-c Including external files. ---------------------------------- - -You can use Lua to include options from other files. This is actually -just a particularly useful way to use the previously discussed features. - -Example: - -# Set the monster glyphs back to the way they were in 0.3.4 -: crawl.read_options('docs/034_monster_glyphs.txt') diff --git a/crawl-ref/docs/macros_guide.txt b/crawl-ref/docs/macros_guide.txt new file mode 100644 index 0000000000..252db61abc --- /dev/null +++ b/crawl-ref/docs/macros_guide.txt @@ -0,0 +1,152 @@ +Macros and Keymaps +================== + +What are macros and keymaps? The simple explanation is: + +Command macros make keys into commands. +Keymaps make keys into other keys. + +Or a bit more verbose: + +For the most part, people will probably want command macros. They allow +for things like making a key run a sequence of commands (e.g. +associating a key stroke to the casting of a certain spell) without +having to worry about messing up what that key does at prompts (e.g. +you can macro a number or letter without worrying about it making the +substitution when you're trying to drop an item). + +Keymaps are for when you want to fix layout and behavioural problems on +your keyboard (i.e. unrecognised numpad sequences can by mapped into +their numbers, foreign keyboard layouts can be modified to be more +comfortable). There are also special sets of keymaps for the level map, +the targeting mode and confirmation prompts, which allow for mappings +that are restricted to just those situations. + + +How to create macros and keymaps? +================================= + +The simplest way is in-game: Press either the '~' key or Ctrl-D, select +'m' to define a macro, then choose a key to assign for your macro and +enter the command sequence. For some keys (or key combinations), Crawl +will display a strange number (for example \{13} for the Return key). +These numbers are the key codes for certain non-alpanumeric keys and +can vary between different systems. + +By default, most upper- and lowercase alphanumeric keys are already +assigned functions in Crawl. While you are free to remap those keys as +well, it might be best to start with some of the currently unused keys, +such as Tab or the function keys (F1 to F12), possibly combined with +Ctrl, Shift or both. On some systems, it may also be possible to +incorporate the Alt (Meta) key. + +Defining keymaps works in exactly the same way. Just press 'k' +(default), 'x' (level-map), 't' (targeting) or 'c' (confirmation) +instead of 'm' after pressing '~'. + +After defining such a macro or keymap, you should test it. If you are +comfortable with it, you should then save the macro. To save all macros +and keymaps, press '~' and then 's' to save macros at the tilde prompt). + + +The macro.txt file +================== + +Macros and keymaps are stored in a file called macro.txt in your main +Crawl directory or your home directory. You can change where the file +is read from and written to by specifying an alternate directory on +the command line with -macro or with the crawl_dir option in your +init file (see crawl_options.txt for details). The macro.txt file is +human readable and editable, but you might have to figure out the key +codes for non-alphanumeric keys through in-game experimentation or +external utilities. + +Lines beginning with the '#' are comments and will be ignored. Note +that Crawl won't necessarily preserve your comments when saving macros +and keymaps to the macro.txt file. + +Each macro definition consists of exactly two lines. The first one +describes the macro trigger key and consists of "M:" followed by the +character or keycode of that key (for example 'a', 'A' or \{9} for +the A, Shift-A or Tab keys). The second one describes the macro action +and consists of "A:" followed by the command sequence to be associated +with the above key (for example "zap" for zapping the spell in slot a +at the previous target). Individual macro definitions should be +separated by empty lines. + +For keymaps just replace the "M:" on the first line of the definiton +with one of the following: +"K:" default, +"K1:" level-map, +"K2:" targeting or +"K3:" confirmation. + + +Examples +======== + +This section contains some examples to give you an idea what macros and +keymaps can be used for. Note that for the sake of completeness, both +key line and command line are given, but that you should probably +substitute your own keys here as these may not always work for you. + + +'@' is a character that may not work by default on some keyboard +layouts. The following should remedy that by mapping '@' to '@'. + +# @: display character status +K:\{17} +A:@ + + +Playing a summoner can be annoying because you often need to cast the +same spells multiple times in a row, each casting requiring multiple +keystrokes. This macro allows casting the spell in slot 'a' with a +single keystroke. Note that you can redefine spell slots with the '=' +key. We emphasise again that the F1 key may get a different code on +your system. + +# F1: cast spell 'a' +M:\{368} +A:za + + +Now that we've taken care of summoning, we still need to command our +summoned creatures. The following macro should make that easier as +well. Note that this macro assumes that the default_target option is +set to true (it is by default; see crawl_options.txt for details). + +# Tab: Order allies to attack your previous or the nearest target +M:\{9} +A:!a. + + +Conjurers need a slightly different macros for casting, such as this +one, as they need to press '.' or Return to confirm firing at a target. +Again, this macro assumes that the default_target option is set to +true. + +# F1: cast spell 'a' at your previous or the nearest target +M:\{368} +A:za. + + +However, even conjurers might not always want to fire at their previous +target, so the following set of macros allows them to cast the spell +in slot 'a' and then cycle through the available targets with the same +key and then confirming with the same key we used for firing in the +previous macro. This example also tries to illustrate how to take +advantage of the fact that keys can have different functions in the +different keymaps. + +# Shift-F1: cast spell 'a' +M:\{1392} +A:za + +# Shift-F1: cycle through targets when in targetting mode +K2:\{1392} +A:+ + +# F1: fire at target when in targetting mode +K2:\{368} +A:. \ No newline at end of file diff --git a/crawl-ref/docs/monster_speech.txt b/crawl-ref/docs/monster_speech.txt index 03109bfafd..e5cc8a3095 100644 --- a/crawl-ref/docs/monster_speech.txt +++ b/crawl-ref/docs/monster_speech.txt @@ -6,30 +6,64 @@ speech has been outsourced by Matthew Cline. This makes changing existing messages, or adding new ones really easy. This file will hopefully help you in this endeavour. +The outsourced messages are used to create two databases out of which +Crawl randomly draws the necessary speech text. -shout.txt handles message output for monsters noticing you. +* shout.db (handling speech when monsters first notice you), and +* speak.db (for all other cases). -monspeak.txt handles messages for monsters communicating with you. +Because of the amount of definitions necessary, they have been divided +over a number of different files. -wpnnoise.txt handles randart weapons with the noises property. +The shout database is constructed from the following two files: -insult.txt handles insults thrown at you by imps and demons. +* shout.txt handles message output for monsters noticing you +* insult.txt handles insults thrown at you by imps and demons +The speak database contains messages defined in these files: -Monster speech probabilities -============================ +* monspeak.txt handles messages for monsters communicating with you +* wpnnoise.txt handles randart weapons with the noises property +* godspeak.txt handles randomized speech by the gods, as well as + speech used for some divine abilities +* insult.txt Same file as above. -Not all monsters are equally likely to speak. Rather there are -different chances involved depending on several attributes, and most of -the time the database lookup stage isn't even reached. +The messages defined in insult.txt form a part of both databases. +Apart from that, keywords and statements defined for one database +cannot be automatically accessed from the other. Rather, they have to +be defined a second time. -The player will only ever hear monsters speak if they are nearby, and -monsters will only speak if they are not asleep, not submerged in -water, air or lava, and not wandering around aimlessly (unless neutral). +Whenever Dungeon Crawl is started, the game checks whether any of the +databases needs to be updated. If one of the underlying files has been +changed since the last check, the database is automatically rerolled. +That means that if you'd like to change one of the descriptions or add +some new monster speech all you have to do is modify the file, save, and restart the game to test your changes. -Berserk monsters are too busy killing and maiming to speak. Also, invisible -monsters the player can't see (for lack of see invisible) will always stay -silent, unless confused. + +Contents: + A. Monster speech probabilities + B. A simple example + C. Key lookup in detail + D. Values in detail + E. Testing your changes + F. Publishing your changes + APPENDIX: List of monster glyphs + + +A. Monster speech probabilities +================================ + +Not all monsters are equally likely to speak. Rather there are +different chances involved, depending on several attributes, and most +of the time the database lookup stage isn't even reached. + +First, the player will only ever hear monsters speak if they are in line of sight, and monsters will only ever speak if they are not +asleep, not submerged in water, air or lava, and not wandering around +aimlessly (unless neutral). + +Berserk monsters are too busy killing and maiming to speak. Also, +invisible monsters the player can't see (for lack of see invisible) +will always stay silent, unless confused. Monsters capable of speech (i.e. all intelligent humanoid monsters, as well as all uniques and some non-unique demons) have a base chance of @@ -42,10 +76,11 @@ if the monster in question was generated as a member of a group. Chances are again doubled if this non-humanoid monster is fleeing, and doubled again if confused. -Neutral monsters only speak half as often, and for charmed monsters the -probability is divided by 3. The same applies to silenced monsters, i.e. -monsters that are not naturally silent will only get to even attempt to speak in -one out of three tries where the above chances hold. +Neutral monsters only speak half as often, and for charmed monsters +the probability is divided by 3. The same applies to silenced +monsters, i.e. monsters that are not naturally silent will only get to +even attempt to speak in one out of three tries where the above +chances hold. Note that the definition of which monsters are capable of speech is entirely hardcoded. We think we made this apply to all sensible @@ -56,8 +91,8 @@ documentation also doesn't help you solve the problem, you might want to post a bug report on Dungeon Crawl's SourceForge site [1]. -A simple example -================ +B. A simple example +==================== If you have a look at some of the speech files, you'll see that all entries have basically the same structure: a key, followed by one or @@ -92,8 +127,8 @@ are comment lines. friendly '5' The first non-comment, non-blank line is interpreted as the key of an -entry. Most keys are hardcoded but there's place for user defined ones -as well. More on that later, though. +entry. Many keys are hardcoded, but there's place for user defined +ones as well. More on that later, though. In this case, the key is "friendly '5'". '5' refers to the monster glyph, so the speech will not be entirely @@ -130,8 +165,8 @@ This is a special command; it prints no message. See below for more details on special commands. -Keys in detail -============== +C. Key lookup in detail +======================== Key lookup is always case-insensitive. The game will make many different attempts when trying to find monster speech, all of which @@ -169,9 +204,8 @@ orc species and the character worships Beogh, the prefix "beogh" gets added to the list, though not for charmed orcs who will simply use the generic friendly statements instead of the orcish followers' cheers. If you worship one of the good gods instead (Zin, The Shining One, or -Elyvilon) the prefix "good god" is used. Conversely, worshippers of one -of the evil gods (Yredelemnul, Makhleb, Kikubaaqudgha, Lugonu, Xom, -Beogh, or Vehumet) will use the prefix "evil god". +Elyvilon) the prefix "good god" is used. Conversely, worshippers of +one of the evil gods (Yredelemnul, Makhleb, Kikubaaqudgha, Lugonu, or Beogh) will use the prefix "evil god". This allows fine-grained handling of monsters depending on your character's religion status, e.g. orcs will use special speech for Beogh worshippers, and neutral holy beings (Angel and Daeva) may @@ -197,13 +231,13 @@ speech but rather the default speech defined for fleeing humanoids in general. In practice this means that database keys starting with "default" are the fallback solution if the exact look-up has failed. As such, the -messages should be generic enough to allow for all the possibly skipped -prefixes, or else those cases should be caught earlier, e.g. if you -have "default friendly humanoid", you should also define "default -friendly fleeing humanoid" and "default friendly confused humanoid" -(and possibly both combined) even if only with "__NONE" (stay silent), -as the general friendly messages may look odd for a monster such -afflicted. +messages should be generic enough to allow for all the possibly +skipped prefixes, or else those cases should be caught earlier, e.g. +if you have "default friendly humanoid", you should also define +"default friendly fleeing humanoid" and "default friendly confused +humanoid" (and possibly both combined) even if only with "__NONE" +(stay silent), as the general friendly messages may look odd for a +monster such afflicted. Only keys that match a search string perfectly (ignoring case) will be used. Once all prefixes have been exhausted and still no match has @@ -224,6 +258,15 @@ following order: latter is entirely hardcoded, though. Examples: "default winged insect", "default confused humanoid" +If you are playing with tiles, you may not know the monster glyphs, +but internally the monsters are still treated the same, and even under +tiles, the glyph keys used for step 3 are entirely valid. In case you +need to know the monster glyphs for your speech definitions you'll +find a list of monster glyphs at the end of this file. Also, for many +monsters you can find out their glyph in-game by searching the +database ('?/') and entering a vague enough monster name. For example, +entering "drac" will tell you that all draconians use the symbol 'd'. + For the last round (shape comparison, e.g. winged humanoid) occasionally an additional intelligence estimate ("stupid", "smart") is prefixed to the search string, depending on the monster type, e.g. @@ -271,8 +314,8 @@ Example 2: this case "related" and "beogh". Unfortunately, none of "friendly fleeing related orc wizard", "friendly fleeing beogh orc wizard", or "friendly fleeing orc wizard" has any corresponding entry in the - database, so that we now check for "default" in combination with, one - after another, all combinations of three or less prefixes. + database, so that we now check for "default" in combination with, + one after another, all combinations of three or less prefixes. Three prefixes: "default friendly fleeing related orc wizard", "default friendly fleeing beogh orc wizard", "default friendly @@ -290,20 +333,20 @@ Example 2: No prefix: "default orc wizard". Sadly, none of these is successful. The genus of orc wizards is - "orc", so we retry the above using "orc" instead of "orc wizard". The - same is repeated for "friendly fleeing beogh 'o'", and we still + "orc", so we retry the above using "orc" instead of "orc wizard". + The same is repeated for "friendly fleeing beogh 'o'", and we still haven't found anything. This is starting to get ridiculous, so it's time for desperate measures: - With the help of some rather complicated functions the game works out - that orcs can be described as humanoids of average intelligence. + With the help of some rather complicated functions the game works + out that orcs can be described as humanoids of average intelligence. Thus, in a final attempt of making this orc wizard speak, we search - the database for "friendly fleeing related beogh humanoid", something - that, not surprisingly (since Beogh and humanoid don't go well - together), doesn't exist. Annoyingly enough, neither do the variants - "friendly fleeing related humanoid", "friendly fleeing beogh - humanoid" or even "friendly fleeing humanoid". + the database for "friendly fleeing related beogh humanoid", + something that, not surprisingly (since Beogh and humanoid don't go + well together), doesn't exist. Annoyingly enough, neither do the + variants "friendly fleeing related humanoid", "friendly fleeing + beogh humanoid" or even "friendly fleeing humanoid". Still, we haven't yet tried the prefix combinations: "default friendly fleeing related humanoid" is still unsuccessful, as @@ -335,9 +378,15 @@ and the only hardcoded keywords are "noisy weapon" for weapons with the noises property, and "singing sword" for (who'd have guessed?) the Singing Sword. +God speech +---------- +The keys used to search for god speech are entirely hard-coded, though +some local synonyms have been defined as well. Hopefully, the comments +will explain what the different speech messages are used for. -Values in detail -================ + +D. Values in detail +==================== Spacing ------- @@ -408,7 +457,8 @@ Capitalized forms (@Monster@, @A_something@, @Possessive@, @Pronoun@) are expanded with capitalized text. Also, in insult.txt you'll find the hardcoded variables -@species_insult_adj1@, @species_insult_adj2@ and @species_insult_noun@. + @species_insult_adj1@, @species_insult_adj2@, and + @species_insult_noun@. These are sometimes used in the construction of imps' or demons' generic insults, and allow for species-dependent handling. If the parser encounters such a variable, it will search the database for the @@ -417,7 +467,7 @@ where is replaced with the actual genus name, that is "draconian", "elf" or "dwarf" instead of the more specific species name, "ogre" for "ogre-mage", or the actual species name in all other cases. -If this specific search doesn't yield any results, that is, such an +If this specific search doesn't yield any results, i.e., such an entry hasn't been defined for the species in question, the general replacements are used instead. @@ -426,9 +476,10 @@ replacements don't hold. Instead you can use @The_weapon@, @the_weapon@, @Your_weapon@, @your_weapon@ and @weapon@ which will get replaced by "The (weapon name)", "the (weapon name)", "Your (weapon name)", "your (weapon name)", and the plain weapon name, -respectively. Note that the Singing Sword, being unique, cannot be -referred to by the possessive variants, so they will be replaced with -the appropriate definite article ones. +respectively. +Note that the Singing Sword, being unique, cannot be referred to by +the possessive variants, so they will be replaced with the appropriate +definite article ones. Examples of pre-defined variables in the database include _high_priest_, _mercenary_guard_, _wizard_, _hostile_adventurer_, @@ -483,14 +534,16 @@ and enforce output even when silenced. VISUAL SPELL : MSGCH_MONSTER_SPELL VISUAL WARN : MSGCH_WARN -Note, though, that these only will take effect if a VISUAL message just -happens to be chosen. As stated above, the database search doesn't -really care whether a monster is supposed to be silent, so it may pick -any noisy monster speech, but the message output will care and refuse -to print such nonsense, so that in this case the monster will actually -stay silent after all. +Note, though, that these only will take effect if a VISUAL message +just happens to be chosen. As stated above, the database search +doesn't really care whether a monster is supposed to be silent, so it +may pick any noisy monster speech, but the message output will care +and refuse to print such nonsense, so that in this case the monster +will actually stay silent after all. + All in all, chances of silent "speech" are lower (as is intended) but -only VISUAL messages even have a chance to be printed under these circumstances. +only VISUAL messages even have a chance to be printed under these +circumstances. As explained earlier, "silenced" is one of the prefixes that are regarded as "less important" and can be ignored in the exact string @@ -530,7 +583,7 @@ VISUAL:@The_monster@ does a flip. If one of these is chosen, we get a non-verbal "speech" statement of this silenced monster. - However, what happens if the other 50% take effect and we will *not* + However, what happens if the other 50% take effect and we will *not* ignore the "silenced" prefix? In this case, we'll simply continue like in the earlier examples above, get no results for either of "default silenced Killer Klown" or "default Killer Klown", and try @@ -558,8 +611,8 @@ VISUAL:@The_monster@ gestures. For shouts the default channel is also MSGCH_TALK, which is automatically changed to MSGCH_TALK_VISUAL for monsters that can't -speak (animals, usually), and manually set to MSGCH_SOUND for all those -variants of "You hear a shout!" +speak (animals, usually), and manually set to MSGCH_SOUND for all +those variants of "You hear a shout!" For weapon noises only a subset of the above is relevant, as anything including VISUAL and the channel keys SPELL and ENCHANT are considered @@ -586,8 +639,8 @@ Crawl looks up the noises a given monster can produce and looks for keys that match the string, i.e. __SHOUT, __BARK and so on. -Testing your changes -==================== +E. Testing your changes +======================== Get a version of Stone Soup that contains WIZARD mode. You can check whether this is the case by pressing '&' during the game. If you are @@ -613,9 +666,9 @@ mode, examining monsters offers several new sub-commands such as 'F' (make monster friendly/neutral/hostile) and 's' (make monster shout). These last two are of particular interest to monster speech designers. -The Singing Sword and all other hardcoded artefacts can be created -with '&|'. The Elemental Staff and the spear of Voo-Doo are examples -of noisy weapons. +Also, the Singing Sword and all other hardcoded artefacts can be +created with '&|'. The Elemental Staff and the spear of Voo-Doo are +examples of noisy weapons. You can also temporarily increase the likelihood of a given message by adding a high weight value before it, e.g. w:5000, or equally @@ -631,14 +684,14 @@ somewhere in AppHdr.h, for example at the beginning of the section entitled "Debugging Defines", and then compile the game anew, first using "make clean", then "make wizard". If you play with DEBUG_MONSPEAK compiled in, whenever the game is -searching the monspeak database you'll get extensive information on all -keys and prefixes tried. Once you're done testing don't forget to +searching the monspeak database you'll get extensive information on +all keys and prefixes tried. Once you're done testing don't forget to remove (or comment out) the DEBUG_MONSPEAK setting as trying to actually play that way would sure be annoying. -Publishing your changes -======================= +F. Publishing your changes +=========================== If you feel that your additions really add something to the game and would like to make them available to the general public, you can post @@ -654,3 +707,93 @@ request on sourceforge.net [1] or in the newsgroup [2]. roguelike games, it is generally considered polite to flag subjects of posts pertaining only to Crawl with "-crawl-" or a similar marker. + + +APPENDIX: List of monster glyphs +================================ + +Lowercase letters: +------------------ +a giant cockroach, giant ant, soldier ant +b giant bat, butterfly +c centaur (warrior), yaktaur (captain) +d all draconians +e all elves +f fungus, wandering mushroom +g goblin, hobgoblin, gnoll, boggart +h all hounds (jackal, hound, wolf, warg, war dog, hell hound) + and hogs (hog, hell-hog) +j snails: elephant slug, giant slug, giant snail +k winged insects: killer bee, bumblebee +l lizards (giant newt/gecko/iguana/lizard, gila monster, komodo + dragon), and drakes (swamp drake, firedrake, death drake, + lindwurm) +n ghouls: necrophage, ghoul, rotting hulk +o all orcs +p all ghosts, phantom, and insubstantial wisp +r all rodents (rats of all colours, and quokka) +s arachnides (giant mite, giant centipede, scorpion, wolf spider, + redback) +t minotaur +u (very) ugly thing +v all vortices, and air elemental +w all worms and larvae +x unseen horror, small abomination +y wasps, giant mosquito, giant blowfly, moth of wrath +z small zombie/skeleton/simulacrum, skeletal warrior, flying skull, + curse skull, and curse toe + +Uppercase letters: +------------------ +A Angel, Daeva +B all beetles +C all giants, ettin, cyclops, and titan +D all dragons, wyvern, and hydra +E efreet +F all frogs +G all eyes, giant spore, and giant orange brain +H hippogriff, manticore, griffon, and sphinx +I ice beast +J all jellies, oozes, and slime creature, pulsating lump, + giant amoeba, jellyfish, and acid blob +K all kobolds +L all liches +M all mummies +N all naga +O all ogres +P all plants +Q queen bee, and queen ant +R (fake) rakshasa +S all snakes, and salamander +T all trolls +U all bears +V all vampires +W all wraiths, wight, and spectral warrior/thing +X abomination, tentacled monstrosity, and Orb Guardian +Y all yaks, and sheep +Z large zombie/skeleton/simulacrum + +Numbers: +-------- +1 all Fiends, Executioner, Blue/Green Death, Balrug, Cacodemon +2 sun demon, reaper, soul eater, ice devil, and Lorocyproca +3 hellion, tormentor, blue/iron devil, neqoxec, orange/shadow demon, + hellwing, ynoxinul, and demonic crawler +4 red/rotting/hairy devil, beast, and smoke demon +5 all imps, and other minor demons (quasit, lemure, ufetubus, manes, + midge) +8 all golems, and living statues +9 all gargoyles + +Other symbols: +-------------- +# earth elemental, fire elemental, and vapour +{ water elemental +; all fish, and electrical eel +@ all humans, (glowing) shapeshifter, and Killer Klown +& all pandemonium lords +* ball lightning, and orb of fire +% death cob + shadow + +For uniques, see their monster description for their subtype. \ No newline at end of file diff --git a/crawl-ref/docs/options_guide.txt b/crawl-ref/docs/options_guide.txt new file mode 100644 index 0000000000..700033f4d6 --- /dev/null +++ b/crawl-ref/docs/options_guide.txt @@ -0,0 +1,1744 @@ +Guide to Crawl's options +======================== + +This document explains all of the options in the latest version of +Dungeon Crawl Stone Soup. These options are set in the init.txt file +located in the Crawl directory (the directory containing crawl.exe on +Windows and DOS). On Unix systems, you need to set options in the +~/.crawlrc file (a file named .crawlrc in your home directory). + +The contents of this text are: + +1- Starting Screen. + name, remember_name, use_old_selection_order, + weapon, book, chaos_knight, death_knight, priest, + race, class, random_pick +2- File System and Sound. + crawl_dir, morgue_dir, save_dir, sound +3- Lua files. + lua_file, + base.lua, stash.lua, wield.lua, kills.lua, + runrest.lua, gearset.lua, eat.lua, pickup.lua, + trapwalk.lua +4- Interface. +4-a Dropping and Picking up. + autopickup, autopickup_exceptions, default_autopickup, + autopickup_no_burden, pickup_thrown, pickup_dropped, + assign_item_slot, drop_mode, pickup_mode, drop_filter +4-b Targeting. + target_zero_exp, target_oos, target_los_first, + default_target, target_unshifted_dirs +4-c Passive Sightings (Detection and Remembrance). + detected_monster_colour, detected_item_colour, + remembered_monster_colour, colour_map, clean_map +4-d Branding (Item and Monster Highlighting). + friend_brand, neutral_brand, stab_brand, may_stab_brand, + heap_brand, feature_item_brand, trap_item_brand +4-e Level Map Functions. + level_map_cursor_step, level_map_title, item_colour +4-f Viewport Display Options. + view_max_width, view_max_height, view_lock_x, + view_lock_y, view_lock, center_on_scroll, + symmetric_scroll, scroll_margin_x, scroll_margin_y, + scroll_margin +4-g Travel and Exploration. + travel_delay, travel_avoid_terrain, + explore_greedy, explore_stop, explore_improved, + tc_reachable, tc_dangerous, tc_disconnected, + tc_excluded, tc_exclude_circle, + travel_stop_message, runrest_ignore_message, + runrest_ignore_poison, runrest_ignore_monster, + trapwalk_safe_hp +4-h Stashes. + stash_tracking, stash_filter, annotate_item_class +4-i Command Enhancements. + auto_list, easy_open, easy_unequip, easy_confirm, + easy_butcher, always_confirm_butcher, + easy_quit_item_prompts, easy_exit_menu, + default_autoprayer, sort_menus +4-j Message and Display Improvements. + hp_warning, mp_warning, hp_colour, mp_colour, + status_caption_colour, delay_message_clear, + message_colour, show_inventory_weights, show_turns, + show_beam, item_stack_summary_minimum, list_rotten, + menu_colour, menu_colour_prefix_id, + menu_colour_prefix_class +4-k Missiles. + fire_items_start, fire_order +4-l Message Channels. + plain, prompt, god, pray, duration, danger, food, warning, + recovery, talk, talk_visual, intrinsic_gain, mutation, + monster_spell, monster_enchant, monster_damage, + rotten_meat, equipment, floor, multiturn, examine, + examine_filter, diagnostics, tutorial +4-m Inscriptions. + autoinscribe +4-n Macro related Options. + flush.failure, flush.command, flush.message, + macro_meta_entry, additional_macro_file +4-o Tiles Options. + show_items, title_screen, tile_player_col, + tile_monster_col, tile_neutral_col, tile_friendly_col, + tile_item_col, tile_unseen_col, tile_floor_col, tile_wall_col, + tile_mapped_wall_col, tile_door_col, tile_downstairs_col, + tile_upstairs_col, tile_feature_col, tile_trap_col, + tile_water_col, tile_lava_col, tile_excluded_col +5- Character Dump. +5-a Items and Kills. + kill_map, dump_kill_places, dump_item_origins, + dump_item_origin_price, dump_message_count, dump_order +5-b Notes. + user_note_prefix, note_items, note_monsters, + ood_interesting, note_hp_percent, note_skill_levels, + note_all_skill_levels, note_skill_max, note_all_spells, + note_messages +6- Miscellaneous. +6-a All OS. + mouse_input, wiz_mode, use_ascii, classic_item_colours, + colours, char_set, cset_ascii, cset_ibm, cset_dec, + cset_unicode, feature, mon_glyph + +6-b DOS and Windows. + dos_use_background_intensity +6-c Unix. + background, use_fake_cursor + +7- Inline Lua. +7-a Executing lua. +7-b Conditional options. +7-c Including external files. + +-------------------------------------------------------------------------------- + +There are three broad types of Crawl options: true/false values +(booleans), arbitrary values, and lists of values. In this document, +options are usually described with their default values (if there is a +default); this should also explain which of the above-mentioned types +it is. Each option should have some remarks on how it's typically used +- but keep in mind that the options you want to use depend on your +playing style and sometimes also on your operating system. + +The standard init.txt distributed with Crawl includes all boolean +options, commented out. The commented-out values are always the +_non-defaults_, so you can toggle boolean options by uncommenting +them. + +There are two styles you can use to set options. The classic +name=value syntax, one option per-line: + remember_name = true + explore_greedy = false + drop_mode = multi + +And the NetHack-style combined option line: + OPTION = remember_name, !explore_greedy, drop_mode:multi + +The second style is useful to specify simple options in a few lines, +but it cannot be used for options that take complex lists of values +(such as the autopickup_exceptions option). + +Some options need a path as an argument; here you have to use a +filesystem path suitable for your system. Other options accept regular +expressions (regexes): here you can simply use ordinary strings, adapt +the suggested regexes to your needs or search the internet for regex +syntax. + +For long option names, you can define option aliases by doing: + alias := long_option_name +For instance, you can use: + ae := autopickup_exceptions +and thereafter use "ae" instead of "autopickup_exceptions": + ae = >uselessness, >inaccuracy + +If you get stuck or some things just won't seem to work properly, +please ask for help on the newsgroup rec.games.roguelike.misc. Please +flag queries with '-crawl-', as other roguelikes are also discussed +there. + + +1- Starting Screen. +==================== + +The following options are a convenience to help you quickly start your +game of Crawl. + +name = Delilah + If set, that's the name all your Crawl characters will get. + +remember_name = true + Crawl remembers the options (class, race etc.) you used to + create your last character. You may recycle them in the + starting screen for a new character. If this option is set to + true, Crawl will also remember the last name you used. + + If you use this option and want to enter a name _after_ + choosing your race and class, you must enter . at the initial + name prompt - hitting Enter at the name prompt will simply + reuse your old name if remember_name is set. + +use_old_selection_order = false + If set to true, the character selection screen will offer + species and classes in the order of version 0.3 and earlier. + Note that this needs to be set before the "race" or "class" + options (see below), or they won't be interpreted correctly. + +weapon = (random | short sword | hand axe | spear | mace | trident) + Specifying the weapon option allows you to bypass the weapon + selection screen. Note that tridents are restricted to only + merfolk and gladiators, but you'll get the standard query in + illegal cases. + +book = (flame | fire | ice | cold | summ | summoning | random) + Several spellcasting classes can choose their starting + spellbook. Note flame=fire and ice=cold and summ=summoning. + +chaos_knight = (Xom | Makhleb | random) + +death_knight = (necromancy | Yredelemnul | random) + +priest = (Zin | Yredelemnul | Beogh | random) + The above three make in advance the additional choices for + Chaos Knights, Death Knights, and Priests (Beogh for HO only). + +race = (Human |...| Merfolk | random) + The usual abbreviations (Hu, HE, etc.) work. + +class = (Fighter |...| Wanderer | random) + Here again the abbreviations (Fi, Wi, Pr, etc.) can be used. + +random_pick = false + The random_pick option will randomly generate a character. + The above options (weapons and class options) will override + where appropriate. + +2- File System. +================ + +crawl_dir = + Directory for reading macro.txt. + It should end with the path delimiter. + +morgue_dir = morgue + Directory where morgue dumps files (morgue*.txt and + morgue*.lst) as well as character dumps files are written. + +save_dir = saves + Directory where saves and bones are stored. This option may be + ignored depending on the settings used to compile Crawl, but + should be honoured for the official Crawl binaries. + +sound = : + Plays the sound file if a message contains regex. The regex + should not include commas or colons. For example + sound = LOW HITPOINT WARNING:sound\sounds2\danger3.wav + Getting appropriate sound files may be difficult. Check other + roguelikes or old computer RPGs. Alternatively, ask for help + in the newsgroup rec.games.roguelike.misc. + + +3- Lua files. +============== + +Lua files are scripts which can provide existing commands with a new +meaning or create new commands (to be used in macros). To use Lua +files, Crawl needs to be compiled with support for user Lua scripts. +You can if your Crawl has Lua support by hitting V in-game. The list +of features Crawl displays should include "Lua user scripts". + +Lua files are included using the lua_file option (one file per line): + +lua_file = + +The available stock Lua scripts are + stash.lua -- annotates the stash file for better searching + (Ctrl-F). Searching for 'Long blades' will also turn + up all weapons with the long blade skill. Similarly, + you can use 'altar','portal' etc. Also, you can look + for spellbooks ('book'), artefacts ('artefact'), and + ego items ('ego'). + wield.lua -- shows more intelligent options when using 'w?' + kills.lua -- improves the Vanquished Creatures list in dump files; + currently gives three lists (Vanquished, Friendly, + Others) + runrest.lua -- allows overriding certain stop conditions when + running + New options: runrest_ignore_poison, + runrest_ignore_message, runrest_ignore_monster + gearset.lua -- provides commands for switching of complete sets via + macro + New macroable functions: rememberkit, swapkit + eat.lua -- prompts to eat chunks in inventory. + pickup.lua -- smarter autopickup. + trapwalk.lua -- allows travel to cross certain traps if you have + enough HP. + +Also see section 7 on inline Lua fragments. + + +4- Interface. +============== + +4-a Picking up and Dropping. +-------------------------------- + +autopickup = $?!+"/% + The above is the default list. The valid symbols are + ) Weapons + ( Missiles + [ Armour + / Wands + % Food + ? Scrolls + " or = Jewellery + ! Potions + + or : Books + \ or | Staves + 0 Orbs + } Misc. items + X Corpses + $ Gold + Note that _whether_ items are picked up automatically or not, is + controlled by the in-game toggle Ctrl-A. Also note that picking + up takes a turn, but only one turn (regardless of the number of + items). If you teleport or blink onto a square with interesting + items, these will not be picked up. + +autopickup_exceptions = don't-pickup-regex, ... + A set of regexes that force matching items to be picked up (if + prefixed with <), or never picked up (if prefixed with >). + Excludes (>) take precedence over includes (<), so if the same + item is matched by both an exclude and an include, it will not + be subject to autopickup. + + An example: + autopickup_exceptions = and the match expression is significant, + so the following won't work: + autopickup_exceptions = < ebony casket + + autopickup_exceptions replace the older ban_pickup. Using + autopickup_exceptions = >uselessness, >inaccuracy + is the same as using + ban_pickup = uselessness, inaccuracy + + If the regexes are not prefixed with < or >, > is implied, so + the option setting above can also be written as + autopickup_exceptions = uselessness, inaccuracy + + You can use multiple autopickup_exceptions lines. Some examples: + autopickup_exceptions = inaccuracy, scrolls? of paper, + autopickup_exceptions = immolation, curse (armour|weapon), + autopickup_exceptions = uselessness, noise, torment + + Note that if pickup.lua has been sourced, you won't need to set + autopickup exceptions for potions except maybe for very special + cases. + +default_autopickup = true + When set to false, the game starts with autopickup turned off. + You can still toggle autopickup in-game with Ctrl-A. + +autopickup_no_burden = false + When set, autopickup will not pick up items which would increase + your burden status (from unencumbered to burdened, or from + encumbered to overloaded.) + +pickup_thrown = true + pickup_thrown = true causes autopickup to pick up thrown/fired + missiles, which can make life much easier for hunter types. Be + aware that autopickup uses a turn, though it won't trigger if + there are hostile monsters in sight. + +pickup_dropped = false + pickup_dropped lets autopickup affect objects you've dropped. + Set to false to block autopickup for dropped objects. This can + be convenient. + +assign_item_slot = (forward | backward) + When picking up items, the inventory slot into which the item + goes is normally the first free slot from a-zA-Z (this is the + default "forward" behaviour). Setting assign_item_slot to + "backward" changes the slot assignment to the first letter after + the last slot. + For instance, if you have items on 'a' and 'c', then with + assign_item_slot = forward, the next item will go into 'b', + assign_item_slot = backward, the next item will go to 'd' + instead. + With "backward", items dropped/fired and picked up later are + more likely to get their old slot back. + +drop_mode = (multi | single) + Single is the classic behaviour; when you select an inventory + letter, that item will be dropped immediately. Multidrop allows + you to select multiple items to be dropped. (You can also switch + to multidrop from the classic drop menu using the '@' key). + + Multidrop is the default and can be very convenient, but be + aware that every item dropped takes one turn. (This is different + from picking up.) + When selecting multidrops, the top right corner shows the + estimated number of turns. + + The order in which items get dropped is from top to bottom in + the inventory listing, but equipped items will be dropped last, + and may be dropped out of order. + +pickup_mode = (multi | single | auto:X) + Single is the classical behaviour (and default): when picking up + items, you are prompted for them one by one. Multi makes a menu + appear, where you can choose which items to pick up. Note that + no matter how many items you choose, picking up will always take + one turn. + If pickup_mode is auto:X, where X is some number (for example, + auto:5), then pickup will give a menu if there are at least X + items on your square, and will prompt one by one otherwise. + +drop_filter = + When selecting items using the global (de)select keys (',' or + '-') in a multidrop menu, you can choose to select only items + that match a search regex using this option. + + For instance, to quickly select carrion and rotting chunks of + meat, you could use: + drop_filter = skeleton, rotting, corpse + Other choices can come in handy as well, e.g. if you want to + regularly sacrifice all weapons except axes, use: + drop_filter = axe, broadaxe + + When a drop_filter is set, using the select/deselect keys will + set/clear selection of items that match the filter + expression(s). + +4-b Targeting. +------------------- + +target_zero_exp = false + Set to false to disable targeting zero exp monsters (i.e. + plants) in hostile targeting mode. This is usually convenient to + do. + +target_oos = true + When cycling through items with 'x' look-around, setting + target_oos to true allows you to jump the cursor to dungeon + features (<> for stairs, Tab for shops, ^ for traps) and stashes + (with the '*' and '/' keys) that are outside line-of-sight but + in the main view. This is most sensibly used in connection with + stash_tracking = all (see 4-g). + Also see target_los_first below. + +target_los_first = true + When cycling through items/features with the 'x' look-around + command, setting target_los_first to true will force the cursor + to squares in line-of-sight before going to squares outside LOS. + +default_target = true + If set to true (the default), targeting will start on either + your previous target (if it is still visible) or the closest + monster (if not) rather than on the character. If no monsters + are in view, targeting will start on the character regardless. + + If default_target = false, the targeting cursor will always + start aimed at the character. + + default_target is mutually exclusive with + target_unshifted_dirs. Using default_target will automatically + disable target_unshifted_dirs. + +target_unshifted_dirs = false + If set to true, targeting will use the old Stone Soup 0.1 / + Crawl 4.0 targeting keymap where unshifted direction keys fire + in that direction immediately. The default is to use the new + targeting keymap where unshifted direction keys move the + targeting cursor (and shifted directions fire in the given + direction immediately). + + If you use target_unshifted_dirs, default_target will be + automatically disabled. + +4-c Passive Sightings (detectied or remembered entities). +----------------------------------------------------------- + +detected_monster_colour = lightred + Monsters found by detect creatures will be coloured this colour. + +detected_item_colour = green + Items found by detect items will be given this colour. + +remembered_monster_colour = darkgrey + The colour for monsters you have seen before. Note that the + value of this option is meaningless if you set clean_map. + +colour_map = true + Colours out of sight map features on the playing screen. + +clean_map = false + Cleans up out of sight monsters and clouds on the map. This is + like pressing Ctrl-C (clearing both main screen and level map) + all the time. + Setting this to true can be disconcerting for summoners. + +4-d Branding (Item and monster highlighting). +------------------------------------------------- + +Branding refers to displaying particular monsters (e.g. summons) or +items in a special way; special as in reversing fore- and background. +There are several branding choices (these will not work everywhere; it +depends on OS and terminal): + standout -- often the same as reverse, might be underline or + dim + bold -- used by colour curses for brightening foreground + colours + blink -- used by colour curses for brightening background + colours + reverse -- this will probably work + dim -- probably no effect + underline -- this will probably work + highlight:colour -- set background colour of branded monsters to + "colour" +The last can be abbreviated to hi:colour. +See part Technical (6-) for dos_use_background_intensity under Windows +and DOS. + +By default, only two of the item brands are active (and set to reverse): + heap_brand, feature_item_brand +They can be deactivated by setting them to "none". + +friend_brand = none + Brand friends in some way. This is very helpful for summoners. + E.g. + friend_brand = hi:green + shows friends with a green background. If the friend is itself + green, it'll show up as black on green. + +neutral_brand = none + Brand neutral monsters in some way. Useful both to get out of + a neutral monster's path, and to avoid accidentally killing it. + E.g. + neutral_brand = hi:darkgrey + shows neutrals with a dark grey background. Since there are + no darkgrey monster glyphs anymore, this works fine. + +stab_brand = none + Some deities object to you stabbing monsters. Certain classes + specialise in stabbing monsters. Still other characters are + happy if they spot a monster before the monster spots them. In + all these cases, it helps to identify monsters that are unaware + of the character (and hence susceptible to being stabbed) without + using the 'x' command. All the normal 'brand' options apply. For + example + stab_brand = hi:blue + +may_stab_brand = none + Stabbing may be possible even if the monster is not asleep (if + it's confused or distracted, for instance). This option brands + monsters that you *might* be able to stab. + +heap_brand = reverse + Brand heaps of items (more than one item or stack). + +feature_item_brand = reverse + Brands features (stairs, shops, altars) that would otherwise be + hidden by items. If you use this brand, the items on the square + are hidden by the feature symbol and the feature symbol is + branded. + +trap_item_brand = none + Brands traps that would otherwise be hidden by items. If you + use this brand, the items on the square are hidden by the trap + symbol (^) and the trap symbol is branded. + +4-e Level Map Functions. +---------------------------- + +level_map_cursor_step = 7 + How many squares the cursor moves on the level map when using + Shift-direction or * direction. + +level_map_title = true + Whether to show the level name at the top of the level map + screen. + +item_colour = true + Colours items on level-map. + +4-f Viewport Display Options +-------------------------------- + +The viewport is the portion of the map that is displayed during normal +play. The viewport is 33x17 by default, but if you use larger terminal +sizes, you can set these options to make the game show a larger +viewport. (These options are not fully available on DOS.) + +None of these options affects gameplay. In particular, your character's +line-of-sight is unaffected by these options. + +view_max_width = 33 + Sets the maximum width of the viewport (defaults to 33). + Making this larger will allow Crawl to show a wider viewport + on larger terminals. + +view_max_height = 17 + Similar to view_max_width, but sets the viewport's maximum + height. + +* Note that using large viewports can slow the game down. + +view_lock_x = true + Keeps the player character centered horizontally in the + viewport, continuously scrolling the viewport to match the + PC's movements. If this is not set, the player character can + move horizontally within the viewport, and the viewport will + scroll only when the character's line-of-sight reaches the + left or right edge. + +view_lock_y = true + Keeps the character centered vertically in the viewport. + +view_lock = true + Aliased option that sets both view_lock_x and view_lock_y. + +center_on_scroll = false + If this is set, the viewport centers on the player character + whenever it scrolls (this option is irrelevant if view_lock_x + and view_lock_y are set). + +symmetric_scroll = true + If this is set, the viewport will scroll in a manner consistent + with the character movement that caused the scroll. + + To illustrate, let's say the PC is at the lower edge of the + viewport, but is near the horizontal center. Now the PC moves + diagonally down and right, forcing the viewport to scroll up + one line. If symmetric_scroll is set, the viewport will also + scroll left one column to match the PC's diagonal movement. If + symmetric_scroll is not set, the viewport will only scroll up, + not horizontally. symmetric_scroll can be less disorienting + than free scrolling. + + This option is not relevant if view_lock or center_on_scroll + are set. + +scroll_margin_x = 2 + How far from the left or right edges scrolling starts. By + default, if the PC's circle of line-of-sight is closer than + two squares from the edge, the viewport scrolls. If set at + zero, the viewport scrolls only when the LOS circle reaches + the viewport edge. + +scroll_margin_y = 2 + How far from the top or bottom edges scrolling starts. + +scroll_margin = 2 + An aliased option that sets both scroll_margin_x and + scroll_margin_y. + +4-g Travel and Exploration. +------------------------------- + +travel_delay = 20 + How long travel waits after each move (milliseconds). Depends on + platform. Setting to -1 will jump to end of travel - you will + not see the individual moves. + +travel_avoid_terrain = (shallow water | deep water) + Prevent travel from routing through shallow water. By default, + this option is commented out. For merfolk and/or characters with + permanent levitation, + travel_avoid_terrain = shallow water, deep water + will prevent travel or explore from going through any water. + +explore_greedy = true + Greedy explore travels to items that are eligible for autopickup + in addition to exploring the level, but is otherwise identical + to regular explore. Greedy explore is only available with + stash_tracking = all (for any other value of stash_tracking, + normal explore behaviour is used). Greedy explore is also best + with pickup_dropped = false. Explore greed is disabled if you're + temporarily unable to pick up items (from uncontrolled + levitation, for instance). + +explore_stop = items,greedy_items,stairs,shops,altars,gates + Explore will stop for one of these conditions. Whatever you + set this option to, anything that stops travel will also stop + explore. Multiple explore_stop lines are cumulative if you use + explore_stop += options, otherwise the last explore_stop = + options line will override all previous explore_stop lines. + + If you include greedy_items in your explore_stop, greedy + explore will stop and announce items that are eligible for + autopickup (greedy explore otherwise announces only items that + are not eligible for autopickup, since autopickup will produce + its own message and stop greedy explore anyway). + +explore_improved = false + If set to true explore will attempt to reduce zig-zagging during + auto-explore. On average it increases the number of turns taken + by about 0.9%, sometimes actually speeding it up slightly and + sometimes increasing the turns taken by up to 5%, with + pathological cases causing a 13% increase. + +tc_reachable = blue +tc_dangerous = cyan +tc_disconnected = darkgrey +tc_excluded = lightmagenta +tc_exclude_circle = red + The above five settle the colouring of the level map ('X'). + They are + reachable: all squares safely reachable (without leaving the + level) + dangerous: squares which are only connected to you via traps, + etc. + disconnected: squares which cannot be reached without leaving + the level + excluded: the colour for the centre of travel exclusions + (Ctrl-X) + excluded_circle: the colour for travel exclusions apart from + centre + +travel_stop_message = + Travel will always stop upon hitpoint loss, confusion, stat + drain, getting encumbered, catching sight of a non-friendly + monster, and teleporting. In addition, a message containing one + of the expressions in travel_stop_message will stop travel. For + example, + travel_stop_message = Something appears + stops travel if Xom grants us a gift suddenly. To limit a + substring match to a message channel, prefix the substring with + the channel name and a colon (see section 4-k below on Message + Channels). For instance, if you want travel to stop when you're + hit by divine retribution, you could use: + travel_stop_message = god:wrath finds you + If you'd like to stop travel for any message sent to a + particular channel, use a travel_stop_message line with that + message channel name and a colon alone. For example, if you're + playing a ghoul: + travel_stop_message = rotten_meat: + Stop travel for any god messages (including prayer) + travel_stop_message = god: + Multiple travel_stop_message lines can be used. + +runrest_ignore_message = + This only works if runrest.lua has already been sourced in + init.txt. Any message containing the string will *not* stop your + run. E.g. + runrest_ignore_message = offer a prayer,prayer is over + runrest_ignore_message = pleased with you,exalted + (useful in conjunction with autoprayer.) + + Note that monster talk and dungeon noises already do not + interrupt running or resting, by default. + +runrest_ignore_poison = : + This only works if runrest.lua has already been sourced in + init.txt. Poison damage of x will be ignored if you have at + least y hp if you've defined a runrest_ignore_poison = x:y + option. Running here means shift-running and resting only. Only + one runrest_ignore_poison line is considered. Note that for + this work, you should also tell Crawl to ignore the + "You feel sick" messages. For example, + runrest_ignore_message = You feel.*sick + runrest_ignore_poison = 4:100 + +runrest_ignore_monster = : + This only works if runrest.lua has already been sourced in + init.txt. + + Any monster containing the string will only interrupt your + activity if the distance between you and the monster is + less than the specified number. E.g. with + runrest_ignore_monster = fish:3 + all of big fish, jellyfish, giant goldfish and lavafish will be + considered safe for travel, explore and resting as long as the + distance is at least 3. + +trapwalk_safe_hp = :, ... + This only works if trapwalk.lua has already been sourced in + init.txt. Any square containing one of the listed trap types + will be considered safe for travel if your hp is greater than or + equal to the number connected to the trap in question. + + All the existing trap types can be used, but in practice only + the mechanical traps (dart, bolt, arrow, needle, spear, axe, + blade) make sense. Note that travel tries to avoid traps if this + is easily possible. Defaults to none. For example, + trapwalk_safe_hp = dart:15, needle:25, spear:50 + +trap_prompt = true + If trap_prompt is set to true Crawl will use the trapwalk_safe_hp + values to decide whether the player should be prompted before + stepping on a mechanical trap. Note that you'll always be prompted + for non-mechanical traps. + +4-h Stashes. +---------------- + +stash_tracking = (all | explicit | dropped) + A stash is a heap of items tracked by Crawl. You can search in + your stashes with Ctrl-F. This options rules how stashes are + generated. When stash_tracking is set to 'all' (the default), + the game marks any square where it sees any object as a stash. + That gives you a comprehensive list of everything your character + sees in the dungeon, but may slow the game down and use too much + memory on older computers. + + With 'explicit', you have to explicitly tell the game what + squares you want it to keep track of. You do that by stepping + onto the square containing your stash of goodies and hitting + Ctrl+S. The game will now keep track of what's on the square, + when you add and remove stuff from your stash. You can also + inscribe an item with "=s" to automatically mark a square as a + stash whenever that item is dropped. If you remove everything + from that square, the game will stop tracking the square + altogether. You can also erase a stash square with Ctrl-E. + Explicitly marked stashes will never be sacrificed by a + Nemelex Xobeh worshipper. + + When stash_tracking is set to 'dropped', any square where you + drop something becomes a stash, and the game keeps track of all + such squares. You can still use Ctrl-S and Ctrl-E as above. + +stash_filter = + This option allows filtering certain classes of items when + searching stashes. + For example: + stash_filter = 14, 4:21 + filters corpses (14) as well as food of the subtype chunks (4:21). + +annotate_item_class = false + This only works if stash.lua has already been sourced in + init.txt. Automatically annotates items with their object class, + e.g. weapon or wand, for stash searching. + +4-i Command Enhancements. +----------------------------- + +auto_list = true + When set (the default), the appropriate inventory items are + automatically listed for commands like eat and read. This is + like immediately hitting '?', and can be confusing to beginners + because they won't get to see the prompts. This option does not + apply to spell casting... Conjurers would probably find that + really annoying. + +easy_open = true + Open doors by moving on to them. Highly convenient. Note that + travel and exploration will automatically open doors depending + on this option. + +easy_unequip = true + Allows auto removal of armour and jewellery when dropping it. + +easy_confirm = (none | safe) + Make confirmation questions easier to answer: + none = force capitals on Y/N questions + safe = force only on questions that will end game (default) + WARNING TO KEYPAD USERS: The number 7 is mapped to the letter + 'y', which can result in accidentally answering yes to + questions. + +easy_butcher = true + If true, auto-switch to an appropriate uncursed weapon for + butchery. For such tools any special messages are ignored. If + false, you have to wield the tool manually. + +always_confirm_butcher = false + If true, always request confirmation before butchering. If + false, butchering will proceed automatically if there is exactly + one corpse on the square. If there are multiple corpses on a + square, you will always be prompted, regardless of this option. + +easy_quit_item_prompts = true + Setting this option to true allows the quitting of item listing + with Space (as well as Escape, which always works). These lists + are essentially all of those that are requesting an inventory + item and accept '?' and '*'. The identify list will never easy + quit. + +easy_exit_menu = true + In multidrop (and pickup) menus, paging past the end will drop + out of the menu if easy_exit_menu is true. + +default_autoprayer = false + When set to true, the game will start with automatic prayers. + This option can be toggled in-game with Ctrl-V. + + Automatic prayers take a turn like manual prayers and happen + only if + - there is no hostile monster in sight + - some further conditions (like not standing at an altar) + Note that even when you're praying, you can renew prayer + anytime. Also note the option safe_zero_exp (see 4-a) decides + whether zero experience monsters (like plants) are considered + hostile. + If you use autoprayer, you might want to set + runrest_ignore_message to ignore the prayer messages (see the + documentation for runrest_ignore_message). + +sort_menus = [menu:](true | false | auto:X)[:sort_order] + Controls if and how items are sorted in inventory and pickup + menus. + + When sort_menus = false (the default), items are not sorted, and + will be ordered by inventory letter (or in the order they're + stacked for items on the floor). + + When sort_menus = true, items are sorted by base name, qualified + name, curse status and quantity. + + If sort_menus = auto:X, items are sorted if there are at least + X items in the same category. For instance: + sort_menus = auto:5 + will sort item classes that have at least 5 items. For instance, + having 4 kinds of potions would not sort them, but having 5 + would. + + You can explicitly specify sort criteria in the sort_menus + option as: + sort_menus = true : basename, qualname, curse, qty + + Two items will be compared based on the first sort criteria + where they differ. So with the sort_menus line given above, + if the basenames of two different items are different they + will be alphabetically compared using their basenames; if + the basenames are the same but the qualified names different + it will compare their qualified names, and so on. + + The available sort criteria are: + + * basename: + This is the name of the item type. The basename for all of + "a +0 robe", "an embroidered robe" and "the cursed +2 robe of + Ponies" is just "robe". The basename for both of "a brass + ring" and "a ring of fire resistance" are "ring". + + * qualname: + The name of the item without articles (a/an/the), quantities, + enchantments, or curse-status. The qualified names for the + robes described above are "robe", "embroidered robe" and "robe + of Ponies", respectively. The qualified names for the rings + described above are "brass ring" and "ring of fire + resistance", respectively. + + * fullname: + This is the name of the item as displayed in menus (including + (quantities, curse-status, etc.) + + * curse: + Curse-status of the item (if known). Uncursed items show up + first. + + * equipped: + Equipped items show up first. + + * art: + Identified artefacts show up first. + + * ego: + Identified ego items show up first. + + * glowing: + Unidentified glowing/shiny/runed/etc items show up first. + + * qty: + The quantity for stackable items (such as scrolls, potions, + etc.) + + * slot: + The inventory letter for items in inventory; irrelevant for + items on the floor. + + * freshness: + The freshness of chunks of meat; irrelevant for everything + else. It makes the oldest chunks of meat show up first, with + rotting chunks listed last for non-Saprovores. + If this sort criteria is placed before (or in the absence of) + basename and qualname, then non-chunk food items will be + sorted between the non-rotting and rotting chunks. + + The default sort criteria are: + "equipped, basename, qualname, curse, qty". + + You can ask for a descending order sort by prefixing one or more + sort criteria with > as: + sort_menus = true : basename, >qty + + You can also request sorting only for specific menus: + sort_menus = pickup: true + or + sort_menus = inv: true + (Menu types must be specified as name:, with no space between + name and colon.) + + The menu selectors available are: + + pickup: All pickup menus, stash-search menus, etc. for items not + in your inventory. + drop: The item drop menu. + inv: Inventory listings for any command (but not for dropping + items). + any: All menus; this is the default when unspecified. + + For example, + sort_menus = true : equipped, basename, qualname, curse, qty + will produce the same inventory and drop menus as by default, + with the exception that all worn/wielded items come first. This + can be convenient if you use the '.' command to select + subsequent items. + +4-j Messages and Display Enhancements. +------------------------------------------ + +hp_warning = 10 + hp_warning gives "* * * LOW HITPOINT WARNING * * *" on the + danger channel when the player takes damage and their hitpoints + are less than this percentage of their maximum (use 0 to turn + off these messages). + +mp_warning = 0 + mp_warning gives "* * * LOW MAGIC WARNING * * *" on the danger + channel when the player's magic points drop below this + percentage of their maximum (use 0 to turn off these messages). + +hp_colour = lightgrey, 50:yellow, 25:red + hp_colour colours your HP appropriately in the display. In the + default setting, your HP will appear in red if at less then 25%, + yellow if at less than 50%, and lightgrey otherwise. + +mp_colour = lightgrey, 50:yellow, 25:red + mp_colour does to MP what hp_colour does to HP. + +status_caption_colour = brown + Sets the colour that is used to display the captions in the status + area (for instance the "HP:" in HP: 10/10). + +delay_message_clear = false + Setting this option to true will delay the clearing of messages + until the message space is full (default is false which results + in clearing between player actions). + +show_inventory_weights = false + When this is set to true, inventory listings will mention the + weight of each item. + +show_turns = false + This option controls whether the turn counter (of turns elapsed) + is displayed in the main view. + +show_beam = false + When performing actions such as throwing or zapping, you can + toggle whether to show the beam path or not. This option + controls the initial status of this toggle. When set to true, + the path will be shown. + +item_stack_summary_minimum = 5 + If you step over a stack with this number or more of items in + it, the first description line will contain a summary of all the + items in the stack (up to 50 items), in a format which looks + like this: + Items here: !! """ % ( )))))) [[[ + Known artefacts will be coloured in yellow; glowing or runed + items will be in white, unless you already know that they are + not ego items. + +list_rotten = true + Setting this to true will print a list of inventory slots for + all corpses and chunks that have become rotten along with the + rotting message, in the form of + "You smell something rotten. (slots f and m)" + Additionally, this option will make a default message appear + for Trolls, as well. + +mlist_min_height = 5 + This option controls the minimum number of monsters to display + in the monster list. The number displayed may be smaller than + this option if the terminal size is not large enough. + +mlist_force_inline = false + By default, if the terminal size is large enough, the monster + list will be placed to the left of the view. If this option is + set to true, the monster list will only appear between the + status hud and the message pane. + +menu_colour = :: + This prints a line (of the inventory, a menu, or the discoveries + screen) containing regex in the stated colour. There can be + several statements in a list, and also several menu_colour + lines. When using several menu_colour lines, the colour of the + _first_ matching regex is applied. For a list of colours, check + the colour option in 6-a. + + The match specifies which listings are affected by the + colouring. If you specify 'any', or completely skip the : + part, then all listings are used. Possible values for match are: + ability (the A screen) + description (the \ screen) + equip (the [, (, ), " screens) + help (the manual) + inventory + notes (the ?: screen) + resists (the % screen) + spell (the Z and I screens) + stash (the results from Ctrl-F) + + To colour worn stuff and highlight cursed items, take + menu_colour = inventory:lightred: cursed.*(worn|neck|hand|weapon) + menu_colour = inventory:green:(worn|neck|hand|weapon) + menu_colour = inventory:red: cursed + + To colour identified artefacts, try + menu_colour = inventory:white:( [-+] the) + + If you frequently die because you forget to use emergency items, + try + menu_colour = inventory:cyan:(potions? of heal wounds|blinking) + menu_colour = inventory:lightcyan:wand of (fire|cold|draining) + + To quickly check what potions were trashed by a mummy curse, use + menu_colour = inventory:lightred:potions? of (degeneration|decay) + + If you like to see rotten chunks and corpses at a glance, use + menu_colour = inventory:red: rotting + + menu_colour can also be applied to colour the in-game notes (to + be read with '?:'). The following line will show level ups in + white: + menu_colour = notes:white:Reached XP level + +menu_colour_prefix_id = false + Setting this option to true will prefix the string against which + menu_colour regexes are matched (not the string + displayed) with the item's identification state: "unidentified" + for unidentified, "known" for wands for which you know the type + but don't know the number of charges, and for rings with plusses + for which you know the type but don't know the plus value, and + "identified" for other identified items. + + Note that the prefix is put before the the *entire* string which + is displayed, so if you're wielding an uncursed dagger which has + the 'a' slot, the string the regexes will match against is + "identified a - an uncursed dagger (weapon)". + +menu_colour_prefix_class = false + Setting this option to true will prefix the string against which + menu_colour regexes are matched (not the string displayed) with + the item's object type: armour, weapon, wand, etc. If both this + option and menu_colour_prefix_id are set to true, then the + identification string comes before the object type string (i.e., + "identified weapon", "known wand", etc). + + Note that the prefix is put before the the *entire* string which + is displayed, so if you're wielding a uncursed dagger which has + the 'a' slot, the string the regexes will match against is + "weapon a - an uncursed dagger (weapon)". + +message_colour = :[:] + message_colour allows you to override colours for individual + messages. For instance, if you find the low hp warning to be + insufficiently attention grabbing, you could do something like + message_colour = yellow:LOW HITPOINT WARNING + You can also narrow the message match to a specific channel: + message_colour = lightred:god:xom + If you don't want to see a message at all, you can mute it: + message_colour = mute:You start resting + +4-k Missiles. +----------------- + +fire_items_start = a + Sets the first inventory item to consider when selecting + missiles to fire. The default is a. + +fire_order = inscribed, launcher, return +fire_order += javelin / dart / stone / rock / spear / net / handaxe / dagger +fire_order += inscribed + Controls the order of items autoselected for firing. Items + should be separated by commas and items that appear first get + higher priority. You can use multiple fire_order lines - all + lines but the first must use "fire_order +=". + + Items in any position may be slash-separated to indicate that + these are of equal priority. If this is the case, the first item + in your inventory that fits one of these will be picked for + firing. + + 'inscribed' refers to any item with the "+f" inscription. See + the "Inscriptions" section of the crawl manual for more information + about inscriptions. + + the "Inscriptions" + + 'launcher' refers to firing the appropriate missile for the + wielded weapon (ie crossbow, bow, sling, blowgun). You'll almost + certainly want it first, as it'll be ignored when you're not + wielding a ranged weapon. 'return' refers to (identified) + weapons of returning. + +(See also pickup_thrown in 4-a.) + +4-l Message Channels. +------------------------- + +Crawl communicates to the players with its message window. Every message +belongs to one of the so-called channels. The behaviour of each channel +can be changed with the option + + channel.CHANNEL_NAME = (COLOUR | mute | default | on | off | plain) + +CHANNEL_NAME can currently be one of these: + plain = regular text (and things "uncoloured") + prompt = input prompts to the player + god = messages from the gods + pray = standard praying messages (start/end of prayer) + duration = messages about character spells/effects wearing off + danger = serious threats to the characters existence + food = warnings about food + warning = various other warnings + recovery = recovery from disease/stat loss/poison conditions + talk = monsters talking + talk_visual = monster performing some action that the player sees + intrinsic_gain = level/stat/species power gains + mutation = gain/lose mutations + monster_spell = messages about monsters gesturing or casting spells + monster_enchant = messages pertaining to monster enchantments + monster_damage = messages telling how damaged a monster is + rotten_meat = messages about chunks/corpses becoming rotten + equipment = messages inidcating worn/wielded equipment + floor = messages when looking at or walking over a floor + item + multiturn = indicates long actions (wearing armour, dissecting + etc.) + examine = messages from examine your surroundings + examine_filter = boring messages from examining your surroundings + diagnostics = debugging messages + tutorial = messages from the tutorial + +The channel options are + mute = show no messages from channel (dangerous, be careful!) + default = turn channel on to it's default scheme + alternate = turn channel on to it's alternate "colourful" scheme + on = same as default + plain = make channel the same colour as the "plain" channel + (won't do anything silly like "mute" if plain == mute, + though) + off = same as plain +COLOUR can be any of the colours described in section 6-a (colours +option). + +The only multi-colour channels currently are monster_damage and god. All +other channels are defaulted to on, except for multiturn, which defaults +to mute. +Note that the template init.txt sets + channel.multiturn = on +in order to help new players. You may want to comment out this option, +if the messages are too verbose. + +4-m Inscriptions. +--------------------- + +See the "Inscriptions" section of the crawl manual for more information +about inscriptions. + +autoinscribe = : + Any item whose description contains the regex will be + automatically inscribed (if autopickup is toggled on). For + example, marking all royal jellies and honeycombs eases the Hive + (if food is not in the autopickup option): + autoinscribe = royal jell:=g + autoinscribe = honeycomb:=g + + Another use of autoinscription is making sure that you don't + lose charges of important wands accidentally, as in + autoinscribe = wand of healing:!z + +4-n Macro related Options. +------------------------------ + +flush.failure = true +flush.command = false +flush.message = false + These are useful when using macros. Setting one of these + sub-options to true will cause the entire input buffer to be + dumped and thus effectively stop the macro. The sub-options + currently are + failure -- when spells/abilities get miscast + command -- whenever the game is about to get the next command + message -- whenever the game outputs a non-mute message + +macro_meta_entry = true + macro_meta_entry lets you specify non-printable keycodes like + \{3} when creating a macro. For instance, if you want to keymap + 0 to Escape, you'd use a target keycode of \{27}. + +additional_macro_file = path/to/filename + Add an additional macro file to be loaded after macro.txt. + You can have multiple additional_macro_file lines. + +4-o Tiles Options. +---------------------- +In non-tile games the tile options are ignored. + +show_items = + This option controls the order and presence of items in the tiles + inventory. By default, its value is !?/%=([)X}+\_. The underscore + represents empty slots, the dot items on the floor. + +title_screen = true + When this is set to true, the graphical title screen will be + displayed. + +tile_player_col = white +tile_monster_col = red +tile_neutral_col = red +tile_friendly_col = lightred +tile_item_col = green +tile_unseen_col = black +tile_floor_col = lightgrey +tile_wall_col = darkgrey +tile_mapped_wall_col = blue +tile_door_col = brown +tile_downstairs_col = magenta +tile_upstairs_col = blue +tile_feature_col = cyan +tile_trap_col = yellow +tile_water_col = grey +tile_lava_col = grey +tile_excluded_col = darkcyan + + These options allow configuring the colours used for the minimap of + the dungeon level. + tile_player_col - colour of player position, as well as of + map centre during level map mode ('X') + tile_monster_col - colour of hostile monsters + tile_neutral_col - colour of neutral monsters + tile_friendly_col - colour of friendly monsters + tile_item_col - colour of known or detected items + tile_unseen_col - colour of unseen areas (usually stone) + tile_wall_col - colour of any wall type + tile_mapped_wall_col - colour of walls detected via magic mapping + tile_door_col - colour of known doors, open or closed + tile_downstairs_col - colour of downstairs, including branch stairs + tile_upstairs_col - colour of upstairs, including branch stairs + tile_feature_col - colour of any non-stair feature + (altar, shop, portal, fountain, ...) + tile_trap_col - colour of known traps of any type + tile_water_col - colour of both shallow and deep water + tile_lava_col - colour of lava + tile_excluded_col - colour of squares excluded for autotravel + (will only override tile_floor_col colour) + + +5- Character Dump. +=================== + +5-a Items and Kills. +------------------------ + +The character dump or morgue files end with a list of all monsters that +perished while the character was active. By default, dead monsters are +grouped in three parts: + Vanquished Creatures -- monsters killed by the character + Collateral Kills -- kills of friendly monsters + Others -- all other casualties (e.g. traps, hostile + monsters) + +kill_map = friend:you, other:you + will merge friendly and other kills into the main vanquished + creatures list. Note that the merging is only for display (the + game still maintains three separate lists internally) and that + kill places (see below) may be in the wrong order for merged + entries. The default is an empty list. + +dump_kill_places = (none | all | single) + In the Vanquished Creatures list, this option controls how the + locations of each kill are displayed. Use 'none' to suppress + place display altogether, 'all' to display all known (up to 5) + kill places, anything else to the default of showing kill places + only for single kills + +dump_item_origins = artefacts, rods + The game remembers where you find items. If you want this item + origin memory listed in your dumps, use this option to select + which items get annotated. Available selectors are: + artefacts, ego_arm, ego_weap, jewellery, runes, + rods, staves, books, all, none. + If you use multiple dump_item_origins lines, the last line takes + effect; all preceding lines are ignored. + + If you don't want any items to be annotated, set + dump_item_origins to none, and set dump_item_origin_price to -1. + +dump_item_origin_price = -1 + Item origins are dumped if the price of the item is greater than + or equal to this amount. Set this to -1 to prevent selection by + price. + +dump_message_count = 7 + The number of last messages to be displayed in character dump + files. + +dump_order = header,hiscore,stats,misc,notes,inventory, +dump_order += skills,spells,overview,mutations,messages,screenshot +dump_order += kills + Controls the order of sections in the dump. You can use multiple + dump_order lines - all lines but the first must use + dump_order += + + Two optional dump sections are turns_by_place and + kills_by_place, which add detailed statistics to where turns + were spent and monsters were killed. You can add them to your + dump as: + dump_order += turns_by_place, kills_by_place + +5-b Notes. +-------------- + +Crawl can automatically log certain events during play. You can read +these in the dump or morgue files. Below are options for tweaking this behaviour. +The following events are logged: + - Gaining or losing a level + - Entering a dungeon level for the first time + - Memorizing a spell of higher level than any learned before + - Becoming a worshipper of a god + - Abandoning a god + - Being put under penance and being forgiven + - Receiving a gift from a god (except Xom) + - Being able to invoke a godly power for the first time + - Identifying items (see below) + - Killing OOD or unique monsters (see below) + - Reaching critical HP levels (see below) + - Gaining or losing mutations + - Reaching significant levels in a skill (see below) + - Dying +You can use the command ':' for manually adding notes. + +user_note_prefix = + Prefixes manually added notes with the given string, to make + them easier to find. + +note_items = + When an item is identified, it will be noted if it is an + artefact + (fixed, unrand, or random) or if its short description matches a + regex. E.g. + note_items = rod,book,rune,acquirement + +note_monsters = + Monsters whose name matches an item in this comma-separated list + are considered interesting. You can have multiple note_monsters + lines. E.g. + note_monsters = Klown,orb of fire + +ood_interesting = 8 + Monsters which are out of depth (OOD for short) for their + current level, e.g. a dragon on level 2, will be noted if they + are out of depth by at least ood_interesting levels. To disable + OOD monster noting, set ood_interesting to 500. + Unique monsters are always noted, regardless of this setting. + OOD monsters are only noted in the main dungeon. + +note_hp_percent = 5 + If your HP falls below a certain note_hp_percentage of your max + hit points, a note will be taken. There is some code to avoid + repetitions of notes based on the same incident. + +note_skill_levels = 1,5,13,27 + This sets which skill levels are noteworthy. You can have + multiple note_skill_levels lines. The default is nothing (no + notes.) + +note_all_skill_levels = false + This is a shortcut for note_skill_levels = 1,2,..,27. If you set + this to true, all skill levels are considered noteworthy. + +note_skill_max = false + Setting this option will cause a note whenever a new maximum in + skill levels is reached. If note_skill_max is true and + note_skill_levels is nonempty, notes will be taken whenever + either of the criteria are met. + +note_all_spells = true + Will add a note for each spell memorised. + +note_messages = + Messages which match an item in this comma-separated list are + considered interesting. You can have multiple note_messages + lines. E.g. + note_messages = Something interferes + note_messages = protects you from harm + If you want all banishments to the Abyss noted, use + note_messages = [bB]anish.*Abyss + If you want a note when your draconian scales turn , use + note_messages = Your scales start + + +6- Miscellaneous. +================== + +6-a All OS. +--------------- + +mouse_input = false + When enabled, the mouse_input option allows the game to use + mouse input events on certain platforms (Windows and Unix). + Note that the extent of mouse support varies greatly across + platforms and is strongly influenced by your terminal settings. + + On Unixes, you're only likely to get mouse support working with + ncurses in xterms (specifically your $TERM probably needs to + contain "xterm" for ncurses to activate its mouse events; + if you're running Crawl in GNU screen in an xterm, the mouse + will probably not work). + + On Windows, you'll need to disable QuickEdit Mode on your + console for Crawl to use the mouse (QuickEdit is disabled by + default, so you shouldn't need to change anything if you're + using a stock console). You can disable QuickEdit by + right-clicking the titlebar of your command-prompt, selecting + Properties and disabling QuickEdit in the Options tab. + +wiz_mode = (no | never | yes) + Wizard mode options (available only in WIZARD compiles): + yes -- start games in wizard mode (game will not be scored) + no -- still allows player to enter wizard mode after start + of game + never -- never allow a wizard command to be used + +char_set = (ascii | ibm | dec | unicode) + Chooses different character sets for the game play screen. DOS + and Windows users will want to use the IBM character set, Unix + users will prefer DEC or plain ASCII. + + On Unix, Crawl may be built with Unicode support, in which case + you can use char_set = unicode to use unicode characters in the + map display. + +classic_item_colours = false + Crawl uses 4.0 b26/0.1.x-like item colours if + classic_item_colours is set to true. The default (false) is to + use the new 0.2 item colours. + This option will not affect the colour of existing items, only + items generated after the option is set. + +colour.OLDCOLOUR = NEWCOLOUR + Useful for terminals where some colours are hard to read (and + cannot be adjusted), as well as for creating a custom scheme, + especially when used with the background option on a terminal + with a non-black background. + Format is colour.OLDCOLOUR = NEWCOLOUR, later rules take + preference and the NEWCOLOUR is always literal (ie. it won't + re-evaluate to a different colour). + The colours are: + black, blue, green, cyan, red, magenta, brown, lightgrey, + darkgrey, lightblue, lightgreen, lightcyan, lightred, + lightmagenta, yellow, white + with lightgray = lightgrey, darkgray = darkgrey. Some examples: + colour.lightgray = black + colour.lightcyan = cyan + colour.yellow = brown + +cset_ascii, cset_ibm, cset_dec, cset_unicode, cset_any + Can be used to change individual characters in a specific + character set (the character set used for display is determined + by the char_set option). The syntax is the same for all of + these; cset_any changes characters in all character sets. + +cset_XXX = + a list of these is allowed, as well. + + The possible entries for dungeon_character_name are: + wall, wall_magic, floor, floor_magic, door_open, door_closed, + trap, stairs_down, stairs_up, altar, arch, fountain, wavy, + statue, invis_exposed, item_detected, item_orb, item_weapon, + item_armour, item_wand, item_food, item_scroll, item_ring, + item_potion, item_missile, item_book, item_stave, + item_miscellany, item_corpse, item_gold, item_amulet, cloud + Most of these are self-explanatory. "arch" is used for shops and + portals. "floor_magic" and "wall_magic" are used to display + magic-mapped squares on the level map. "invis_exposed" is the + character for water creatures submerged in shallow water, or + invisible creatures wading in shallow water. + + Symbols can be specified using a letter, or by a number (decimal + code), or a hexadecimal number (prefixed with x): + + For an example on IBM displays, + cset_ibm = wall:219, arch:0, wavy:x7E + shows walls as solid blocks, shops and portals as '0', and water + as '~'. + +feature = { , , , + , , + , } + where is a regular expression describing a dungeon + feature. This regex should match the description when using the + 'x' command. In case the regex matches several descriptions, all + such features are affected. + + The list in {...} specifies the appearance of the dungeon + feature(s), and should be self-explanatory. can be used + to override the above cset options, or also to distinguish among + subtypes of a character. + + 'magic' always refers to magic mapping. So the + entry determines what symbol will be used for features only + detected via magic mapping. + + 'emphasised_colour' refers to the colour used to highlight + unvisited stone stairs; for non-stair features, setting emphasis + colours does nothing useful. + + Leading parameters in the {...} list can be omitted by leaving + them blank and using placeholder commas. Trailing parameters can + be omitted without placeholder commas. + + Multiple feature option lines can be used, as can multiple + feature descriptions strung together on the same line separated + by semicolons. + + Examples: + * Colour rock walls red: + feature = rock wall { , , red } + * Use # for metal walls in all character sets: + feature = metal wall {#} + + Symbols can be specified as with cset: + feature = metal wall {#} + feature = metal wall {35} + feature = metal wall {x23} + all do the same thing. + +mon_glyph = : + The mon_glyph option allows you to customise the symbol and + colour used to display a monster. + + You can customise symbols based on monster names or their + existing symbols. For instance, if you want to put elves on E + and efreeti on e, you can do this: + + mon_glyph = e : E + mon_glyph = E : e + + If you want to change the symbol for a monster that uses a space + as a symbol, specify an underscore on the left: + + mon_glyph = _ : # + + (That changes shades to use #.) + + You can specify a different symbol, or a colour, or both, in any + order. Here are more examples: + + mon_glyph = deep elf annihilator : E lightmagenta + mon_glyph = Xtahua : lightmagenta D + mon_glyph = large zombie : darkgrey + mon_glyph = small simulacrum : x + + (The left hand side of the : is case-sensitive.) + + You can specify symbols using their code points using the syntax + as shown in the "feature" option. If you're using + char_set=unicode, you can use unicode code points: + + mon_glyph = draconian scorcher : x6e9 + + A single _ is treated as a space; if you want a real underscore, + put a \ in front of it like this: + + mon_glyph = player ghost : \_ + +6-b DOS and Windows. +------------------------ + +dos_use_background_intensity = false + On DOS and Windows, if you're using a console that can do + high-intensity background colours, set this option to true for + superior friend-branding. If your console doesn't like this + option, some friendly monsters will appear as blinking + characters (and setting this option to false may be advisable to + preserve your sanity in such cases). + +6-c Unix. +------------- + +background = black + Sets the default background colour by name (defaults to BLACK). + This may be useful if you're using a terminal with a background + colour other than black (such as an xterm), but this option is + still experimental and the results may not be very good. + +use_fake_cursor = false + If true, Crawl draws the cursor explicitly on the level-map and + targeting screens instead of relying on the term to draw the + cursor. Use this if your term cannot show a cursor over + darkgrey/black squares. + + +7- Inline Lua. +=============== + +7-a Executing lua. +---------------------- + +Lua code can be used directly in your init.txt/.crawlrc. You can +execute Lua code using the following syntax. + +: Single line of lua code + +< Possibly multi-line + Lua code > + +{ Possibly multi-line + Lua code } + +In the second and third cases, the restriction is that the delimiter +characters appear at the beginning and end of a line, respectively. +The difference between the <> and {} is when the code gets executed. +Code {}, it is executed right away. Other Lua code is executed only +after the entire init file is read in. + +Examples: + +# Print a welcome message +: crawl.mpr("Hello " .. you.name()) + +< +-- Another welcome message (lua code uses lua comments) +crawl.mpr("Hi there") +> + +{ +function ch_autopickup(it) [ ... body omitted ... ] end +} + +7-b Conditional options. +---------------------------- + +You can use Lua to selectively include parts of your init.txt (based +on character type, for instance) using the same syntax. + +Examples: + +: if you.race() == "Mummy" then +autopickup = $?+"/ +: else +autopickup = $?+"/!% +: end + +: if you.race() == "Hill Orc" then +priest = Beogh +: else +priest = Yredelemnul +: end + +7-c Including external files. +--------------------------------- + +You can use Lua to include options from other files. This is actually +just a particularly useful way to use the previously discussed features. + +Example: + +# Set the monster glyphs back to the way they were in 0.3.4 +: crawl.read_options('docs/034_monster_glyphs.txt') \ No newline at end of file diff --git a/crawl-ref/docs/ssh_guide.txt b/crawl-ref/docs/ssh_guide.txt index fd935c22ec..2742a21b5a 100644 --- a/crawl-ref/docs/ssh_guide.txt +++ b/crawl-ref/docs/ssh_guide.txt @@ -159,4 +159,4 @@ Happy Crawling A note on telnet vs SSH from Rachel Elizabeth Dillon: "Using SSH means that the data is compressed in transit, reducing bandwidth usage and -hopefully making the experience a teensy bit faster as well." +hopefully making the experience a teensy bit faster as well." \ No newline at end of file diff --git a/crawl-ref/docs/tables.txt b/crawl-ref/docs/tables.txt deleted file mode 100644 index c697d3e7a8..0000000000 --- a/crawl-ref/docs/tables.txt +++ /dev/null @@ -1,150 +0,0 @@ -TABLES OF APTITUDES - -The following three tables describe all aptitudes of the various races for the -various skills. These are not necessary for winning in Crawl, neither explicit -nor implicit. The qualitative information behind this sheet (ie. which species -is good at which tasks) can be obtained in two other, less sophisticated ways: -- read the species section in the manual about strengths and weaknesses -- look which combinations of race and class are possible. - -If you consider figuring out such things yourself to be fun, stop reading now. -Otherwise, just go ahead. The lower a value, the better the aptitude. 100 is -the Human standard. Please note that many things affect how quick a character -will actually learn a skill. Thus the numbers below are good enough for -comparisons among races, but not necessarily among skills. - -The abbreviations used for the skills are: - -General skills, Experience Melee and Ranged Combat Spellcasting and Magic --------------------------- ----------------------- ---------------------- -Arm - Armour Fgt - Fighting Spc - Spellcasting -Ddg - Dodging SBl - Short Blades Coj - Conjurations -Sth - Stealth LBl - Long Blades Enc - Enchantments -Stb - Stabbing Axs - Axes Sum - Summonings -Shd - Shields M&F - Maces & Flails Nec - Necromancy -T&D - Traps & Doors Pla - Polearms Trl - Translocations - Stv - Staves Trm - Transmigration -Inv - Invocations U C - Unarmed Combat Div - Divinations -Evo - Evocations - Thr - Throwing Fir - Fire Magic - Slg - Slings Ice - Ice Magic -Exp - Experience Bws - Bows Air - Air Magic - Crb - Crossbows Ear - Earth Magic - Drt - Darts Poi - Poison Magic - - - Arm Ddg Sth Stb Shd T&D Inv Evo Exp ---------------------------------------------------------------------- -Human 100 100 100 100 100 100 100 100 100 -High Elf 110 90 90 110 110 100 100 90 150 -Grey Elf 140 75 70 100 140 100 100 90 140 -Deep Elf 140 70 65 80 140 100 100 90 140 -Sludge Elf 140 70 75 100 130 100 100 110 120 -Mountain Dwarf 60 110 150 130 70 80 100 60 130 -Hill Orc 90 140 150 100 80 100 100 100 100 -Merfolk 160 60 90 70 100 120 100 100 120 -Halfling 150 70 60 70 130 100 100 90 100 -Gnome 150 70 70 80 120 70 120 60 110 -Kobold 140 70 60 70 130 100 100 80 100 -Spriggan 170 50 50 50 180 60 130 70 130 -Naga 150 150 40 100 140 100 100 100 120 -Centaur 180 170 200 170 180 150 100 130 140 -Ogre 140 150 200 150 110 200 130 170 140 -Ogre-Mage 170 130 100 130 150 150 100 100 150 -Troll 150 130 250 150 150 200 150 180 150 -Minotaur 80 80 130 100 80 120 130 170 140 -Kenku 90 90 100 80 100 100 160 100 130 -Draconian Red 200 120 120 100 100 100 100 100 130 - White 200 120 120 100 100 100 100 100 130 - Green 200 120 120 100 100 100 100 100 130 - Yellow 200 120 120 100 100 100 100 100 130 - Grey 200 120 120 100 100 100 100 100 130 - Black 200 120 120 100 100 100 100 100 130 - Purple 200 120 120 100 100 100 100 90 130 - Mottled 200 120 120 100 100 100 100 100 130 - Pale 200 120 120 100 100 100 100 90 130 -Demigod 110 110 110 110 110 110 110 110 160 -Demonspawn 110 110 110 110 110 110 80 110 140 -Mummy 140 140 140 140 140 140 140 140 150 -Ghoul 110 110 80 100 110 120 110 130 120 -Vampire 140 90 50 90 110 100 160 100 150 ---------------------------------------------------------------------- - Arm Ddg Sth Stb Shd T&D Inv Evo Exp - - - Fgt SBl LBl Axs M&F Pla Stv U C Thr Slg Bws Crb Drt ---------------------------------------------------------------------- -Human 100 100 100 100 100 100 100 100 100 100 100 100 100 -High Elf 100 70 70 130 150 150 100 130 80 140 60 100 90 -Grey Elf 140 90 95 140 160 160 100 130 80 130 70 100 90 -Deep Elf 150 100 105 150 165 165 100 130 80 135 75 75 75 -Sludge Elf 80 110 110 130 140 140 100 80 70 100 100 100 100 -Mountain Dwarf 70 80 90 65 70 110 120 100 120 120 150 90 120 -Hill Orc 70 100 80 70 80 80 110 90 100 130 120 120 130 -Merfolk 80 70 90 140 150 50 130 90 100 150 140 140 100 -Halfling 120 60 100 120 150 160 130 140 60 50 70 90 50 -Gnome 100 75 100 100 130 140 130 110 100 80 100 90 60 -Kobold 80 60 100 110 140 150 110 100 60 70 80 90 50 -Spriggan 150 90 140 150 160 180 150 130 90 70 70 100 70 -Naga 100 100 100 100 100 100 120 100 120 120 120 120 120 -Centaur 100 120 110 110 110 110 110 100 60 75 60 85 80 -Ogre 100 140 120 100 100 110 120 130 100 150 150 180 150 -Ogre-Mage 100 110 100 100 100 100 100 100 150 150 150 150 150 -Troll 140 150 150 150 130 150 150 100 130 180 180 180 180 -Minotaur 70 70 70 70 70 70 70 80 90 90 90 90 90 -Kenku 100 75 75 75 75 75 75 80 90 100 80 80 90 -Draconian Red 90 100 100 100 100 100 100 100 120 120 120 120 120 - White 90 100 100 100 100 100 100 100 120 120 120 120 120 - Green 90 100 100 100 100 100 100 100 120 120 120 120 120 - Yellow 90 100 100 100 100 100 100 100 120 120 120 120 120 - Grey 90 100 100 100 100 100 100 100 120 120 120 120 120 - Black 90 100 100 100 100 100 100 100 120 120 120 120 120 - Purple 90 100 100 100 100 100 100 100 120 120 120 120 120 - Mottled 90 100 100 100 100 100 100 100 120 120 120 120 120 - Pale 90 100 100 100 100 100 100 100 120 120 120 120 120 -Demigod 110 110 110 110 110 110 110 110 110 110 110 110 110 -Demonspawn 100 110 110 110 110 110 110 110 110 110 110 110 110 -Mummy 100 140 140 140 140 140 140 140 140 140 140 140 140 -Ghoul 80 110 110 110 110 110 110 80 130 130 130 130 130 -Vampire 110 90 100 110 140 110 140 90 140 140 140 140 140 ---------------------------------------------------------------------- - Fgt SBl LBl Axs M&F Pla Stv U C Thr Slg Bws Crb Drt - - - Spc Coj Enc Sum Nec Trl Trm Div Fir Ice Air Ear Poi ---------------------------------------------------------------------- -Human 100 100 100 100 100 100 100 100 100 100 100 100 100 -High Elf 70 90 70 110 130 90 90 110 100 100 70 130 130 -Grey Elf 60 90 50 90 130 80 80 80 90 90 60 150 110 -Deep Elf 55 80 50 80 70 75 75 75 90 90 80 100 80 -Sludge Elf 70 130 130 90 90 100 60 130 80 80 80 80 80 -Mountain Dwarf 160 120 150 150 160 150 120 130 70 130 150 70 130 -Hill Orc 150 100 120 120 100 150 160 160 100 100 150 100 110 -Merfolk 100 140 90 100 150 140 60 80 160 80 150 150 80 -Halfling 130 130 100 120 150 100 150 140 100 100 90 100 120 -Gnome 120 100 100 110 130 130 120 120 100 100 170 60 130 -Kobold 110 110 110 105 105 100 110 130 100 100 100 100 100 -Spriggan 60 160 50 150 120 50 60 70 140 140 120 120 100 -Naga 100 100 100 100 100 100 100 100 100 100 100 100 60 -Centaur 140 120 110 120 120 120 120 130 120 120 120 120 130 -Ogre 220 180 220 200 150 200 200 200 150 150 200 120 150 -Ogre-Mage 70 100 80 100 100 100 100 100 100 100 100 100 100 -Troll 200 160 200 160 150 160 160 200 160 160 200 120 160 -Minotaur 180 170 170 170 170 170 170 170 170 170 170 170 170 -Kenku 100 60 160 70 80 150 150 180 90 120 90 120 100 -Draconian Red 100 100 120 100 100 100 100 100 70 135 100 100 100 - Green 100 100 120 100 100 100 100 100 100 100 100 100 70 - White 100 100 120 100 100 100 100 100 135 70 100 100 100 - Yellow 100 100 120 100 100 100 100 100 100 100 100 100 100 - Grey 100 100 120 100 100 100 100 100 100 100 100 100 100 - Black 100 100 120 100 100 100 100 100 100 100 70 135 100 - Purple 70 100 90 100 100 100 100 100 100 100 100 100 100 - Mottled 100 100 120 100 100 100 100 100 80 100 100 100 100 - Pale 100 100 120 100 100 100 100 100 90 100 90 100 100 -Demigod 110 110 110 110 110 110 110 110 110 110 110 110 110 -Demonspawn 100 100 110 100 90 110 110 110 100 110 110 110 100 -Mummy 100 140 140 140 100 140 140 140 140 140 140 140 140 -Ghoul 120 130 130 120 100 120 120 120 150 90 150 90 100 -Vampire 100 160 90 100 90 140 90 120 140 100 100 120 120 ---------------------------------------------------------------------- - Spc Coj Enc Sum Nec Trl Trm Div Fir Ice Air Ear Poi diff --git a/crawl-ref/source/command.cc b/crawl-ref/source/command.cc index 485df76827..fdadcd010d 100644 --- a/crawl-ref/source/command.cc +++ b/crawl-ref/source/command.cc @@ -636,11 +636,11 @@ struct help_file }; help_file help_files[] = { - { "crawl_manual.txt", '*', true }, - { "tables.txt", '%', false }, - { "readme.txt", '^', false }, - { "crawl_macros.txt", '~', false }, - { "crawl_options.txt", '!', false }, + { "crawl_manual.txt", '*', true }, + { "aptitudes.txt", '%', false }, + { "readme.txt", '^', false }, + { "macros_guide.txt", '~', false }, + { "options_guide.txt", '!', false }, { NULL, 0, false } }; diff --git a/crawl-ref/source/dat/database/monspeak.txt b/crawl-ref/source/dat/database/monspeak.txt index a8642897a8..876aa4693e 100644 --- a/crawl-ref/source/dat/database/monspeak.txt +++ b/crawl-ref/source/dat/database/monspeak.txt @@ -584,6 +584,22 @@ VISUAL:@The_monster@ smiles happily. VISUAL:@The_monster@ looks friendly. ## END friendly humanoid ## +%%%% +pauses_or_stops + +pauses + +stops +%%%% +hound + +@The_monster@ @pauses_or_stops@ to sniff the @surface@. +%%%% +friendly hound + +@The_monster@ wags @possessive@ tail. + +@hound@ %%%% default insect diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc index 430fb30a1a..0b4b91092d 100644 --- a/crawl-ref/source/tutorial.cc +++ b/crawl-ref/source/tutorial.cc @@ -268,7 +268,7 @@ static formatted_string tut_starting_info(unsigned int width) "A very short guide to Crawl." EOL " crawl_manual.txt - " "This contains all details on races, magic, skills, etc." EOL - " crawl_options.txt - " + " options_guide.txt - " "Crawl's interface is highly configurable. This document " EOL " explains all the options." EOL EOL @@ -730,7 +730,7 @@ void tutorial_finished() break; case 2: text = "The interface can be greatly customised. All options are " - "explained in the file crawl_options.txt which " + "explained in the file options_guide.txt which " "can be found in the docs directory. The " "options themselves are set in init.txt or " ".crawlrc. Crawl will complain if it can't " -- cgit v1.2.3-54-g00ecf