summaryrefslogtreecommitdiffstats
path: root/crawl-ref/docs/crawl_options.txt
blob: 549c2c4e5c3f3df2c2c49d7bb7bf4ce378c5b110 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
This document explains all of the options in the latest version of Dungeon 
Crawl Stone Soup. These options are set in the init.txt file located in the 
Crawl directory (the directory containing crawl.exe on Windows and DOS). On
Unix systems, you need to set options in the ~/.crawlrc file (a file named 
.crawlrc in your home directory).

The contents of this text are:

1-  Starting Screen.
                name, remember_name, weapon, book,
                chaos_knight, death_knight, priest, 
                race, class, random_pick
2-  File System and Sound.
                crawl_dir, morgue_dir, save_dir, sound
3-  Lua files.
                lua_file,
                base.lua, stash.lua, wield.lua, kills.lua, runrest.lua, 
                gearset.lua, eat.lua, trapwalk.lua
4-  Interface. 
4-a     Dropping and Picking up.
                autopickup, autopickup_exceptions, default_autopickup,
                safe_autopickup, autopickup_no_burden, safe_zero_exp,
                pickup_thrown, pickup_dropped, assign_item_slot,
                drop_mode, pickup_mode, drop_filter
4-b     Targeting. 
                target_zero_exp, target_oos, target_los_first,
                confirm_self_target, default_target,
                target_unshifted_dirs
4-c     Passive Sightings (Detection and Rememberance).
                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 
4-e     Level Map Functions.
                level_map_cursor_step, level_map_title, item_colour
4-f     Travel and Exploration. 
                travel_delay, travel_avoid_terrain,
                travel_exclude_radius2, travel_stop_message,
                explore_greedy, explore_stop, runrest_ignore_message,
                runrest_ignore_poison, trapwalk_safe_hp, tc_reachable,
                tc_dangerous, tc_excluded, tc_exclude_circle
4-g     Stashes.
                stash_tracking, stash_filter
4-h     Command Enhancements.
                auto_list, lowercase_invocations, easy_open, easy_butcher, 
                easy_unequip, easy_confirm, easy_quit_item_prompts, 
                easy_exit_menu, default_autoprayer, sort_menus
4-i     Message and Display Improvements.
                hp_warning, mp_warning, hp_colour, mp_colour, always_greet,
                terse_hand, delay_message_clear, menu_colour, message_colour,
                increasing_skill_progress, show_turns
4-j     Missiles.
                fire_items_start, fire_order
4-k     Message Channels.
                plain, prompt, god, pray, duration, danger, food, warning,
                recovery, multiturn, talk, intrinsic_gain, mutation,
                monster_spell, monster_enchant, monster_damage, rotten_meat
4-l     Inscriptions.
                autoinscribe
4-m     Macro related Options.
                flush.failure, flush.command, flush.message
5-  Character Dump.
5-a     Items and Kills.
                kill_map, dump_kill_places, dump_item_origins, 
                dump_item_origin_price, dump_message_count, dump_order
5-b     Notes.
                use_notes, note_items, ood_interesting, note_hp_percent, 
                note_skill_levels, note_skill_max, note_monsters, 
                note_messages, note_all_spells
6-  Miscellaneous.
6-a     All OS.
                macro_meta_entry, wiz_mode, colours, char_set, cset_ascii,
                cset_ibm, cset_dec, feature, classic_item_colours
6-b     DOS and Windows.
                dos_use_background_intensity
6-c     Unix
                background, use_fake_cursor

--------------------------------------------------------------------------------

There are basically three types of Crawl options: true/false values (booleans),
numbers, and lists. An option is most often specified with its default value 
(if there is one); this should also explain which of the above-mentioned types 
it is. Each option should have some remarks on how it's typically used - beware
that this depends strongly on your playing style and sometimes also on hardware
or operating system.

Note that the init.txt coming with regular distributions has all boolean 
options commented out. The commented-out values are always the _non-defaults_, 
so you can toggle boolean options by just uncommenting them.

