##### 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
#tile_player_tile = playermons
#tile_player_tile = mons:Antaeus
#tile_player_tile = mons:The Royal Jelly
#tile_player_tile = mons:Jory
#tile_player_tile = mons:Cerebov
#tile_player_tile = mons:Test spawner
#tile_player_tile = mons:banana.png
#tile_player_tile = mons:banana
#tile_player_tile = mons:ghost
#tile_player_tile = mons:MONS_HYDRA_7
#tile_player_tile = tile:MONS_GASTRONAUT
#tile_player_tile = tile:MONS_JACK_O_LANTERN
#tile_player_tile = tile:MONS_PANDEMONIUM_LORD
#tile_player_tile = tile:MONS_MEATLORD
#tile_player_tile = tile:MONS_GIAGGOSTUONO
#tile_player_tile = tile:MONS_UNKNOWN
#tile_player_tile = tile:MONS_PROGRAM_BUG
#tile_player_tile = tile:TRAP_NET
#tile_player_tile = tile:MONS_SENSED_TOUGH
#tile_player_tile = tile:TOWER_SHIELD_TEAL
#tile_player_tile = tile:BOTTLE
#tile_player_tile = tile:OLGREB
#tile_player_tile = tile:CURSOR
#tile_player_tile = mons:Khufu
#tile_player_tile = mons:deep troll
#tile_player_tile = mons:deep elf master archer
tile_player_tile = mons:Donald
#tile_player_tile = mons:manticore
tile_shield_offsets = 1,-3
tile_weapon_offsets = -4,1
show_game_time = false
#autofight_throw = true
rest_wait_percent = 80
--- LUA BLOCK
{
add_autopickup_func(function(it, name)
if it.is_useless then
return
end
if it.class(true) == "armour" then
local good_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves",
boots="Boots"}
st, _ = it.subtype()
if good_slots[st] ~= nil and items.equipped_at(good_slots[st]) == nil then
return true
end
end
end)
AUTOIDENT_SCROLL_MIN = 3
AUTOIDENT_POTION_MIN = 3
local function auto_identify()
local inv = items.inventory()
for _, it in ipairs(inv) do
if not it.fully_identified then
local letter = items.index_to_letter(it.slot)
if it.class() == "Scrolls" and it.quantity >= AUTOIDENT_SCROLL_MIN then
crawl.mpr("You have " .. AUTOIDENT_SCROLL_MIN .. " of an unidentified scroll. You should read one.")
elseif it.class() == "Potions" and it.quantity >= AUTOIDENT_POTION_MIN then
crawl.mpr("You have " .. AUTOIDENT_POTION_MIN .. " of an unidentified potion. You should quaff one.")
end
end
end
end
local function ihaveunidentified()
local inv = items.inventory()
for _, it in ipairs(inv) do
if not it.fully_identified then
return true
end
end
return false
end
local function ihaveidentify()
local inv = items.inventory()
for _, it in ipairs(inv) do
if string.find(it.name(), "dentify") then
return true
end
end
return false
end
local function ihaveidentify_at()
local inv = items.inventory()
for _, it in ipairs(inv) do
if string.find(it.name(), "dentify") then
local letter = items.index_to_letter(it.slot)
return letter
end
end
end
function ready()
if you.feel_safe() then
if not string.find(you.status(), "nable to read") then
auto_identify()
if ihaveunidentified() then
if ihaveidentify() then
crawl.mpr("You a scroll of identify and an unidentified item. Consider reading a scroll of identify at " .. ihaveidentify_at() .. ".")
end
end
end
end
end
}