##### 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 # Alternative vi bindings for Neo users. # include = neo_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 = 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 # ------------ # Information # ------------ # Options Guide # raw.githubusercontent.com/crawl/crawl/master/crawl-ref/docs/options_guide.txt # Lua Docs # doc.dcss.io # ------------ # Startup # ------------ { local need_skills_opened = true function ready() -- Skill menu at game start by rwbarton -- Modified -- The double "!" sets the appearance to training percentage if you.turns() == 0 and need_skills_opened and you.race() ~= "Gnoll" then crawl.sendkeys("m!!") need_skills_opened = false end -- Load the saved message load_message() end } # ------------ # Macros # ------------ # Write a message on save to be displayed on load macros += M S ===save_with_message # Racial ability macros += M ` af # ------------ # Visual # ------------ # Better look on some terminals # bold_brightens_foreground=true # ------------ # Skills # ------------ # Always start out with manual training mode default_manual_training = true # ------------ # Messaging # ------------ # Stopping points stop := runrest_stop_message # Transmutation combat help stop += Your transformation is almost over. stop += Your transformation has ended. # Don't do more messages if too many messages are sent show_more = false # Make adding forced more messages easier more := force_more_message # Transmuter help more += Your transformation is almost over. # Manual help more += finished your manual # ------------ # Items # ------------ # Some default key combos ai := autoinscribe # Scrolls ai += of identify:@r1 ai += remove curse:@r2 # Potions ai += curing:@q1 ai += heal wounds:@q2 # Stuff that shouldn't be automatically picked up ae := autopickup_exceptions ae += orb of zot # ------------ # Spells # ------------ # Spell slot defaults slot := spell_slot # Lowercase for nice positions slot += fireball:i slot += lee's rapid deconstruction:d #' slot += conjure flame:c slot += fulminant prism:f # Infrequently used slot += blink:B # Uppercase to try to avoid troublesome recasting slot += death's door:D #' slot += borgnjor's revivification:K #' # Level-9s slot += absolute zero:y slot += fire storm:k slot += shatter:j slot += tornado:u # ------------ # Movement # ------------ # Visible movement when online explore_delay = -1 travel_delay = 20 # ------------ # Extra # ------------ # Always show the time remaining for the level # always_show_zot = true # fake_lang = kraut # ------------ # Lua # ------------ # Lua console access bindkey = [~] CMD_LUA_CONSOLE # Create a message when saving that will be displayed on load # Modified from stuff on the internet { message_color = "white" -- Wrapper of crawl.mpr() that prints text in white by default. if not mpr then mpr = function (msg, color) if not color then color = "white" end crawl.mpr("<" .. color .. ">" .. msg .. "") end end function save_with_message() if you.turns() == 0 then crawl.sendkeys("S") return end crawl.formatted_mpr("What do you want to say?: ", "prompt") local res = crawl.c_input_line() c_persist.message = res -- crawl.sendkeys(control("s")) crawl.sendkeys("S") end function load_message() if c_persist.message and c_persist.message ~= "nil" and c_persist.message ~= "" then mpr("You hear yourself whisper: " .. c_persist.message, message_color) c_persist.message = nil end end } # Death's door { function c_message(text, channel) local dd_almost_message = "Your time is quickly running out!" local dd_alive_message = "Your life is in your own hands again!" if text:find(dd_almost_message) then local prepared = False while not prepared do prepared = crawl.yesno("Are you preparing to come back to life?") end end if text:find(dd_alive_message) then local prepared = False while not prepared do prepared = crawl.yesno("Are you ready to live again?") end end end } # Autopickup armour for available slots { add_autopickup_func(function(item, name) if item.class() == "Armour" and not item.is_useless and not items.equipped_at(item.equip_type) then return true end end) }