Some options need a path as an argument; here you have to use a filesystem path
suitable for your system. Other options accept regular expressions (regexes):
here you can simply use ordinary strings, adapt the suggested regexes to your
needs or search the internet for regex syntax.

For long option names, you can define option aliases by doing:
    alias := long_option_name
For instance, you can use:
    ae := autopickup_exceptions
and thereafter use "ae" instead of "autopickup_exceptions":
    ae = >decay, >degeneration

If you get stuck or some things just won't seem to work properly, please ask 
for help on the newsgroup rec.games.roguelike.misc. Please flag queries with 
'-crawl-', as other roguelikes are also discussed there.

1-  Starting Screen.
====================

The following options are a convenience to help you quickly start your game of
Crawl.

name = Delilah
        If set, that's the name all your Crawl characters will get. 

remember_name = 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.

        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.

book = (flame | fire | ice | cold | summ | summoning | random)
        Several spellcasting classes can choose their starting spellbook. 
        Note flame=fire and ice=cold and summ=summoning.

chaos_knight = (Xom | Makhleb | random)

death_knight = (necromancy | Yredelemnul | random)

priest       = (Zin | Yredelemnul | random)
        The above three make in advance the additional choices for 
        Chaos Knights, Death Knights, and Priests.

race = (Human |...| Merfolk | random)
        The usual abbrevations (Hu, El, HE, etc.) work.

class = (Fighter |...| Wanderer | random)
        Here again the abbrevations (Fi, Wi, Pr, etc.) can be used.

random_pick = false
        The random_pick option will randomly generate a character.
        The above options (weapons and class options) will override where
        appropriate.


2-  File System.
================

crawl_dir= <path>
        Directory for reading macro.txt and init.txt, and dumping characters.
        It should end with the path delimiter.

morgue_dir = <path>
        Directory where morgue dumps (morgue*.txt and morgue*.lst) 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.

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
        Getting appropriate sound files may be difficult. Check other
        roguelikes or old computer rpg's. Alternatively, ask for help at
        the newsgroup rec.games.roguelike.misc.


3-  Lua files.
==============

Lua files are scripts which can provide existing commands with a new meaning
or even create new commands (to be used in macros). If you don't know a 
specific reason not to include some or all lua files, you'll do best to just 
include them all.

lua_file = <path/name.lua>

The currently available lua's are
  base.lua      -- needed for other lua scripts
  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 now look for spellbooks 
                   ('book'), artifacts ('artifact'), 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 to remove certain stop condition when running
                   New options: runrest_ignore_poison, runrest_ignore_message
  gearset.lua   -- provides commands for switching of complete sets via macro
                   New macroable functions: rememberkit, swapkit
  eat.lua       -- prompts to eat chunks in inventory.
  trapwalk.lua  -- allows travel to cross certain traps if you have enough hp.


4-  Interface.
==============

4-a     Picking up and Dropping.
--------------------------------

