# TEAMCAPTAIN nattefrost # 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. ##### 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 = $?!:"/% # 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 = (single | multi | auto:5) # drop_filter += skeleton, corpse, useless_item # default_friendly_pickup = (none | friend | player | all) ##### 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 = false ##### 3-f Viewport Options ################### # # view_max_width = 33 # view_max_height = 21 # 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 = 20 # explore_delay = -1 # travel_avoid_terrain = shallow water # # explore_greedy = false # explore_stop = items,stairs,shops,altars,portals,branches # explore_stop += greedy_pickup_smart,greedy_visited_item_stack # sacrifice_before_explore = true # explore_improved = true # explore_wall_bias = 0 # travel_key_stop = false # auto_sacrifice = true # # explore_stop_pickup_ignore += curare # auto_exclude += oklob,statue,curse skull,roxanne,hyperactive,lightning spire # 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_poison = 2:30 # runrest_ignore_monster ^= butterfly:1 # runrest_ignore_monster ^= swamp worm:3 # runrest_stop_message += You hear a.* slurping noise # runrest_ignore_message += Jiyva's power touches on your attributes # 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 #rest_wait_both = true ##### 3-h Command Enhancements ################## # # auto_list = false # auto_switch = true # easy_open = false # easy_unequip = false # equip_unequip = true # easy_confirm = (none | safe | all) # allow_self_target = (yes | no | prompt) # 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 = (never | rotten | yes) # 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_stop = 30 ##### 3-i Messages and Display Enhancements ##### # hp_warning = 40 # 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 = false # 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 ##### 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 += bad_item.*potion:!q # autoinscribe += potion.*mutation:!q # autoinscribe_cursed = false # autoinscribe += fruit:!e # 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 = true # tile_window_width = 1024 # tile_window_height = 768 # tile_use_small_layout = true # tile_map_pixels = 3 # tile_cell_pixels = 32 # tile_filter_scaling = true # tile_force_overlay = true # tile_layout_priority = minimap, inventory, gold_turn, command, spell # tile_layout_priority += ability, monster # 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 ##### 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 = 20 # 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 = false ##### 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 # 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. ##### 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- Lua Files ################################################# # ##### 4- Interface ################################################# # ##### 4-a Picking up and Dropping ############### # # Rods are \ here. # autopickup = $?!:"/% # 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 = (single | multi | auto:5) # drop_filter += skeleton, corpse, useless_item # default_friendly_pickup = (none | friend | player | all) ##### 4-b Targetting ############################ # # default_target = false # target_unshifted_dirs = true # darken_beyond_range = false ##### 4-c Passive Sightings ##################### # # detected_monster_colour = lightred # detected_item_colour = green # remembered_monster_colour = darkgrey # clean_map = true ##### 4-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 ##### 4-e Level Map Functions ################### # # level_map_cursor_step = 7 # level_map_title = false # show_waypoints = false ##### 4-f Viewport Options ################### # # view_max_width = 33 # view_max_height = 21 # 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 ##### 4-g Travel and Exploration ################# # # travel_delay = 20 # explore_delay = -1 # travel_avoid_terrain = shallow water # # explore_greedy = false # explore_stop = items,stairs,shops,altars,portals,branches # explore_stop += greedy_pickup_smart,greedy_visited_item_stack # sacrifice_before_explore = true # explore_improved = true # explore_wall_bias = 0 # travel_key_stop = false # # explore_stop_pickup_ignore += curare # auto_exclude += oklob,statue,curse skull,roxanne,hyperactive,lightning spire # 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_poison = 2:30 # runrest_ignore_monster += butterfly:1 # runrest_ignore_monster += swamp worm:3 # runrest_stop_message += You hear a.* slurping noise # runrest_ignore_message += Jiyva's power touches on your attributes # A good number of runrest_messages is 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 #rest_wait_both = true ##### 4-h Stashes ############################### # # annotate_item_class = true # annotate_item_dropped = true ##### 4-i Command Enhancements ################## # # auto_list = false # auto_switch = true # easy_open = false # easy_unequip = false # equip_unequip = true # easy_confirm = (none | safe | all) # allow_self_target = (yes | no | prompt) # 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 # 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_stop = 30 ##### 4-j Messages and Display Enhancements ##### # hp_warning = 55 mp_warning = 30 hp_colour = 70:yellow, 40: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 = false # 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 # list_rotten = false # auto_drop_chunks = (never | rotten | yes) # msg_condense_repeats = false # msg_condense_short = false # show_no_ctele = false # skill_focus = false # show_travel_trail = true ##### Colours (messages and menus) ##### # # menu_colour_prefix_class = false # menu_colour_shops = false # 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 = You have reached level force_more_message = Your scales start force_more_message = You fall through a shaft ## Reduce chance of drowning because levitation or form runs out: force_more_message = Careful! # Announcements of timed portal vaults (bazaar, labyrinths): force_more_message = interdimensional caravan force_more_message = distant snort force_more_message = Your transformation is almost over. ##### 4-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 ##### 4-l Channels ############################## # # channel.multiturn = mute ##### 4-m Inscriptions ########################## # # autoinscribe += bad_item.*potion:!q # autoinscribe += potion.*mutation:!q # autoinscribe += royal jell:=g # autoinscribe_artefacts = false # autoinscribe_cursed = false # autoinscribe += fruit:!e ##### 4-n Macro related Options ################# # # flush.failure = false # flush.command = true # flush.message = true ##### 4-t 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 = true # tile_window_width = 1024 # tile_window_height = 768 # tile_map_pixels = 3 # tile_force_overlay = true # tile_layout_priority = minimap, inventory, gold_turn, command, spell # tile_layout_priority += ability, monster # 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 ##### 5- Dump File ################################################# # ##### 5-a Items and Kill List ################### # # kill_map = friend:you, other:you # dump_kill_places = (single | all | none) # dump_kill_breakdowns = true dump_item_origins = all # dump_item_origin_price = -1 # dump_message_count = 20 # 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 = false # dump_order = header, hiscore, stats, misc, mutations, skills, spells, action_counts, inventory, messages, screenshot, overview, turns_by_place, kills_by_place, monlist, kills, notes, vaults ##### 5-b 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 ##### 6- Miscellaneous ############################################# # ##### 6-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|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 ## Highlight the edge of unexplored terrain. # feature = explore horizon {',,green} ##### 6-b Windows console ####################### # # dos_use_background_intensity = true # background = black ##### 6-c Unix console ########################## # # use_fake_cursor = false ##### 6-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 # ------------------------------------------------ # AUTOMATIC # ------------------------------------------------ # -bind macro- # ===CrystalTap -for crystal of energy # ===MagicTap -for Sif, ChannelStaff, WucadMoo # ===Rebuff -for sequential rebuff # -Crystal ball of energy SLOT- : local CrystalBall_butt = "e" # -Source of MP channeling- # TapSource = 1-SifMuna # TapSource = 2-Staff # TapSource = 3-WucadMu : local TapSource = 3 # -Count of rebuff spells- : local buffs_count = 3 # -Track experience change- : local exp_tracker = true # -High damage taking warning- : local dmg_track = true # ------------------------------------------------ : local ChannelStaff_Slot = 1 : local CrystalBall_mp = 0 : local botstatus = "none" : local rebuff_order = 0 : local tapturns = 0 : local BeforeTapWeap_Slot = -1 : local old_xl = 0 : local old_xl_progress = 0 : local dmg_old_hp = 0 # ------------------------------------------------ # IN GAME BINDS # ------------------------------------------------ : function MagicTap_Key() : if TapSource == 1 then : send_orders('a') : send_orders('d') : end : if TapSource == 2 then : send_orders("V" .. items.index_to_letter(ChannelStaff_Slot)) : end : if TapSource == 3 then : send_orders("v") : end : end # ------------------------------------------------ : function Rebuff_Key(i) : if i == 1 then : send_orders('z') : send_orders('w') : end : if i == 2 then : send_orders('z') : send_orders('y') : end : if i == 3 then : send_orders('z') : send_orders('r') : end : end # ------------------------------------------------ # EVERY TURN FUNCTION # ------------------------------------------------ < function ready() if botstatus == "crystalball2" then if you.mp() > (CrystalBall_mp + 1) then say("Crystal ball of energy: +" .. (you.mp() - CrystalBall_mp) .. "MP.") else say("Fail.") end botstatus = "none" end if botstatus == "crystalball" then botstatus = "crystalball2" end if botstatus == "magictap" then MagicTap_step() if TapSource == 1 or TapSource == 3 then crawl.delay(50) end end if botstatus == "rebuff" then Rebuff_step() crawl.delay(50) end if dmg_track == true then DmgTrack() end if exp_tracker == true then ExpChangeTrack() end end > # ------------------------------------------------ # MP CHANNEL # ------------------------------------------------ : function MagicTap() : local bot_mp, bot_mmp = you.mp() : local FeW = -1 : if FindEnemy(false) == 0 then : botstatus = "magictap" : tapturns = 0 : if TapSource == 2 or TapSource == 3 then BeforeTapWeap_Slot = FindEquipedWeapon() end : else : if bot_mp == bot_mmp then : say("Full of magic") : else : if TapSource == 2 then : FeW = FindEquipedWeapon() : if FeW > -1 and string.find(items.inslot(FeW).name(),"staff of channeling") then : MagicTap_Key() : else : Weird_ChannelStaff(TapSource) : end : end : if TapSource == 3 then : FeW = FindEquipedWeapon() : if FeW > -1 and string.find(items.inslot(FeW).name(),"Staff of Wucad Mu") then : MagicTap_Key() : else : Weird_ChannelStaff(TapSource) : end : end : if TapSource == 1 then : MagicTap_Key() : end : end : end : end # ------------------------------------------------ : function MagicTap_step() : local bot_mp, bot_mmp = you.mp() : if bot_mp < bot_mmp and FindEnemy(true) == 0 then : tapturns = tapturns + 1 : if tapturns == 1 and (TapSource == 2 or TapSource == 3) then : Weird_ChannelStaff(TapSource) : else : MagicTap_Key() : end : else : botstatus = "none" : if bot_mp == bot_mmp then : if tapturns == 0 then : say("Full of magic") : else : if BeforeTapWeap_Slot > -1 then : send_orders("w" .. items.index_to_letter(BeforeTapWeap_Slot)) : BeforeTapWeap_Slot = -1 : tapturns = tapturns + 1 : botstatus = "magictap" : else : say("Full of magic, for " .. tapturns .. " turns") : tapturns = 0 : end : end : end : end : end # ------------------------------------------------ : function Weird_ChannelStaff(ts) : if Correct_ChannelStaff(ts) then : send_orders("w" .. items.index_to_letter(ChannelStaff_Slot)) : else : if ts == 2 then : say("Have no staff of channeling!") : end : if ts == 3 then : say("Have no Staff of Wucad Mu!") : end : botstatus = "none" : end : end # ------------------------------------------------ : function Correct_ChannelStaff(ts) : local i : local sFind = false : if ts == 2 then SourceName = "staff of channeling" end : if ts == 3 then SourceName = "Staff of Wucad Mu" end : if items.inslot(ChannelStaff_Slot) and string.find(items.inslot(ChannelStaff_Slot).name(), SourceName) then : sFind = true : else : for i = 0,51 do : it = items.inslot(i) : if it then : if string.find(it.name(), SourceName) then : sFind = true : ChannelStaff_Slot = i : end : end : end : end : return sFind : end # ------------------------------------------------ : function CrystalTap() : local bot_mp, bot_mmp = you.mp() : if bot_mp == bot_mmp then : say("Full of magic") : else : if items.inslot(items.letter_to_index(CrystalBall_butt)) and string.find(items.inslot(items.letter_to_index(CrystalBall_butt)).name(),"crystal ball of energy") then : if bot_mp < (bot_mmp*0.26) then : crawl.formatted_mpr("Use crystall ball of energy at " .. bot_mp .. " MP? (y/n) need " .. math.ceil(bot_mmp*0.26) .." MP." ) : crawl.flush_prev_message() : local res = crawl.getch() : if string.lower(string.char(res)) == "y" then : send_orders("V" .. CrystalBall_butt) : botstatus = "crystalball" : CrystalBall_mp = bot_mp : else : say("Okay, then.") : end : else : send_orders("V" .. CrystalBall_butt) : botstatus = "crystalball" : CrystalBall_mp = bot_mp : end : else : say("Have no crystal ball of energy at [" .. CrystalBall_butt .. "] slot!") : end : end : end # ------------------------------------------------ # DAMAGE TRACK # ------------------------------------------------ : function DmgTrack() : local bot_hp, bot_mhp = you.hp() : local dmg_inturn = 0 : local huge_int = 0 : local percent_hp = 0 : local percent_old_hp = 0 : local percent_hp_txt = "--%" : if dmg_old_hp > 0 then : if bot_hp < dmg_old_hp then : dmg_inturn = dmg_old_hp - bot_hp : percent_old_hp = math.ceil((dmg_old_hp*100)/bot_mhp) : percent_hp = math.ceil((bot_hp*100)/bot_mhp) : percent_hp_txt = percent_hp .. "%" : if percent_hp < 30 then : percent_hp_txt = "" .. percent_hp_txt .. "" : elseif percent_hp < 55 then : percent_hp_txt = "" .. percent_hp_txt .. "" : elseif percent_hp < 75 then : percent_hp_txt = "" .. percent_hp_txt .. "" : end : percent_hp_txt = percent_hp_txt .. "(" .. bot_hp .. "hp)" : if dmg_inturn > (bot_hp*0.25) then : say("Huge Dmg: -" .. (percent_old_hp-percent_hp) .. "%(-" .. dmg_inturn .. "hp)" .. " hp: " .. percent_hp_txt) : dmg_old_hp = bot_hp : crawl.flush_prev_message() : crawl.more() : crawl.more_autoclear(true) : else : if dmg_inturn > (bot_hp*0.15) then : say("Dmg: -" .. (percent_old_hp-percent_hp) .. "%(-" .. dmg_inturn .. "hp)" .. " hp: " .. percent_hp_txt) : else : say("Dmg: -" .. (percent_old_hp-percent_hp) .. "%(-" .. dmg_inturn .. "hp)" .. " hp: " .. percent_hp_txt) : end : end : crawl.flush_prev_message() : end : end : dmg_old_hp = bot_hp : end # ------------------------------------------------ # EXP TRACK # ------------------------------------------------ : function ExpChangeTrack() : local cur_xl = you.xl() : local cur_xl_progress = you.xl_progress() : local cur_change = 0 : local add_percent = 0 : local add_txt="" : if old_xl > 0 and cur_xl < 27 then : if not (old_xl == cur_xl and old_xl_progress == cur_xl_progress) then : add_percent = math.abs((cur_xl*100+cur_xl_progress) - (old_xl*100+old_xl_progress)) : if add_percent < 4 then : add_txt="~" : end : cur_change = GetExpirience(cur_xl,cur_xl_progress) - GetExpirience(old_xl,old_xl_progress) : if cur_change > 0 then : say("Exp: " .. add_txt .. cur_change .. "(" .. add_percent .. "%)") : elseif cur_change < 0 then : say("Drained exp: " .. add_txt .. cur_change .. "(" .. add_percent .. "%)") : end : crawl.flush_prev_message() : end : end : old_xl = cur_xl : old_xl_progress = cur_xl_progress : end # ------------------------------------------------ : function GetExpirience(level,l_progress) : local exp_points = 0 : local ExpTable = { : [1] = '0', : [2] = '10', : [3] = '30', : [4] = '70', : [5] = '140', : [6] = '270', : [7] = '520', : [8] = '1010', : [9] = '1980', : [10] = '3910', : [11] = '7760', : [12] = '15450', : [13] = '29000', : [14] = '48500', : [15] = '74000', : [16] = '105500', : [17] = '143000', : [18] = '186500', : [19] = '236000', : [20] = '291500', : [21] = '353000', : [22] = '420500', : [23] = '494000', : [24] = '573500', : [25] = '659000', : [26] = '750500', : [27] = '848000'} : exp_points = math.ceil((ExpTable[level+1] - ExpTable[level]) * l_progress / 100) : exp_points = ExpTable[level] + exp_points : return exp_points : end # ------------------------------------------------ # REBUFF # ------------------------------------------------ : function Rebuff() : rebuff_order = 0 : if botstatus == "none" then : botstatus = "rebuff" : end : end # ------------------------------------------------ : function Rebuff_step() : if FindEnemy(true) == 0 then : rebuff_order = rebuff_order + 1 : if rebuff_order > buffs_count then : botstatus = "none" : rebuff_order = 0 : say("Rebuff") : else : Rebuff_Key(rebuff_order) : end : else : botstatus = "none" : rebuff_order = 0 : end : end # ------------------------------------------------ # UTILS # ------------------------------------------------ : function FindEnemy(txt) : local x, y : local r = 8 : local i = 0 : local mname = "" : for x = -r,r do : for y = -r,r do : m = monster.get_monster_at(x, y) : if m and not m:is_safe() then : i = i + 1 : if i == 1 then : mname = m:desc() : else : mname = mname .. ", " .. m:desc() : end : end : end : end : if i > 0 then : if txt == true then : say("Enemy in LOS: " .. mname .. "") : end : end : return i : end # ------------------------------------------------ : function say(x) : crawl.mpr(x) : end # ------------------------------------------------ : function send_orders(command) : crawl.flush_input() : crawl.sendkeys(command) : crawl.flush_input() : end # ------------------------------------------------ : function FindEquipedWeapon() : local i : local it : local wfind = -1 : for i = 0,51 do : it = items.inslot(i) : if it and it.equipped and it.equip_type == 0 then : wfind = i : end : end : return wfind : end # ------------------------------------------------ : function stest() : mtest() : end # ------------------------------------------------ : function mtest() : local x, y : local r = 8 : local i = 0 : local xxx : for x = -r,r do : for y = -r,r do : m = monster.get_monster_at(x, y) : if m then : say("desc-" .. m:desc()) : say("Threat-" .. m:threat()) : say("attitude-" .. m:attitude()) : say("mname-" .. m:mname()) : say("type-" .. m:type()) : say("base_type-" .. m:base_type()) : say("number-" .. m:number()) : say("colour-" .. m:colour()) : say("damage_level-" .. m:damage_level()) : say("damage_desc-" .. m:damage_desc()) : crawl.flush_prev_message() : end : end : end : end # ------------------------------------------------ #!!!##################### Invisible ########### force_more_message = It hits you force_more_message = It misses you force_more_message = It closely misses you force_more_message = It completely misses you force_more_message = You block its attack