diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/docs/crawl_options.txt | 1395 | ||||
-rw-r--r-- | crawl-ref/init.txt | 124 | ||||
-rw-r--r-- | crawl-ref/source/chardump.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/effects.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/externs.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/initfile.cc | 20 | ||||
-rw-r--r-- | crawl-ref/source/item_use.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/item_use.h | 23 | ||||
-rw-r--r-- | crawl-ref/source/items.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mstuff2.cc | 2 |
10 files changed, 850 insertions, 731 deletions
diff --git a/crawl-ref/docs/crawl_options.txt b/crawl-ref/docs/crawl_options.txt index b337b2ad62..e84aaf4eec 100644 --- a/crawl-ref/docs/crawl_options.txt +++ b/crawl-ref/docs/crawl_options.txt @@ -1,8 +1,8 @@ -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). +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: @@ -14,8 +14,9 @@ The contents of this text are: 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 + 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, @@ -28,8 +29,8 @@ The contents of this text are: detected_monster_colour, detected_item_colour, remembered_monster_colour, colour_map, clean_map 4-d Branding (Item and Monster Highlighting). - heap_brand, friend_brand, stab_brand, may_stab_brand, - stair_item_brand, trap_item_brand + friend_brand, stab_brand, may_stab_brand, + heap_brand, stair_item_brand, trap_item_brand 4-e Level Map Functions. level_map_cursor_step, level_map_title, item_colour 4-f Viewport Display Options. @@ -39,32 +40,32 @@ The contents of this text are: scroll_margin 4-g Travel and Exploration. travel_delay, travel_avoid_terrain, - travel_stop_message, explore_greedy, explore_stop, - runrest_ignore_message, runrest_ignore_poison, - runrest_ignore_monster, - trapwalk_safe_hp, tc_reachable, - tc_dangerous, tc_excluded, tc_exclude_circle + explore_greedy, explore_stop, tc_reachable, + tc_dangerous, 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 4-i Command Enhancements. - auto_list, easy_open, easy_butcher, always_confirm_butcher, - easy_unequip, easy_confirm, easy_quit_item_prompts, - easy_exit_menu, default_autoprayer, sort_menus + 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, - delay_message_clear, menu_colour, menu_colour_prefix_id, - menu_colour_prefix_class, message_colour, + delay_message_clear, message_colour, show_inventory_weights, show_turns, show_beam, - item_stack_summary_minimum + item_stack_summary_minimum, 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 - + 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. @@ -74,14 +75,15 @@ The contents of this text are: kill_map, dump_kill_places, dump_item_origins, dump_item_origin_price, dump_message_count, dump_order 5-b Notes. - note_items, ood_interesting, note_hp_percent, - note_skill_levels, note_skill_max, note_monsters, - note_messages, note_all_spells + 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. - macro_meta_entry, mouse_input, wiz_mode, colours, - char_set, cset_ascii, cset_ibm, cset_dec, cset_unicode, - feature, mon_glyph, classic_item_colours + macro_meta_entry, 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 @@ -128,84 +130,87 @@ For long option names, you can define option aliases by doing: For instance, you can use: ae := autopickup_exceptions and thereafter use "ae" instead of "autopickup_exceptions": - ae = >decay, >degeneration + 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. -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. +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 = false - 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. +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. + 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. 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. + 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. + 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 | random) +priest = (Zin | Yredelemnul | Beogh | random) The above three make in advance the additional choices for - Chaos Knights, Death Knights, and Priests. + Chaos Knights, Death Knights, and Priests (Beogh for HO only). race = (Human |...| Merfolk | random) - The usual abbreviations (Hu, El, HE, etc.) work. + 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. + The above options (weapons and class options) will override + where appropriate. 2- File System. ================ -crawl_dir= <path> - Directory for reading macro.txt and init.txt, and dumping characters. +crawl_dir = <path> + Directory for reading macro.txt. It should end with the path delimiter. -morgue_dir = <path> - Directory where morgue dumps (morgue*.txt and morgue*.lst) files are - written. +morgue_dir = morgue + Directory where morgue dumps files (morgue*.txt and + morgue*.lst) as well as character dumps files are written. -save_dir = <path> - 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. +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 = <regex>:<path to sound file> - 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 + 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. + roguelikes or old computer RPGs. Alternatively, ask for help + in the newsgroup rec.games.roguelike.misc. 3- Lua files. @@ -222,22 +227,27 @@ Lua files are included using the lua_file option (one file per line): lua_file = <path/name.lua> 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'), - artifacts ('artifact'), and ego items ('ego'). + 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 + 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. + trapwalk.lua -- allows travel to cross certain traps if you have + enough HP. Also see section 7 on inline Lua fragments. @@ -261,135 +271,145 @@ autopickup = $?!+"/% + or : Books \ or | Staves 0 Orbs - } Misc items + } 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. + 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 = <pickup-regex, >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. + 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 = <curare-tipped needle - Forces autopickup to grab all curare-tipped needles, even if missiles - are not set in the "autopickup" option. + autopickup_exceptions = <curare-tipped needle + Forces autopickup to grab all curare-tipped needles, even if + missiles are not set in the "autopickup" option. - Whitespace between <> and the match expression is significant, so this - is a mistake: - autopickup_exceptions = < ebony casket + Whitespace between <> 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 = >decay, >degeneration + autopickup_exceptions = >uselessness, >inaccuracy is the same as using - ban_pickup = decay, degeneration + 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 = decay, degeneration + 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 = degeneration, decay, potions? of confusion, - autopickup_exceptions = potions? of slowing, potions? of paralysis - autopickup_exceptions = potions? of strong poison,potions? of poison - autopickup_exceptions = inaccuracy - autopickup_exceptions = scrolls? of paper, immolation, curse armour, - autopickup_exceptions = curse weapon, forgetfulness, uselessness, - autopickup_exceptions = noise, torment + 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. + 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.) + 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 you can see - monsters. + 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. + 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. + 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. + 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). + 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 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. + 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. + 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. + 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 = <regex> - 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. + 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 sacrifice - regularly all weapons except axes, use: - drop_filter = axe, broadaxe + 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). + 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. + 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 also target_los_first below. + 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. + 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 @@ -397,8 +417,8 @@ default_target = true 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. + 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 @@ -415,27 +435,24 @@ target_unshifted_dirs = false If you use target_unshifted_dirs, default_target will be automatically disabled. - 4-c Passive Sightings (via detection and remembrance). ----------------------------------------------------------- -detected_monster_colour = darkgrey - Monsters found by detect creatures will be coloured this colour; e.g. - detected_monster_colour = lightred +detected_monster_colour = lightred + Monsters found by detect creatures will be coloured this colour. -detected_item_colour = darkgrey - Items found by detect items will be given this colour, for example - detected_item_colour = green +detected_item_colour = green + Items found by detect items will be given this colour. 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. + 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). ------------------------------------------------- @@ -443,42 +460,50 @@ 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 + 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" + 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, no brands are active apart from stair_item_brand. +See part Technical (6-) for dos_use_background_intensity under Windows +and DOS. -heap_brand = none - Brand heaps of items (more than one item or stack). For example - heap_brand = reverse +By default, only two of the item brands are active (and set to reverse): + heap_brand, stair_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. + 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. 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 + 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). + stair_item_brand = reverse Brands stairs that would otherwise be hidden by items. If you use this brand, the items on the square are hidden by the stair @@ -497,12 +522,12 @@ level_map_cursor_step = 7 Shift-direction or * direction. level_map_title = true - Whether to show the level name at the top of the level map screen. + 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 -------------------------------- @@ -574,217 +599,252 @@ 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. + 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 + 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 = false + 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,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 *not* cumulative! The + last explore_stop line will override all previous explore_stop + lines. + +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 = <list of regexes> - 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 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: + 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: + 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. -explore_greedy = false - 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,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 *not* cumulative! The last explore_stop line - will override all previous explore_stop lines. - runrest_ignore_message = <string> - This only works if runrest.lua has been sourced already 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 + 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 = <poison damage>:<minimum hp> - This only works if runrest.lua has been sourced already 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 + 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 = <string>:<distance> - This only works if runrest.lua has been sourced already in init.txt. + 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. + considered safe for travel, explore and resting as long as the + distance is at least 3. trapwalk_safe_hp = <trap_name>:<minimum_hp>, ... - This only works if trapwalk.lua has been sourced already 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, + 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 -tc_reachable = blue -tc_dangerous = cyan -tc_excluded = lightmagenta -tc_exclude_circle = red - The above four 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. - excluded: the colour for the centre of travel exclusions (Ctrl-X) - excluded_circle: the colour for travel exclusions apart from centre - - 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 + 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. - + 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 = <list of numbers> + 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. + 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_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. + 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 | all) Make confirmation questions easier to answer: - none = force capitals on Y/N questions - safe = force only on questions that will end game (default) - all = never force capitals - WARNING TO KEYPAD USERS: The number 7 is mapped to the letter 'y', - which can result in accidentally answering yes to questions; it is - suggested that you use a value of 'none' or 'safe' + none = force capitals on Y/N questions + safe = force only on questions that will end game (default) + all = never force capitals + WARNING TO KEYPAD USERS: The number 7 is mapped to the letter + 'y', which can result in accidentally answering yes to + questions; it is suggested that you use a value of 'none' or + 'safe' + +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. + 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. + 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. + 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 + 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). + 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 = 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. + 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. + 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 + 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, @@ -797,21 +857,21 @@ sort_menus = [menu:](true | false | auto:X)[:sort_order] * 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". + "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 describe above are "brass ring" and - "ring of fire resistance", respectively. + 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.) + 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 @@ -839,23 +899,23 @@ sort_menus = [menu:](true | false | auto:X)[:sort_order] * 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. + 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 + 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". + 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 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 + sort_menus = pickup: true or - sort_menus = inv: true + sort_menus = inv: true (Menu types must be specified as name:, with no space between name and colon.) @@ -869,47 +929,74 @@ sort_menus = [menu:](true | false | auto:X)[:sort_order] 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. + 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). + 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). + 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. + 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. 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). + 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. menu_colour = <match>:<colour>:<regex> 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, or 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 <match>: part, then all - listings are used. Possible values for match are: + 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 <match>: + part, then all listings are used. Possible values for match are: ability (the A screen) description (the \ screen) equip (the [, (, ), " screens) @@ -928,9 +1015,10 @@ menu_colour = <match>:<colour>:<regex> 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|teleportation) - menu_colour = inventory:lightcyan:(blinking|wand of (fire|cold|draining)) + 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) @@ -938,13 +1026,14 @@ menu_colour = <match>:<colour>:<regex> 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 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 + 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 @@ -959,10 +1048,10 @@ menu_colour_prefix_id = false 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). + 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 @@ -970,38 +1059,14 @@ menu_colour_prefix_class = false "weapon a - an uncursed dagger (weapon)". message_colour = <colour>:[<channel>:]<regex> - 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 + 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 + 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 - -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. + message_colour = mute:You start resting 4-k Missiles. ----------------- @@ -1009,32 +1074,34 @@ item_stack_summary_minimum = 5 fire_items_start = c Sets the first inventory item to consider. Default is c. -fire_order = launcher, dart / stone / dagger, spear, handaxe, club - The list should be on one line of items, with commas between items. - Items that appear first get higher priority. - - Items in any position may be slash-separated to indicate that these - are of equal priority. In the example, darts, stones and daggers are - at the same priority, so the first item in your inventory that is - one of these will be picked for firing. - - '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. The default is +fire_order = launcher, return, +fire_order += javelin / dart / stone / rock / spear / net / handaxe + 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. - fire_order = launcher, javelin / dart / stone / spear + '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 A.4a.> +(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 +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.CHANNEL_NAME = (COLOUR | mute | default | on | off | plain) CHANNEL_NAME can currently be one of these: plain = regular text (and things "uncoloured") @@ -1047,16 +1114,18 @@ CHANNEL_NAME can currently be one of these: warning = various other warnings recovery = recovery from disease/stat loss/poison conditions talk = monsters talking - talk_visual = monster performing some action which the player sees + 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 and casting spells - monster_enchant = messages pertaining to monster enchantments (up or down) + 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.) + 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 @@ -1068,23 +1137,26 @@ The channel options are 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) + (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). +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. +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. + 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. --------------------- -In Crawl, items can be manually inscribed with the '{' command. This adds a -note in curly braces to the item inscription. Several inscriptions are -functional, namely all containing one of the following +In Crawl, items can be manually inscribed with the '{' command. This +adds a note in curly braces to the item inscription. Several +inscriptions are functional, namely all containing one of the following @w9 -- now typing 'w9' will wield this item @*9 -- now any action command followed by '9' will use this item !w -- before wielding this item, Crawl will ask for confirmation @@ -1095,27 +1167,29 @@ functional, namely all containing one of the following skipped, and none of the items sacrificed. =p -- Nemelex Xobeh worshippers will be prompted before sacrificing this particular item; if the answer is "no", - then Crawl will go on to sacrifice further items in the stack. + then Crawl will go on to sacrifice further items in the + stack. =g -- item will be picked up automatically if autopickup is on =k -- item will be ignored in all listings on the ground - (it can still be picked up if it's the only item on the ground) + (it can still be picked up if it's the only item on the + ground) =s -- If stash tracking is explicit, then dropping this item will cause a stash to automatically be marked. -(in the example 'w' could be any sensible command and '9' could be any digit). -An item may contain more than one shortcut. -autoinscribe = <regex>:<inscription> - 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 +In the example, 'w' could be any sensible command and '9' could be any +digit. An item may contain more than one shortcut. - Another use of autoinscription is making sure that you don't lose - charges of important wands accidentally, as in - autoinscribe = wand of healing:!z +autoinscribe = <regex>:<inscription> + 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. ------------------------------ @@ -1123,12 +1197,13 @@ autoinscribe = <regex>:<inscription> 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 + 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 5- Character Dump. @@ -1138,71 +1213,73 @@ flush.message = false ------------------------ 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: +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. + 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 = artifacts, 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: - artifacts, ego_arm, ego_weap, jewellery, runes, + 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. + 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 = 100 - 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_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. + 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 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. +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 + - 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) @@ -1210,7 +1287,7 @@ The following events are logged: - Reaching critical HP levels (see below) - Gaining or losing mutations - Reaching significant levels in a skill (see below) - - Dying + - Dying You can use the command ':' for manually adding notes. user_note_prefix = <string> @@ -1218,76 +1295,81 @@ user_note_prefix = <string> them easier to find. note_items = <regexes> - When an item is identified, it will be noted if it is an artifact - (fixed, unrand, or random) or if its short description matches a regex. - E.g. - note_items = rod,book,rune,acquirement + 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 = <regex list> + 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; the default is 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 HP, a - note will be taken. There is some code to avoid repetitions of notes - based on the same incident. + 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.) + 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 noteworthy. + 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_monsters = <regex list> - 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 + 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 = <regex list> 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 + 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 + note_messages = [bB]anish.*Abyss If you want a note when your draconian scales turn <colour>, use - note_messages = Your scales start + note_messages = Your scales start -note_all_spells = true - Will add a note for each spell memorised. 6- Miscellaneous. -============== +================== 6-a All OS. --------------- 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}. + 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}. mouse_input = false - When enabled, the mouse_input option allows the game to use + 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. + 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; + 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). @@ -1298,14 +1380,37 @@ mouse_input = false 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). + 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, @@ -1315,169 +1420,149 @@ colour.OLDCOLOUR = NEWCOLOUR colour.lightcyan = cyan colour.yellow = brown -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. - 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. + 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 = <dungeon_character_name : symbol> 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 + 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. + 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): + 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 - '~'. + cset_ibm = wall:219, arch:0, wavy:x7E + shows walls as solid blocks, shops and portals as '0', and water + as '~'. feature = <regex> { <symbol>, <magicmap symbol>, <view colour>, <levelmap_magic_colour>, <levelmap_seen_colour>, <emphasised_colour>, <levelmap_emphasised_colour> } - where <regex> 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. + where <regex> 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. <symbol> can be used to override the - above cset options, or also to distinguish among subtypes of a - character. + The list in {...} specifies the appearance of the dungeon + feature(s), and should be self-explanatory. <symbol> 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 <magicmap symbol> entry - determines what symbol will be used for features only detected via - magic mapping. + 'magic' always refers to magic mapping. So the <magicmap symbol> + 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. + 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. + 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. + 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 } + feature = rock wall { , , red } * Use # for metal walls in all character sets: - feature = metal wall {#} + feature = metal wall {#} Symbols can be specified as with cset: - feature = metal wall {#} - feature = metal wall {35} - feature = metal wall {x23} + feature = metal wall {#} + feature = metal wall {35} + feature = metal wall {x23} all do the same thing. mon_glyph = <monster name or symbol> : <colour> <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: + 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 + 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: + 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 = _ : # + 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: + 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 + 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 + 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 + 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 : \_ - -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. + 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). + 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 = <colour> - 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. +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. + 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- Inline Lua +============== -Lua code can be used directly in your init.txt/.crawlrc. You can use -Lua to selectively include parts of your init.txt (based on character -type, for instance) using this syntax: +Lua code can be used directly in your init.txt/.crawlrc. You can use Lua +to selectively include parts of your init.txt (based on character type, +for instance) using this syntax: < Lua code > or @@ -1503,3 +1588,11 @@ autopickup = $?+"/ : else autopickup = $?+"/!% : end + + or + +: if you.race() == "Hill Orc" then +priest = Beogh +: else +priest = Yredelemnul +: end diff --git a/crawl-ref/init.txt b/crawl-ref/init.txt index 8a4876a3bd..ccfc49d0f8 100644 --- a/crawl-ref/init.txt +++ b/crawl-ref/init.txt @@ -14,15 +14,15 @@ # cases (the character's name and specifying files or directories when # on a system that has case-sensitive filenames). # -# White space is stripped from the beginning and end of the line, as well -# as immediately before and after the '='. If the option allows multiple -# comma/semicolon-separated terms (such as autopickup_exceptions), all -# whitespace around the separator is also trimmed. All other whitespace -# is left intact. +# White space is stripped from the beginning and end of the line, as +# well as immediately before and after the '='. If the option allows +# multiple comma/semicolon-separated terms (such as +# autopickup_exceptions), all whitespace around the separator is also +# trimmed. All other whitespace is left intact. # # For descriptions concerning an option consult the file # crawl_options.txt -# in your crawl/doc directory. Also note that the ordering of the options +# in your docs directory. Also note that the ordering of the options # is taken from that file; this is for presentational reasons only. # # Note that all boolean options (i.e. values of 'true' or 'false') have @@ -34,20 +34,20 @@ ##### 1- Starting Screen ############################################ # # name = Delilah -# remember_name = true +# remember_name = false # weapon = (random | short sword | hand axe | spear | mace | trident) # chaos_knight = (Xom | Makhleb | random) # death_knight = (necromancy | Yredelemnul | random) -# priest = (Zin | Yredelemnul | random) -# race = (Human |...| Merfolk | random) +# priest = (Zin | Yredelemnul | Beogh | random) +# race = (Human |...| Merfolk | random) # class = (Fighter |...| Wanderer | random) # random_pick = true ##### 2- File System ############################################### # -# crawl_dir= <path> -# morgue_dir = morgues -# save_dir = saves +# crawl_dir = <path> +# morgue_dir = morgue +# save_dir = saves # sound = <regex>:<path to sound file> ##### 3- Lua Files ################################################# @@ -66,14 +66,14 @@ lua_file = lua/pickup.lua ##### 4-a Picking up and Dropping ############### # # autopickup = $?!+"/% +# autopickup_exceptions = scrolls? of random uselessness +# autopickup_exceptions = <deck of cards +# # default_autopickup = false # autopickup_no_burden = true # pickup_thrown = false # pickup_dropped = true -# assign_item_slot = backward -# -# autopickup_exceptions = scrolls? of random uselessness -# autopickup_exceptions = <deck of cards +# assign_item_slot = (forward | backward) # # drop_mode = (multi | single) # pickup_mode = (single | multi | auto:5) @@ -89,19 +89,19 @@ lua_file = lua/pickup.lua ##### 4-c Passive Sightings ##################### # -detected_monster_colour = lightred -detected_item_colour = green +# detected_monster_colour = lightred +# detected_item_colour = green # colour_map = false # clean_map = true ##### 4-d Branding ############################## # -heap_brand = reverse -friend_brand = hi:green -stab_brand = hi:blue -# may_stab_brand = hi:yellow +friend_brand = hi:green +stab_brand = hi:blue +# may_stab_brand = hi:yellow +# heap_brand = reverse # stair_item_brand = reverse -# trap_item_brand = reverse +# trap_item_brand = none ##### 4-e Level Map Functions ################### # @@ -112,10 +112,14 @@ stab_brand = hi:blue ##### 4-f Viewport Options ################### # view_max_width = 33 # view_max_height = 17 +# view_lock_x = false +# view_lock_y = false # view_lock = false # center_on_scroll = true # symmetric_scroll = false -# scroll_margin = 4 +# scroll_margin_x = 2 +# scroll_margin_y = 2 +# scroll_margin = 2 ##### 4-g Travel and Exploration ################# # @@ -123,17 +127,18 @@ stab_brand = hi:blue # travel_avoid_terrain = shallow water # # explore_greedy = true -# explore_stop = items,stairs,shops,altars,gates +# explore_stop = items,stairs,shops,altars,gates -# tc_reachable = blue -# tc_dangerous = cyan -# tc_excluded = lightmagenta +# tc_reachable = blue +# tc_dangerous = cyan +# tc_disconnected = darkgrey +# tc_excluded = lightmagenta # tc_exclude_circle = red # The following options are not default. Uncommenting activates them. # -# stop_travel = Something appears -# stop_travel = god:wrath finds you +# travel_stop_message = Something appears +# travel_stop_message = god:wrath finds you # runrest_ignore_message = prayer ends # runrest_ignore_message = You feel.*sick # runrest_ignore_poison = 4:100 @@ -144,34 +149,33 @@ stab_brand = hi:blue # # stash_tracking = (all | explicit | dropped) # stash_filter = 14, 4:21 +# annotate_item_class = true ##### 4-i Command Enhancements ################## # -# auto_list = false -# easy_open = false -# easy_butcher = false -# always_confirm_butcher = true +# auto_list = false +# easy_open = false # easy_unequip = false # easy_confirm = (none | safe | all) +# easy_butcher = false +# always_confirm_butcher = true # easy_quit_item_prompts = false -# easy_exit_menu = true +# easy_exit_menu = false # default_autoprayer = true # sort_menus = pickup: true : basename, qualname, curse, qty ##### 4-j Messages and Display Enhancements ##### # # hp_warning = 10 -# mp_warning = 10 +# mp_warning = 0 # hp_colour = lightgrey, 50:yellow, 25:red # mp_colour = lightgrey, 50:yellow, 25:red -# delay_message_clear = true +# delay_message_clear = true # show_inventory_weights = true # show_turns = true -# show_beam = true -# item_stack_summary_minimum = 500 -# menu_colour_prefix_id = true -# menu_colour_prefix_class = true +# show_beam = true +# item_stack_summary_minimum = 5 # Colouring for the inventory menu_colour = inventory:lightred: cursed.*(worn|neck|hand|weapon)\) @@ -185,6 +189,9 @@ menu_colour = inventory:white:( [-+] the) # These lines will colour ego items; they require that # menu_colour_prefix_id and menu_colour_prefix_class be set to true +# menu_colour_prefix_id = true +# menu_colour_prefix_class = true + # menu_colour = inventory:green:(^identified armour .* pair of .* of ) # menu_colour = inventory:lightgrey:(^identified armour .* pair of ) # menu_colour = inventory:green:(^identified (weapon|armour) .* of ) @@ -195,7 +202,8 @@ menu_colour = notes:white:Reached XP level # Message colours message_colour = lightcyan:LOW MAGIC WARNING -# These lines will suppress extra feedback messages from travel/shift-running. +# These lines will suppress extra feedback messages from +# travel/shift-running. # message_colour = mute:warning:comes into view # message_colour = mute:You start (searching|resting) @@ -206,7 +214,8 @@ message_colour = lightcyan:LOW MAGIC WARNING ##### 4-k Firing Commands ####################### # # fire_items_start = c -# fire_order = launcher, dart / stone / javelin, dagger, spear, handaxe, club +# fire_order = launcher, return, dart / stone / javelin, +# fire_order += dagger, spear, handaxe, club ##### 4-l Channels ############################## # @@ -229,48 +238,51 @@ message_colour = lightcyan:LOW MAGIC WARNING # kill_map = friend:you, other:you # dump_kill_places = (single | all | none) # dump_item_origins = all,artifacts,ego_arm,ego_weap,jewellery,runes -# dump_item_origin_price = 100 +# dump_item_origin_price = -1 # dump_message_count = 7 -# dump_order = header,hiscore,stats,misc,notes,inventory,turns_by_place, -# dump_order += skills,spells,overview,mutations,messages,screenshot -# dump_order += kills_by_place,kills +# dump_order = header,hiscore,stats,misc,notes,inventory, +# dump_order += turns_by_place,skills,spells,overview,mutations, +# dump_order += messages,screenshot,kills_by_place,kills ##### 5-b Notes ################################# # # user_note_prefix=@@@ # note_items = rod,book,rune +# note_monsters = orb of fire # ood_interesting = 8 # note_hp_percent = 5 # note_skill_levels = 1,5,10,15,27 -# note_skill_max = true +# note_all_skill_levels = true +# note_skill_max = true +# note_all_spells = true # The following takes a note whenever the Abyss is left: # note_messages = You pass through the gate -##### 6- Miscellaneous ################################################# +##### 6- Miscellaneous ############################################# # ##### 6-a All OS ################################ # # macro_meta_entry = false # mouse_input = true +# wiz_mode = no +# char_set = ascii +# +# classic_item_colours = true # # colour.lightgray = black # colour.lightcyan = cyan # colour.yellow = brown # -# use_ascii = ascii -# wiz_mode = no -# -# classic_item_colours = true -# # See crawl_options.txt for the options -# char_set, cset_ascii, cset_ibm, cset_dec, cset_unicode, -# cset_any, feature, mon_glyph +# cset_ascii, cset_ibm, cset_dec, cset_unicode, cset_any, +# feature, mon_glyph ##### 6-b DOS and Windows ####################### # # dos_use_background_intensity = true +# background = black ##### 6-c Unix ################################## diff --git a/crawl-ref/source/chardump.h b/crawl-ref/source/chardump.h index b6ce4b9fd0..93bcd29a15 100644 --- a/crawl-ref/source/chardump.h +++ b/crawl-ref/source/chardump.h @@ -8,7 +8,7 @@ * Change History (most recent first): * * <1> 4/20/99 JDJ Reformatted, uses string objects, split out - * 7 functions from dump_char, dumps artifact info. + * 7 functions from dump_char, dumps artefact info. */ diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc index 008146258f..cfbe5395e2 100644 --- a/crawl-ref/source/effects.cc +++ b/crawl-ref/source/effects.cc @@ -1864,7 +1864,7 @@ bool forget_inventory(bool quiet) break; } } - // Non-jewellery artifacts can easily be re-identified by + // Non-jewellery artefacts can easily be re-identified by // equipping them. else if (item.base_type != OBJ_JEWELLERY) unset_ident_flags(item, ISFLAG_KNOW_TYPE | ISFLAG_KNOW_PROPERTIES); diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index 582d77e898..eefc257348 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -1757,7 +1757,7 @@ private: const std::string &interrupt_names, bool append_interrupts, bool remove_interrupts); - void set_fire_order(const std::string &full); + void set_fire_order(const std::string &full, bool add); void add_fire_order_slot(const std::string &s); void set_menu_sort(std::string field); void new_dump_fields(const std::string &text, bool add = true); diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc index e52f81bd13..31a3aff78a 100644 --- a/crawl-ref/source/initfile.cc +++ b/crawl-ref/source/initfile.cc @@ -275,6 +275,8 @@ static fire_type str_to_fire_types( const std::string &str ) return (FIRE_JAVELIN); else if (str == "net") return (FIRE_NET); + else if (str == "return" || str == "returning") + return (FIRE_RETURNING); return (FIRE_NONE); } @@ -642,7 +644,7 @@ void game_options::reset_options() item_colour = true; // [ds] Default to jazzy colours. - detected_item_colour = LIGHTGREEN; + detected_item_colour = GREEN; detected_monster_colour= LIGHTRED; classic_item_colours = false; @@ -698,8 +700,9 @@ void game_options::reset_options() fire_items_start = 2; // start at slot 'c' // Clear fire_order and set up the defaults. - set_fire_order("launcher, " - "javelin / dart / stone / rock / spear / net / handaxe"); + set_fire_order("launcher, return, " + "javelin / dart / stone / rock / spear / net / handaxe", + false); item_stack_summary_minimum = 5; @@ -717,16 +720,16 @@ void game_options::reset_options() sc_format = -1; friend_brand = CHATTR_NORMAL; - heap_brand = CHATTR_NORMAL; stab_brand = CHATTR_NORMAL; may_stab_brand = CHATTR_NORMAL; + heap_brand = CHATTR_REVERSE; stair_item_brand = CHATTR_REVERSE; trap_item_brand = CHATTR_NORMAL; no_dark_brand = true; #ifdef WIZARD - wiz_mode = WIZ_NO; + wiz_mode = WIZ_NO; #endif // map each colour to itself as default @@ -821,9 +824,10 @@ static unsigned read_symbol(std::string s) return (strtoul(s.c_str(), &tail, base)); } -void game_options::set_fire_order(const std::string &s) +void game_options::set_fire_order(const std::string &s, bool add) { - fire_order.clear(); + if (!add) + fire_order.clear(); std::vector<std::string> slots = split_string(",", s); for (int i = 0, size = slots.size(); i < size; ++i) add_fire_order_slot(slots[i]); @@ -1866,7 +1870,7 @@ void game_options::read_option_line(const std::string &str, bool runscript) } else if (key == "fire_order") { - set_fire_order(field); + set_fire_order(field, plus_equal); } else if (key == "random_pick") { diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 3e048b4b97..6920fdf814 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -1241,6 +1241,11 @@ static bool fire_item_matches(const item_def &item, unsigned fire_type) else if (item.base_type == OBJ_WEAPONS && is_throwable(item, you.body_size())) { + if ((fire_type & FIRE_RETURNING) && item.special == SPWPN_RETURNING + && item_ident(item, ISFLAG_KNOW_TYPE)) + { + return (true); + } if ((fire_type & FIRE_DAGGER) && item.sub_type == WPN_DAGGER) return (true); if ((fire_type & FIRE_SPEAR) && item.sub_type == WPN_SPEAR) @@ -2337,6 +2342,10 @@ bool throw_it(bolt &pbolt, int throw_2, bool teleport, int acc_bonus, msg::stream << item.name(DESC_CAP_THE) << " returns to your pack!" << std::endl; + + // Player saw the item return + if (!is_artefact(you.inv[throw_2])) + set_ident_flags(you.inv[throw_2], ISFLAG_KNOW_TYPE); } else dec_inv_item_quantity( throw_2, 1 ); diff --git a/crawl-ref/source/item_use.h b/crawl-ref/source/item_use.h index 1fe300ed7b..cc514d17d1 100644 --- a/crawl-ref/source/item_use.h +++ b/crawl-ref/source/item_use.h @@ -28,17 +28,18 @@ enum enchant_stat_type enum fire_type { - FIRE_NONE = 0x0000, - FIRE_LAUNCHER = 0x0001, - FIRE_DART = 0x0002, - FIRE_STONE = 0x0004, - FIRE_DAGGER = 0x0008, - FIRE_JAVELIN = 0x0010, - FIRE_SPEAR = 0x0020, - FIRE_HAND_AXE = 0x0040, - FIRE_CLUB = 0x0080, - FIRE_ROCK = 0x0100, - FIRE_NET = 0x0200 + FIRE_NONE = 0x0000, + FIRE_LAUNCHER = 0x0001, + FIRE_DART = 0x0002, + FIRE_STONE = 0x0004, + FIRE_DAGGER = 0x0008, + FIRE_JAVELIN = 0x0010, + FIRE_SPEAR = 0x0020, + FIRE_HAND_AXE = 0x0040, + FIRE_CLUB = 0x0080, + FIRE_ROCK = 0x0100, + FIRE_NET = 0x0200, + FIRE_RETURNING = 0x0400 }; struct bolt; diff --git a/crawl-ref/source/items.cc b/crawl-ref/source/items.cc index ebab0feb0a..a54bf66b49 100644 --- a/crawl-ref/source/items.cc +++ b/crawl-ref/source/items.cc @@ -673,7 +673,7 @@ void request_autopickup(bool do_pickup) will_autopickup = do_pickup; } -// 2 - artifact, 1 - glowing/runed, 0 - mundane +// 2 - artefact, 1 - glowing/runed, 0 - mundane static int item_name_specialness(const item_def& item) { // All jewellery is worth looking at. diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc index e895d2fae1..e2cd4e7828 100644 --- a/crawl-ref/source/mstuff2.cc +++ b/crawl-ref/source/mstuff2.cc @@ -1429,7 +1429,7 @@ bool mons_throw(struct monsters *monster, struct bolt &pbolt, int hand_used) << "!" << std::endl; // Player saw the item return - if (!is_artefact(mitm[hand_used])) + if (!is_artefact(item)) set_ident_flags(mitm[hand_used], ISFLAG_KNOW_TYPE); } |