autopickup = $?!+"/%
        The above is the default list. The valid symbols are
        )       Weapons
        (       Missiles
        [       Armour
        /       Wands
        %       Food
        ?       Scrolls
        " or =  Jewellery
        !       Potions
        + or :  Books
        \ or |  Staves
        0       Orbs
        }       Misc items
        X       Corpses
        $       Gold
        Note that _whether_ items are picked up automatically or not, is 
        controlled by the in-game toggle Ctrl-A. Also note that picking up
        takes a turn, but only one turn (regardless of the number of items).
        If you teleport or blink onto a square with interesting items, these
        will not be picked up.

autopickup_exceptions = <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.

        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.

        Whitespace between <> and the match expression is significant, so this
        is a mistake:
          autopickup_exceptions = <   ebony casket

        autopickup_exceptions replace the older ban_pickup. Using
          autopickup_exceptions = >decay, >degeneration
        is the same as using
          ban_pickup = decay, degeneration

        If the regexes are not prefixed with < or >, > is implied, so the option
        setting above can also be written as
          autopickup_exceptions = decay, degeneration

        You can use multiple autopickup_exceptions lines. Some examples:
          autopickup_exceptions = degeneration, decay, 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

default_autopickup = true
        When set false, the game starts with autopickup turned off. You can
        still toggle autopickup in-game with Ctrl-A.

safe_autopickup = true
        When set, autopickup will not operate if there are visible unfriendly
        monsters (or statues.) If safe_zero_exp is set (the default), zero-XP
        monsters are considered friendly. 

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

safe_zero_exp = true
        If set, presence of only zero experience monsters (like plants) will
        cause autopickups, even if safe_autopickup=true is set. This option 
        also settles whether autoprayer considers such monsters risky.

pickup_thrown = true
        pickup_thrown=true causes autopickup to pick up thrown/fired missiles,
        which can make life much easier for hunter types. If you use this, be
        aware that autopickup uses a turn - use Ctrl-A to turn it off while
        you're fighting, or use safe_autopickup=true.

pickup_dropped = false
        Pickup_dropped lets autopickup affect objects you've dropped. Set to 
        false to block autopickup for dropped objects. This can be convenient.

assign_item_slot = (forward | backward)
        When picking up items, the inventory slot into which the item goes is 
        normally the first free slot from a-zA-Z (this is the default "forward"
        behaviour). Setting assign_item_slot to "backward" changes the slot 
        assignment to the first letter after the last slot. 
        For instance, if you have items on 'a' and 'c', then with
             assign_item_slot = forward, the next item will go into 'b',
             assign_item_slot = backward, the next item will go to 'd' instead.
        With "backward", items dropped/fired and picked up later are more 
        likely to get their old slot back.

drop_mode = (multi | single)
        Single is the classic behaviour; when you select an inventory letter,
        that item will be dropped immediately. Multidrop allows you to select
        multiple items to be dropped. (You can also switch to multidrop from the
        classic drop menu using the '@' key).

        Multidrop can be very convenient, but be aware that every item dropped
        takes one turn. (This is different from picking up.) When selecting
        multidrops, the top right corner shows the estimated number of turns.

        The order in which items get dropped is from top to bottom in the 
        inventory listing, but equipped items will be dropped last, and may be 
        dropped out of order.

pickup_mode = (multi | single | auto:X)
        Single is the classical behaviour (and default): when picking up items, 
        you are prompted for them one by one. Multi makes a menu appear, where 
        you can choose which items to pick up. Note that no matter how many 
        items you choose, picking up will always take one turn.
        If pickup_mode is auto:X, where X is some number (for example, auto:5), 
        then pickup will give a menu if there are at least X items on your 
        square, and will prompt one by one otherwise.

drop_filter = <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.

        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

        When a drop_filter is set, using the select/deselect keys will set/
        clear selection of items that match the filter expression(s).

4-b     Targeting.
-------------------

target_zero_exp = false
        Set to false to disable targeting zero exp monsters (i.e. plants) 
        in hostile targeting mode. This is usually convenient to do.

target_oos = true
        When cycling through items with 'x' look-around, setting target_oos to
        true allows you to jump the cursor to dungeon features (<> for stairs,
        Tab for shops, ^ for traps) and stashes (with the '*' and '/' keys) that
        are outside line-of-sight but in the main view. This is most sensibly
        used in connection with stash_tracking=all (see 4-g).  Also see also
        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.

confirm_self_target = true
        Setting this to true will make Crawl ask for confirmation whenever
        selecting the character as the target of a non-friendly-targeted spell 
        (i.e., something other than haste, healing or invisibility.)

default_target = false
        If set to true, targeting will start on either your previous target
        (if it is still visible) or the closest monster (if not) rather
        than on the character. If no monsters are in view, targeting will
        start on the character regardless.

target_unshifted_dirs = false
        If set to true, targeting will use the old Stone Soup 0.1 / Crawl 4.0
        targeting keymap where unshifted direction keys fire in that direction
        immediately. The default is to use the new targeting keymap where
        unshifted direction keys move the targeting cursor (and shifted
        directions fire in the given direction immediately).

4-c     Passive Sightings (via detection and rememberance).
-----------------------------------------------------------

detected_monster_colour = darkgrey
        Monsters found by detect creatures will be coloured this colour; e.g.
          detected_monster_colour = lightred

detected_item_colour = darkgrey
        Items found by detect items will be given this colour, for example
          detected_item_colour = green

colour_map = true
        Colours out of sight map features on the playing screen.

clean_map = false
        Cleans up out of sight monsters and clouds on the map. This is like 
        pressing Ctrl-C (clearing both main screen and level map) all the time.
        Setting this to true can be disconcerting for summoners.


4-d     Branding (Item and monster highlighting).
-------------------------------------------------

Branding refers to displaying particular monsters (e.g. summons) or items in a 
special way; special as in reversing fore- and background. There are several 
branding choices (these will not work everywhere; it depends on OS and 
terminal):
   standout         -- often the same as reverse, might be underline or dim
   bold             -- used by colour curses for brightening foreground colours
   blink            -- used by colour curses for brightening background colours
   reverse          -- this will probably work
   dim              -- probably no effect
   underline        -- this will probably work
   highlight:colour -- set background colour of branded monsters to "colour"
The last can be abbreviated to hi:colour.
See part Technical (6-) for dos_use_background_intensity under Windows and DOS.
By default, there is no branding activated.

heap_brand
        Brand heaps of items (more than one item or stack). For example
          heap_brand = reverse

friend_brand
        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
        Some deities object to you stabbing monsters. Certain classes 
        specialise in stabbing monsters. Still other characters are happy if 
        they spot a monster before the monster spots them. In all these cases, 
        it helps to identify monsters that are unaware of the character (and 
        hence susceptible to being stabbed) without using the 'x' command. All 
        the normal 'brand' options apply. For example
          stab_brand = hi:blue

may_stab_brand 
        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. Primarily useful for worshippers of The 
        Shining One. Purists may consider this unnecessarily spoily.


4-e     Level Map Functions.
----------------------------

level_map_cursor_step = 7
        How many squares the cursor moves on the level map when using 
        Shift-direction or * direction.

level_map_title = true
        Whether to show the level name at the top of the level map screen.

item_colour = true
        Colours items on level-map.


4-f     Travel and Exploration.
-------------------------------

travel_delay = 20
        How long travel waits after each move (milliseconds). Depends on
        platform. Setting to -1 will jump to end of travel - you will not see
        the individual moves.

travel_avoid_terrain = (shallow water | deep water)
        Prevent travel from routing through shallow water. By default, this 
        option is commented out. For merfolk and/or characters with permanent 
        levitation, 
          travel_avoid_terrain = shallow water, deep water
        will prevent travel or explore from going through any water.

travel_exclude_radius2 = 68
        The square of the radius around travel-excluded squares where travel 
        will refuse to go. Set to zero if you want to exclude single squares. 
        The default of 68 ensures that travel won't enter line-of-sight of any
        dangerous thing at the travel-exclusion center.

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_stop_message = Something appears
        stops travel if Xom grants us a gift suddenly. To limit a substring
        match to a message channel, prefix the substring with the channel name
        and a colon (see section 4-k below on Message Channels). For instance,
        if you want travel to stop when you're hit by divine retribution, you
        could use:
             travel_stop_message = god:wrath finds you
        If you'd like to stop travel for any message sent to a particular 
        channel, use a travel_stop_message line with that message channel name
        and a colon alone. For example, if you've an amulet of the gourmand, and
        are hankering after rotten meat, or 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). Default is false (no greedy explore) and using greedy
        explore may slow down the performance.

