# Crawl Init file # # On Unix systems (such as Mac OS X, Linux and the BSDs), you must copy # init.txt to ~/.crawlrc or ~/.crawl/init.txt as: # cp init.txt ~/.crawlrc # # Lines beginning with '#' are comments. The basic syntax is: # # field = value or field.subfield = value # # Only one specification is allowed per line. # # The terms are typically case-insensitive except in the fairly obvious # 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. # # For descriptions concerning an option consult the file # options_guide.txt # 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 # their non-default value commented out. You can toggle these by just # uncommenting. # Options with several values, e.g. drop_mode = (multi | single), # usually have the first value as default. # # The options for monster glyphs and item colours don't matter for Tiles. # Similarily, tile options are ignored in console games. { function safe_upstairs() if you.branch() == "Lab" then crawl.formatted_mpr("Really leave this labyrinth?", "prompt") local res = crawl.getch() if string.lower(string.char(res)) == "y" then crawl.sendkeys("<") end else crawl.sendkeys("<") end end } ##### Ancient versions ############################################## # If you're used to the interface of ancient versions of Crawl, you may # get back parts of it by uncommenting the following options: # include = 034_command_keys.txt # target_unshifted_dirs = true # clear_messages = true # # And to revert monster glyph and colouring changes: # include = 034_monster_glyphs.txt # include = 052_monster_glyphs.txt # include = 060_monster_glyphs.txt # include = 071_monster_glyphs.txt # include = 080_monster_glyphs.txt # include = 0.9_monster_glyphs.txt ##### 1- Starting Screen ############################################ # # name = Delilah # remember_name = false # weapon = (short sword | falchion | quarterstaff | hand axe | spear | mace # | trident | unarmed | random) # species = (Human |...| Vampire | random) # job = (Fighter |...| Wanderer | random) # random_pick = true # good_random = false restart_after_game = true # default_manual_training = true ##### 2- File System ############################################### # # crawl_dir = # morgue_dir = morgue # save_dir = saves # macro_dir = settings/ # sound = : ##### 3- Interface ################################################# # ##### 3-a Picking up and Dropping ############### # # Rods are \ here. autopickup = $}0|:!=/?♦ autopickup_exceptions += attraction autopickup_exceptions += >moonshine autopickup_exceptions += >noise more_gem_info = true always_show_gems = true drop_filter += useless_item # default_autopickup = false # autopickup_no_burden = false # pickup_thrown = false # chunks_autopickup = false # assign_item_slot = (forward | backward) # # drop_mode = (multi | single) pickup_mode = auto:4 # drop_filter += skeleton, corpse, useless_item default_friendly_pickup = all auto_butcher = hungry ##### 3-b Targetting ############################ # # default_target = false # target_unshifted_dirs = true # darken_beyond_range = false ##### 3-c Passive Sightings ##################### # # detected_monster_colour = lightred # detected_item_colour = green # remembered_monster_colour = darkgrey # clean_map = true ##### 3-d Branding ############################## # # friend_brand = hi:green # neutral_brand = hi:lightgrey # stab_brand = hi:blue # may_stab_brand = hi:yellow # heap_brand = reverse # feature_item_brand = reverse # trap_item_brand = reverse ##### 3-e Level Map Functions ################### # # level_map_cursor_step = 7 # level_map_title = false show_waypoints = true ##### 3-f Viewport Options ################### # view_max_width = 81 view_max_height = 71 # view_lock_x = false # view_lock_y = false # view_lock = false # center_on_scroll = true # symmetric_scroll = false # scroll_margin_x = 2 # scroll_margin_y = 2 # scroll_margin = 2 ##### 3-g Travel and Exploration ################# # travel_delay = -1 explore_delay = -1 rest_delay = -1 travel_avoid_terrain = explore_greedy = true explore_stop = items,shops,altars,portals,branches,runed_doors explore_stop += shops,altars,portals,branches,runed_doors,greedy_pickup_smart,greedy_visited_item_stack,glowing_items,artefacts sacrifice_before_explore = true explore_improved = true travel_key_stop = true # auto_sacrifice = true # explore_stop_pickup_ignore += curare auto_exclude += oklob,statue,curse skull,roxanne,hyperactive,lightning spire,sigmund,grinder # auto_exclude += mimic # tc_reachable = blue # tc_dangerous = cyan # tc_disconnected = darkgrey # tc_excluded = lightmagenta # tc_exclude_circle = red # Interrupting run and rest compound commands: runrest_ignore_message += duration:.* runrest_ignore_message += recovery:.* runrest_stop_message += god:wrath finds you runrest_ignore_message ^= You feel.*sick runrest_ignore_message ^= no longer poisoned runrest_ignore_poison = 5:30 runrest_ignore_monster ^= butterfly:1 runrest_ignore_monster ^= swamp worm:3 runrest_ignore_monster ^= fish:3 runrest_ignore_monster ^= shark:3 runrest_stop_message += You hear a.* slurping noise # runrest_ignore_message += Jiyva's power touches on your attributes runrest_ignore_message ^= faded away # A good number of runrest_messages are defined by default; you may want to # clear them or override some. # trapwalk_safe_hp = dart:20,needle:15,arrow:35,bolt:45,spear:40,blade:95 ##### 3-h Command Enhancements ################## # # auto_list = false # auto_switch = true # easy_open = false # easy_unequip = false equip_unequip = true easy_confirm = safe allow_self_target = no # confirm_butcher = (auto | always | never) # prefer_safe_chunks = false # easy_eat_chunks = true # easy_eat_gourmand = true # easy_eat_contaminated = true auto_eat_chunks = true auto_drop_chunks = rotten # prompt_for_swap = false # easy_quit_item_prompts = false # easy_exit_menu = true # sort_menus = pickup: true : art, ego, basename, qualname, curse, qty # sort_menus = inv: true : equipped, freshness, charged autofight_throw = false spell_slot ^= shock:z spell_slot ^= tongue:z spell_slot ^= discharge:d spell_slot ^= airstrike:q spell_slot ^= swiftness:s spell_slot ^= lightning bolt:a spell_slot ^= destruction:o spell_slot ^= apportation:y spell_slot ^= blink:b spell_slot ^= magic dart:z spell_slot ^= mystic:x spell_slot ^= stone arrow:x spell_slot ^= lee:a spell_slot ^= stoneskin:s spell_slot ^= poison arrow:p spell_slot ^= haste:h spell_slot ^= battlesphere:s spell_slot ^= mephitic:c spell_slot ^= spray:c spell_slot ^= conjure flame:f spell_slot ^= fireball:q spell_slot ^= sticky flame:e spell_slot ^= foxfire:z spell_slot ^= vampiric draining:d spell_slot ^= pain:z spell_slot ^= skeleton:s spell_slot ^= animated dead:a spell_slot ^= control undead:c spell_slot ^= appendage:z spell_slot ^= sticks:s spell_slot ^= spider form:x spell_slot ^= ice form:c spell_slot ^= blade hands:a spell_slot ^= sting:x spell_slot ^= throw:x spell_slot ^= freezing:c message_colour += mute:unmelds message_colour += mute:melds message_colour += mute:turn into # autofight_stop = 30 ##### 3-i Messages and Display Enhancements ##### # hp_warning = 36 # mp_warning = 0 # hp_colour = 50:yellow, 25:red # mp_colour = 50:yellow, 25:red # stat_colour = 1:lightred, 3:red # status_caption_colour = yellow # mlist_min_height = 4 # msg_min_height = 7 # msg_max_height = 10 # mlist_allow_alternate_layout = true # messages_at_top = true # mlist_targetting = true show_gold_turns = true # show_game_turns = false # show_newturn_mark = false # clear_messages = true # small_more = true # show_more = false show_inventory_weights = true # item_stack_summary_minimum = 5 # msg_condense_repeats = false # msg_condense_short = false # skill_focus = false show_travel_trail = true ##### 3-j Colours (messages and menus) ########## # # Food is colour coded by default as follows: # # yellow = preferred food ($preferred) # darkgrey = cannot be eaten at all ($inedible) # lightred = causes rot ($rot-inducing) # magenta = dangerous to use, mutagenic ($dangerous, $mutagenic) # red = considered "evil" by your deity ($evil) # lightgreen = poisonous ($poisonous) # brown = contaminated, may cause nausea ($contaminated) # # You can change colours by using something like # $contaminated := magenta # You can redefine inventory items like this: # menu_colour ^= inventory:magenta:shillelagh # or ones in pick-up dialogs: # menu_colour ^= pickup:green:god gift # Colouring of messages # Messages are colour coded as follows: # # lightred = really important messages ($danger) # yellow = significant messages ($warning) # lightred = item damaged/destroyed ($item_dmg [same as $danger]) # darkgrey = boring, message clutter ($boring) # # Notes also use, quite misnamed, menu_colour: # menu_colour ^= notes:white:Reached XP level # 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) # message_colour ^= mute:Done searching # message_colour ^= mute:(HP|Magic) restored # message_colour ^= mute:warning:Not with.*(in view|monsters around) # You can also enforce a --more-- prompt for messages ## Avoid wasting turns with aborted actions: # force_more_message += There are no visible monsters within range force_more_message += This wand has no charges force_more_message += Ouch! force_more_message += finished your manual force_more_message += Lucky! ##### 3-k Firing Commands ####################### # # fire_items_start = a # fire_order = launcher, return # fire_order += javelin / dart / stone / rock / spear / net / handaxe / dagger / club # fire_order += inscribed ##### 3-l Channels ############################## # # channel.multiturn = mute ##### 3-m Inscriptions ########################## # autoinscribe += potion:!q # autoinscribe_cursed = false autoinscribe += scroll of ([^i]|im):!r autoinscribe += wand of heal wounds:!V autoinscribe += wand of teleport:!V autoinscribe += distortion:!w ai += of faith:!P # show_god_gift = yes|unident|no ##### 3-n Macro related Options ################# # # flush.failure = false # flush.command = true # flush.message = true ##### 3-o Tile related Options ################## # # tile_show_items = !?/%=([)x}:|\ # tile_skip_title = true # tile_menu_icons = false ### The following lines define the colours of various objects within the ### tiles minimap. See options_guide.txt for more details. # tile_player_col = white # tile_monster_col = red # tile_neutral_col = red # tile_peaceful_col = lightred # tile_friendly_col = lightred # tile_plant_col = darkgreen # tile_item_col = green # tile_unseen_col = black # tile_floor_col = lightgrey # tile_wall_col = darkgrey # tile_mapped_wall_col = blue # tile_door_col = brown # tile_downstairs_col = magenta # tile_upstairs_col = blue # tile_feature_col = cyan # tile_trap_col = yellow # tile_water_col = grey # tile_lava_col = grey # tile_excluded_col = darkcyan # tile_excl_centre = darkblue # tile_window_col = yellow # If Crawl's response rate is too slow, try increasing the update rate. # tile_update_rate = 1000 # If Crawl is lagging when running or resting, try increasing this number. # tile_runrest_rate = 100 # tile_key_repeat_delay = 200 # tile_tooltip_ms = 500 # tile_tag_pref = enemy ### Note: setting window, map or font sizes to '0' implies auto-sizing. tile_full_screen = false tile_window_width = 0 tile_window_height = 0 tile_use_small_layout = false tile_map_pixels = 4 # tile_cell_pixels = 32 # tile_filter_scaling = true # tile_force_overlay = true # tile_font_crt_file = VeraMono.ttf # tile_font_crt_size = 15 # tile_font_stat_file = VeraMono.ttf # tile_font_stat_size = 16 # tile_font_msg_file = VeraMono.ttf # tile_font_msg_size = 14 # tile_font_tip_file = VeraMono.ttf # tile_font_tip_size = 15 # tile_font_lbl_file = Vera.ttf # tile_font_lbl_size = 14 # tile_font_ft_light = false tile_show_minihealthbar = false tile_show_minimagicbar = false tile_layout_priority = minimap, inventory, gold_turn, monster, spell, command ##### 4- Dump File ################################################# # ##### 4-a Saving ################################ # # dump_on_save = false ##### 4-b Items and Kill List ################### # # kill_map = friend:you, other:you # dump_kill_places = (single | all | none) # dump_kill_breakdowns = true # dump_item_origins = all,artifacts,ego_arm,ego_weap,jewellery,runes # dump_item_origin_price = -1 dump_message_count = 40 # dump_order = header, hiscore, stats, misc, notes, inventory, # dump_order += turns_by_place, skills, spells, overview, mutations, # dump_order += messages, screenshot, monlist, kills_by_place, kills # dump_order += action_counts dump_book_spells = true ##### 4-c Notes ################################# # # user_note_prefix=@@@ # note_hp_percent = 5 # note_skill_levels = 1,5,10,15,27 # note_all_skill_levels = true # note_skill_max = false # note_xom_effects = false # note_chat_messages = false # note_items += rod of, acquirement, preservation, running, of Zot # note_monsters += orb of fire, ancient lich, Sigmund ##### 5- Miscellaneous ############################################# # ##### 5-a All OS ################################ # # mouse_input = true # wiz_mode = no # char_set = ascii # use_fake_player_cursor = false # # Translation to use (in 0.11, only badly incomplete descriptions; Polish # has god messages and a few misc, Greek has sheep). # language = pl|fr|zh|ko|fi|ru|el|da|li|pt|de|lv|cs|hu # # Joke translations (complete!). # language = dwarven|jagerkin|kraut|runes|wide # # colour.lightgray = black # colour.lightcyan = cyan # colour.yellow = brown # # show_player_species = true # See options_guide.txt for the options # cset, feature, mon_glyph, item_glyph ## Highlight the edge of unexplored terrain. # feature = explore horizon {',,green} ##### 5-b Windows console ####################### # # dos_use_background_intensity = true # background = black ##### 5-c Unix console ########################## # # use_fake_cursor = false ##### 5-d Alternative keybinding files ########## # # Alternative vi bindings for Dvorak users. # include = dvorak_command_keys.txt # # Override the vi movement keys with a non-command. # include = no_vi_command_keys.txt { function c_answer_prompt(prompt) local constructs = {"spellspark", "lightning spire"} for i, ally in ipairs(constructs) do if prompt:find("your " .. ally) then return true end end end function toggle_ring() local x_ring = items.inslot(items.letter_to_index("x")) local y_ring = items.inslot(items.letter_to_index("y")) if x_ring.equipped == y_ring.equipped then crawl.mpr("exactly one of the x and y rings must be equipped") return end current_ring = x_ring.equipped and "x" or "y" opposite_ring = current_ring == "x" and "y" or "x" command = ("P" .. current_ring .. "P" .. opposite_ring) crawl.mpr("sending " .. command) crawl.sendkeys(command) end local function ratio(val1, val2) return val1 / val2 end local target = 0.6 -- target = tonumber(crawl.getopt("rest_wait_percent")) / 100 or 1 local function dec(num) return string.format("%.2f", num) end local function ratios() return ratio(you.hp()), ratio(you.mp()) end function smart_rest() local hp_ratio, mp_ratio = ratios() crawl.mpr(string.format("hp is at %.2f, mp is at %.2f", hp_ratio, mp_ratio)) if (hp_ratio < target) or (mp_ratio < target) then crawl.mpr("resting before explore") crawl.do_commands({"CMD_REST", "CMD_EXPLORE_NO_REST"}) else crawl.do_commands({"CMD_EXPLORE_NO_REST"}) end end function explore_no_rest() local hp_ratio, mp_ratio = ratios() crawl.mpr(string.format("hp is at %.2f, mp is at %.2f", hp_ratio, mp_ratio):gsub("1.00", "full")) crawl.do_commands({"CMD_EXPLORE_NO_REST"}) end function skill_training_needed() if you.skill("Conjurations") <= 4 and you.class() == "Air Elementalist" then you.train_skill("Conjurations", 2) you.set_training_target("Conjurations", 8) you.train_skill("Air Magic", 2) you.set_training_target("Air Magic", 10) you.train_skill("Spellcasting", 1) you.set_training_target("Spellcasting", 6) you.train_skill("Stealth", 1) you.set_training_target("Stealth", 4) you.train_skill("Dodging", 1) you.set_training_target("Dodging", 5) return true else return false end end } -- macros += " < ===toggle_ring rest_wait_both = true explore_auto_rest = true rest_wait_ancestor = true rest_wait_percent = 66 explore_stop = greedy_pickup_smart,altars,portals,branches,runed_doors,glowing_items wall_jump_move = false default_manual_training = true