###################### # Early Game Options # ###################### #more += .*comes into view autofight_stop = 70 #autofight_throw = true autofight_throw_nomove = true hp_warning = 55 { local need_skills_opened = true function ready() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end } ########## # Macros # ########## flush.failure = true flush.command = true ###################### # Glyphs and Colours # ###################### enemy_hp_colour = green green brown brown darkgrey red lightgrey tile_display_mode = hybrid colour.darkgray = blue stab_brand = hi:blue friend_brand = hi:lightblue include += old_unicode_glyphs.txt show_player_species = true display_char = wall : x2588 feature = (closed|runed|sealed) door {+,,} mon_glyph += dancing weapon : lightred Ψ mon_glyph += octopode crusher : yellow χ mon_glyph += Asterion : lightmagenta mon_glyph += Gastronok : lightmagenta mon_glyph += hydra : yellow mon_glyph += blink frog : lightred mon_glyph += catoblepas : lightmagenta mon_glyph += large simulacrum : ice Z mon_glyph += large skeleton : lightgrey Z mon_glyph += large zombie : brown Z mon_glyph += simulacrum : ice z mon_glyph += skeleton : lightgrey z mon_glyph += zombie : brown z mon_glyph += small simulacrum : ice z mon_glyph += small skeleton : lightgrey z mon_glyph += small zombie : brown z mon_glyph += Shadow Fiend : lightmagenta mon_glyph += greater mummy : lightblue mon_glyph += lich : white mon_glyph += ancient lich : lightmagenta mon_glyph += hellion : fire mon_glyph += tormentor : unholy mon_glyph += sensed monster : lightred mon_glyph += trivial sensed monster : lightgray mon_glyph += easy sensed monster : gray mon_glyph += tough sensed monster : red mon_glyph += nasty sensed monster : lightred mon_glyph += black mamba : cyan mon_glyph += goliath beetle : lightblue mon_glyph += dire elephant : lightgreen mon_glyph += lorocyproca : lightcyan mon_glyph += tengu conjurer : lightblue mon_glyph += raven : lightblue mon_glyph += naga warrior : cyan mon_glyph += iguana : lightblue mon_glyph += porcupine : lightblue mon_glyph += Pikel : lightblue mon_glyph += Grinder : lightblue mon_glyph += lurking horror : unholy mon_glyph += draconian monk : lightmagenta mon_glyph += boggart : lightmagenta mon_glyph += titan : lightmagenta mon_glyph += wretched star : lightmagenta mon_glyph += Nessos : lightmagenta mon_glyph += orb of fire : lightred ########## # Travel # ########## explore_stop = items,greedy_items,greedy_pickup,greedy_pickup_gold explore_stop += greedy_visited_item_stack,stairs,shops,altars,gates explore_stop += greedy_sacrificeable travel_key_stop = false ############## # Autopickup # ############## pickup_mode = multi autopickup = $?!/\%=+ ae := autopickup_exceptions #ae = ae += (useless|evil)_item ae += dangerous_item.*scrolls? of (holy word|noise|torment) ae += potions? of (flight|lignification|mutation) ae += wand of (enslavement|polymorph|random effects|slowing) ae += wand of (flame|frost|magic darts) ae += <(throwing net|curare)> ae += <(sack of spiders|lamp of fire|phial of floods|fan of gales)> #ae += ae += : local dmg_old_hp = 0 : function DmgTrack() : local bot_hp, bot_mhp = you.hp() : local dmg_inturn = 0 : if dmg_old_hp > 0 then : dmg_inturn = dmg_old_hp - bot_hp : if bot_hp < dmg_old_hp then : crawl.mpr("You take " .. dmg_inturn .. " damage.") : end : end : dmg_old_hp = bot_hp : end { local function armour_plus(it) local plus = string.gsub(it.name(), "+", "", 1) return tonumber(string.gsub(plus, "[^-%d]", "")) end local function autopickup(it, name) if it.is_useless then return false end if it.artefact then return true end local class = it.class(true) if class == "armour" then local good_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots"} st, _ = it.subtype() if good_slots[st] ~= nil then if it.branded then return true end local cur = items.equipped_at(good_slots[st]) if cur == nil then return true end if cur.branded or cur.artefact then return false end if armour_plus(it) ~= nil then if armour_plus(it) > armour_plus(cur) then return true end else if armour_plus(cur) < 0 then return true end end end end if class == "missile" then if name:find("curare") then return true end if name:find("throwing net") then return true end end return false end add_autopickup_func(autopickup) } ################ # Key bindings # ################ # Useless commands bindkey = [R] CMD_NO_CMD_DEFAULT bindkey = [T] CMD_NO_CMD_DEFAULT bindkey = [O] CMD_NO_CMD_DEFAULT bindkey = [|] CMD_NO_CMD_DEFAULT bindkey = [D] CMD_NO_CMD_DEFAULT # Macro keys bindkey = [`] CMD_NO_CMD_DEFAULT bindkey = [1] CMD_NO_CMD_DEFAULT bindkey = [2] CMD_NO_CMD_DEFAULT bindkey = [3] CMD_NO_CMD_DEFAULT bindkey = [4] CMD_NO_CMD_DEFAULT bindkey = [6] CMD_NO_CMD_DEFAULT bindkey = [7] CMD_NO_CMD_DEFAULT bindkey = [8] CMD_NO_CMD_DEFAULT bindkey = [9] CMD_NO_CMD_DEFAULT bindkey = [0] CMD_NO_CMD_DEFAULT # Wizmode bindkey = [&] CMD_NO_CMD_DEFAULT # Targeting bindkey = [\] CMD_TARGET_OBJ_CYCLE_FORWARD bindkey = [^I] CMD_TARGET_CYCLE_FORWARD # Saving bindkey = [S] CMD_SAVE_GAME_NOW