explore_stop = items,stairs,shops,altars
        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 = prayer ends

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 

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,
              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 reachable without problems (perhaps via stairs)
        dangerous: squares which are only connected to your place via traps
        excluded: the colour for the centre of travel exclusions (Ctrl-X)
        excluded_circle: the colour for travel exclusions apart from centre 


4-g     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. 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.
        
        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.


4-h     Command Enhancements.
-----------------------------

auto_list = true
        Change to true if you want to automatically list appropriate inventory 
        items 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. 

lowercase_invocations = true
        Set this option to true if you prefer to have invocations on 'a'-'e' 
        instead of the older 'A'-'E'. Note that you can change the letters of
        invocations (and other abilites) with the '=' command.

easy_open = false
        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 uncursed short blade for butchery. For such 
        tools any special messages are ignored. If false, you have to wield the 
        tool manually.

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'

easy_quit_item_prompts = true
        Setting this option to true allows the quitting of item listing with 
        Space (as well as Escape, which always works). These lists are 
        essentially all of those that are requesting an inventory item and 
        accept '?' and '*'. The identify list will never easy quit. 

easy_exit_menu = true
        In multidrop (and pickup) menus, paging past the end will drop out of
        the menu if easy_exit_menu is true.

default_autoprayer = false
        When set to true, the game will start with automatic prayers. This 
        option can be toggled in-game with Ctrl-V.
        Letting Crawl pray throughout and automatically can be useful for gods 
        like Trog and Makhleb, who constantly demand kills from their followers.

        Automatic prayers take a turn like manual prayers and happen only if
        - there is no hostile monster in sight
        - some further conditions (like not standing at an altar)
        Note that even when you're praying, you can renew prayer anytime.
        Also note the option safe_zero_exp (see 4-a) decides whether zero 
        experience monsters (like plants) are considered hostile.
        If you use autoprayer, you might want to set runrest_ignore_message
        to ignore the prayer messages (see the documentation for
        runrest_ignore_message).

