##### Crawl Init file ############################################### # For descriptions of all options, as well as some more in-depth information # on setting them, consult the file # options_guide.txt # in your /docs directory. If you can't find it, the file is also available # online at: # https://github.com/crawl/crawl/blob/master/crawl-ref/docs/options_guide.txt # # Crawl uses the first file of the following list as its option file: # * init.txt in the -rcdir directory (if specified) # * .crawlrc in the -rcdir directory (if specified) # * init.txt (in the Crawl directory) # * ~/.crawl/init.txt (Unix only) # * ~/.crawlrc (Unix only) # * ~/init.txt (Unix only) # * settings/init.txt (in the Crawl directory) ##### Some basic explanation of option syntax ####################### # 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. # # There are three broad types of Crawl options: true/false values (booleans), # arbitrary values, and lists of values. The first two types use only the # simple =, with later options - which includes your options that are different # from the defaults - overriding earlier ones. List options allow using +=, ^=, # -=, and = to append, prepend, remove, and reset, respectively. Usually you will # want to use += to add to a list option. Lastly, there is := which you can use # to create an alias, like so: # ae := autopickup_exceptions # From there on, 'ae' will be treated as if it you typed autopickup_exceptions, # so you can save time typing it. # ##### Other files ################################################### # You can include other files from your options file using the 'include' # option. Crawl will treat it as if you copied the whole text of that file # into your options file in that spot. You can uncomment some of the following # lines by removing the beginning '#' to include some of the other files in # this folder. # Some useful, more advanced options, implemented in LUA. # include = advanced_optioneering.txt # Alternative vi bindings for Dvorak users. # include = dvorak_command_keys.txt # Alternative vi bindings for Colemak users. # include = colemak_command_keys.txt # Override the vi movement keys with a non-command. # include = no_vi_command_keys.txt # Turn the shift-vi keys into safe move, instead of run. # include = safe_move_shift.txt ##### 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 # 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 # include = 0.12_monster_glyphs.txt # include = 0.13_monster_glyphs.txt # include = 0.14_monster_glyphs.txt #name = Fingolfin #restart_after_game = true default_manual_training = true rest_wait_both = true explore_auto_rest = false confirm_butcher = never autofight_caught = true equip_unequip = true auto_exclude += Sigmund auto_exclude += Grinder auto_exclude += Menkaure autopickup = $?!+"/%}| autopickup_exceptions ^= >staff of autopickup_exceptions ^= >scroll of silence, >uselessness, >noise autopickup_exceptions ^= >crystal ball autopickup_exceptions ^= ATT_NEUTRAL then return false end if m:is_firewood() then if not string.find(m:name(), "ballistomycete") then return false end end if m:name() == "butterfly" then return false end return true end end function check_los() local safe_los = true for i = -LOS,LOS do for j = -LOS,LOS do m = monster.get_monster_at(i,j) -- if m then if m and is_threatening(m) then -- comment this out and uncomment above if you want to fire on every monster to come into view; this will include things like plants safe_los = false end end end return safe_los end function inventory() return iter.invent_iterator:new(items.inventory()) end local auto_channel = false function ready() if auto_channel then local safe_los = check_los() local weap = items.equipped_at("Weapon") local is_wielding_energy_staff = false if weap then is_wielding_energy_staff = weap.name():find("staff of energy") end local safe_player_square = view.is_safe_square(0,0) and view.cloud_at(0,0) == nil local mp, mmp = you.mp() if mp < mmp and safe_los and safe_player_square and is_wielding_energy_staff then crawl.process_keys("v") crawl.flush_input() crawl.more_autoclear(true) else auto_channel = false end end end function launch_auto_channel() auto_channel = true end }