##### 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 default_manual_training = true assign_item_slot = backward autopickup_starting_ammo = false autopickup_exceptions -= dangerous_item #autoinscribe += (bad|dangerous)_item.*scroll:!r #autoinscribe += (bad|dangerous)_item.*potion:!q autoinscribe += throwing net:=f autoinscribe += (javelin|tomahawk)s? of (dispersal|penetration):=f autoinscribe += (exploding|poisoned|silver) (javelin|tomahawk):=f autoinscribe += needles? of (confusion|frenzy|paralysis|sleeping):=f autoinscribe += curare-tipped needle:=f < local firstturn = you.turns() == 0 local firstturnthissession = true local yesnochoices = {} if firstturn then c_persist.optionlines = {} else for i, option in ipairs(c_persist.optionlines) do crawl.setopt(option) end end local function yesnoremember(prompt) local choice = yesnochoices[prompt] if choice == nil then local fullprompt = prompt .. " (select all to remember choice)" local response = crawl.yesnoquit(fullprompt, true, nil, true) local remember = false if response == 2 then fullprompt = prompt .. " (choice will be remembered)" response = crawl.yesnoquit(fullprompt, false) if response ~= -1 then remember = true end end choice = response == 1 if remember then yesnochoices[prompt] = choice end end return choice end local function setcustomopt(option) crawl.setopt(option) table.insert(c_persist.optionlines, option) end local function setcustomoptprompt(option) if crawl.yesno("Add following option?\n" .. option, true) then setcustomopt(option) end end local function weaponskill() local weapon = items.equipped_at("Weapon") if weapon then return weapon.weap_skill else return "Unarmed Combat" end end function ready() if firstturn then firstturn = false crawl.do_commands({"CMD_DISPLAY_SKILLS"}) if you.class() == "Hunter" or you.class() == "Arcane Marksman" then setcustomoptprompt("fire_order = launcher, inscribed") end end if firstturnthissession then firstturnthissession = false end end function autoexploreprompt() if yesnoremember("Auto-explore?") then crawl.do_commands({"CMD_EXPLORE"}) end end function clearmapprompt() if yesnoremember("Clear map?") then crawl.do_commands({"CMD_CLEAR_MAP"}) end end function customoptions() crawl.mpr("Set custom options for this game only\n" .. "a: Add option, l: List options, d: Delete option\n") local choice = crawl.c_input_line() if choice == "a" then crawl.mpr("Type an option:\n") local option = crawl.c_input_line() if option ~= nil then setcustomopt(option) end elseif choice == "l" then local options = {} for i, option in ipairs(c_persist.optionlines) do table.insert(options, i .. " " .. option) end crawl.mpr(table.concat(options, "\n")) elseif choice == "d" then crawl.mpr("Enter option number to delete:\n") local number = crawl.c_input_line() if number ~= nil then table.remove(c_persist.optionlines, number) crawl.mpr("Changes will take effect after saving and" .. " reloading game.") end end end function execlua() crawl.mpr("Execute lua code:\n") local code = crawl.c_input_line() if code ~= nil then crawl.mpr(" " .. code) local func, error = loadstring(code) if func then func() else crawl.mpr(error) end end end if firstturn then if you.race() == "Octopode" and you.class() == "Warper" then you.train_skill(weaponskill(), 2) you.train_skill("Throwing", 2) you.train_skill("Spellcasting", 0) you.train_skill("Stealth", 2) end end >