sort_menus = (true | false | auto:X)
        When set to true, items are sorted by description in inventory and
        pickup menus. When set to false (the default), items are ordered by
        equipment slot. 
        When set to a number - using a syntax of the form 
         sort_menus = auto:5
        - items are sorted by their description if the total number of items in 
        that category is at least that number; in the example, having 4 
        kinds of potions would not sort them, but having 5 would.
        

4-i     Messages and Display Enhancements.
------------------------------------------

hp_warning = 10
        hp_warning gives "* * * LOW HITPOINT WARNING * * *" on the danger 
        channel when the player takes damage and their hitpoints are less than
        this percentage of their maximum (use 0 to turn off these messages).

mp_warning = 0
        mp_warning gives "* * * LOW MAGIC WARNING * * *" on the danger
        channel when the player's magic points drop below this percentage of
        their maximum (use 0 to turn off these messages).

hp_colour = lightgrey, 50:yellow, 25:red
        hp_colour colours your HP appropriately in the display. In the default 
        setting, your HP will appear in red if at less then 25%, yellow if at 
        less than 50%, and lightgrey otherwise.

mp_colour = lightgrey, 50:yellow, 25:red
        mp_colour does to MP what hp_colour does to HP.

terse_hand = true
        Set this to false to have the "in hand" description on the main screen 
        the same as the inventory. The default setting of true will give the 
        newer more terse description that should fit the limited space better. 

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

always_greet = true
        always_greet will give the race/class and god messages everytime the 
        game is started. 

menu_colour = <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.

        To colour worn stuff and highlight cursed items, take
          menu_colour = lightred: cursed.*(worn|neck|hand|weapon)
          menu_colour = green:(worn|neck|hand|weapon)
          menu_colour = red: cursed

        If you frequently die because you forget to use emergency items, try
          menu_colour = cyan:(potions? of heal wounds|teleportation)
          menu_colour = lightcyan:(blinking|wand of (fire|cold|draining))

        To quickly check what potions were trashed by a mummy curse, use
          menu_colour = lightred:potions? of (degeneration|decay)

        If you like to see rotten chunks and corpses at a glance, use
          menu_colour = red: rotten.

        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 = white:Reached XP level

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
        You can also narrow the message match to a specific channel:
          message_colour = lightred:god:xom

increasing_skill_progress = true
        This affects the appearance of the skills screen ('m'). With the 
        default true, the progress for getting new levels is shown with
        increasing percentiles, so that immediately after level up it will
        read (0%). With false, you get the old behaviour which counts backwards
        from 10.

show_turns = true
        This option controls whether the turn counter (of turns elapsed) is
        displayed in the main view.

4-j     Missiles.
-----------------

fire_items_start = a
        Sets the first inventory item to consider. Default is a, many use c.

fire_order = launcher, dart, stone, dagger, spear, handaxe, club
        The list should be on one line of items, with commas between items.
        '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, dart
        To quickly experiment with a weapon-throwing character - e.g. to 
        make your Berserker actually use those three spears he carries around,
        try a line similar to:
          fire_order = launcher, dagger, spear, handaxe, stone, dart

<See also pickup_thrown in A.4a.>

4-k     Message Channels.
-------------------------

Crawl communicates to the players with its message window. Every message belongs
to one of the so-called channels. The behaviour of each channel can be changed
with the option

        channel.CHANNEL_NAME = (COLOUR | mute | default | on | off | plain)

CHANNEL_NAME can currently be one of these:
   plain           = regular text (and things "uncoloured")
   prompt          = input prompts to the player
   god             = messages from the gods
   pray            = standard praying messages (start/end of prayer)
   duration        = messages about character spells/effects wearing off
   danger          = serious threats to the characters existence
   food            = warnings about food
   warning         = various other warnings
   recovery        = recovery from disease/stat loss/poison conditions
   multiturn       = indicates long actions (wearing armour, dissecting etc.)
   talk            = monsters talking (acting)
   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_damage  = messages telling how damaged a monster is
   rotten_meat     = messages about chunks/corpses becoming rotten

The channel options are
   mute      = show no messages from channel (dangerous, be careful!)
   default   = turn channel on to it's default scheme
   alternate = turn channel on to it's alternate "colourful" scheme
   on        = same as default
   plain     = make channel the same colour as the "plain" channel
               (won't do anything silly like "mute" if plain == mute, though)
   off       = same as plain
   COLOUR can be any of the colours described in section 6-a (colours option).

The only multi-colour channels currently are monster_damage and god. All other
channels are defaulted to on, except for multiturn, which defaults to mute.
Note that the template init.txt sets 
          channel.multiturn = on
in order to help new players. You may want to comment out this option, if 
the messages are too verbose.      

4-l     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
 @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
 !*     -- any action with this item causes a prompt
 =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)
(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

        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-m     Macro related Options.
------------------------------

flush.failure = true
flush.command = false
flush.message = false
        These are useful when using macros. Setting one of these sub-options 
        to true will cause the entire input buffer to be dumped and thus 
        effectively stop the macro. The sub-options currently are
                failure -- when spells/abilities get miscast 
                command -- whenever the game is about to get the next command
                message -- whenever the game outputs a non-mute message 


5-  Character Dump.
===================

5-a     Items and Kills.
------------------------

The character dump or morgue files end with a list of all monsters that perished 
while the character was active. By default, dead monsters are grouped in three parts:
   Vanquished Creatures    -- monsters killed by the character
   Collateral Kills        -- kills of friendly monsters
   Others                  -- all other casualties (e.g. traps, hostile monsters)

kill_map = friend:you, other:you
        will merge friendly and other kills into the main vanquished creatures
        list.  Note that the merging is only for display (the game still
        maintains three separate lists internally) and that kill places (see
        below) may be in the wrong order for merged entries. The default is an
        empty list.

dump_kill_places = (none | all | single)
        In the Vanquished Creatures list, this option controls how the 
        locations of each kill are displayed. Use 'none' to suppress place 
        display altogether, 'all' to display all known (up to 5) kill places, 
        anything else to the default of showing kill places only for single
        kills

dump_item_origins = 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, 
                rods, staves, books, all, none.
        If you use multiple dump_item_origins lines, the last line takes effect;
        all preceding lines are ignored.

        If you don't want any items to be annotated, set dump_item_origins to 
        none, and set dump_item_origin_price to -1.

dump_item_origin_price = 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_message_count = 7
        The number of last messages to be displayed in character dump files. 

dump_order  = header,stats,misc,notes,inventory,skills
dump_order += spells,overview,mutations,messages,screenshot,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 +=


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.

use_notes = true
        Set to true to get note-taking. 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
        - Receiving a gift from a god (except Xom)
        - Being able to invoke a godly power for the first time
        - Identifying items (see below)
        - Killing OOD or unique monsters (see below)
        - Reaching critical HP levels (see below)
        - Gaining or losing mutations
        - Reaching significant levels in a skill (see below)
        You can use the command ':' for manually adding notes.

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

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

note_skill_levels = 1,5,13,27
        This sets which skill levels are noteworthy. You can have multiple 
        note_skill_levels lines. The default is nothing (no notes.)

note_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
        
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
        If you want all banishments to the Abyss noted, use
          note_messages = [bB]anish.*Abyss
        If you want a note when your draconian scales turn <colour>, use
          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}.

colour.OLDCOLOUR = NEWCOLOUR
        Useful for terminals where some colours are hard to read (and cannot
        be adjusted), as well as for creating a custom scheme, especially when 
        used with the background option on a terminal with a non-black 
        background.
        Format is colour.OLDCOLOUR = NEWCOLOUR, later rules take preference and
        the NEWCOLOUR is always literal (ie. it won't re-evaluate to a 
        different colour).
        The colours are:
                black, blue, green, cyan, red, magenta, brown, lightgrey, 
                darkgrey, lightblue, lightgreen, lightcyan, lightred, 
                lightmagenta, yellow, white
        with lightgray = lightgrey, darkgray = darkgrey. Some examples:
          colour.lightgray = black
          colour.lightcyan = cyan
          colour.yellow    = brown

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

cset_ascii, cset_ibm, cset_dec, cset_any
        Can be used to change individual characters in a specific character 
        set (the character set used for display is determined by the char_set 
        option). The syntax is the same for all of these; cset_any changes
        characters in all character sets.

cset_XXX = <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
        Most of these are self-explanatory. "arch" is used for shops and
        portals.  "floor_magic" and "wall_magic" are used to display
        magic-mapped squares on the level map. "invis_exposed" is the character
        for water creatures submerged in shallow water, or invisible creatures
        wading in shallow water.

        Symbols can be specified using a letter, or by a number (decimal code).
        For an example on IBM displays,
            cset_ibm = wall:219, arch:0
        shows walls as solid blocks and shops and portals as '0'.

feature = <regex> { <symbol>, <magicmap symbol>, <view colour>,
                    <levelmap_magic_colour>, <levelmap_seen_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.

        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.

        Leading parameters in the {...} list can be omitted by leaving them 
        blank and using placeholder commas. Trailing parameters can be omitted
        without placeholder commas.

        Multiple feature option lines can be used, as can multiple feature
        descriptions strung together on the same line separated by semicolons.

        Examples:
            feature = rock wall { , , red }  # shows rock walls in red
            feature = metal wall {#}         # use '#' for metal walls

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.

6-b     DOS and Windows.
------------------------

dos_use_background_intensity = false
        On DOS and Windows, if you're using a console that can do high-intensity
        background colours, set this option to true for superior
        friend-branding. If your console doesn't like this option, some friendly
        monsters will appear as blinking characters (and setting this option to
        false may be advisable to preserve your sanity in such cases).

6-c     Unix
------------

background = <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.

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.