#tile_viewport_scale = 1.0 bindkey = [^C] CMD_QUIT travel_delay = -1 explore_delay = -1 rest_delay = -1 assign_item_slot = backward auto_butcher = true # auto_hide_spells = true auto_switch = true autofight_throw = false autofight_caught = true autofight_stop = 50 cloud_status = true default_manual_training = true default_show_all_skills = true easy_eat_chunks = true fail_severity_to_confirm = 2 hp_warning = 25 rest_wait_both = true show_more = false sort_menus = true : equipped, identified, basename, qualname, charged tile_skip_title = true tile_web_mouse_control = false warn_hatches = true explore_stop += artefacts, glowing_items explore_auto_rest = true wall_jump_move = true wall_jump_prompt = true # Autoexclude auto_exclude += Agnes, Aizul, Arachne, Asterion, Blork, Boris, Crazy Yiuf, Donald, Dowan auto_exclude += Duvessa, Edmund, Erica, Eustachio, Fannar, Frances, Frederick, Gastronok auto_exclude += Grum, Harold, Ijyb, Jessica, Jorgrun, Joseph, Kirke, Louise, Maggie, Mara, Maud auto_exclude += Maurice, Menkaure, Mennas, Natasha, Nergalle, Nessos, Nikola, Pikel auto_exclude += Polyphemus, Prince Ribbit, Psyche, Roxanne, Saint Roka, Sigmund, Snorg auto_exclude += Sojobo, Sonja, Terence, Urug, Wiglaf, Xtahua, hog, slave auto_exclude += ancient lich, death drake, hydra, ice statue, orb of fire ## paralysing monsters and uniques auto_exclude += [^c] wizard, ancient lich, Ereshkigal, Erolcha, eyeball, Grinder, Jory, lich auto_exclude += Norris, ogre-mage, orb of eyes, orc sorcerer, Rupert, sphinx, vampire knight ai := autoinscribe ae := autopickup_exceptions is := item_slot as := ability_slot ss := spell_slot more := force_more_message # Autoinscribe ai ^= of identify:@r1 ai ^= curing:@q1 ai ^= of heal wounds:@q2 ai ^= \brations?\b:!d ai ^= potion.*mutation:!q ai ^= scroll of silence:!r # Autopickup ae += scrolls? of torment : end : if you.race() == "Vampire" or you.race() == "Mummy" or you.race() == "Ghoul" or you.race() == "Demonspawn" then ae += >scrolls? of holy word : end : if you.god() == "Trog" then ae += >potions? of brilliance ae += >potions? of berserk : end : if you.god() == "Xom" then more += god: : end : if you.god() == "Zin" then ae ^= potions? of ambro : end ## #bindkey = [n] CMD_MOVE_LEFT #bindkey = [e] CMD_MOVE_DOWN #bindkey = [u] CMD_MOVE_UP #bindkey = [i] CMD_MOVE_RIGHT #bindkey = [l] CMD_MOVE_UP_LEFT #bindkey = [y] CMD_MOVE_UP_RIGHT #bindkey = [h] CMD_MOVE_DOWN_LEFT #bindkey = [.] CMD_MOVE_DOWN_RIGHT # #bindkey = [N] CMD_RUN_LEFT #bindkey = [E] CMD_RUN_DOWN #bindkey = [U] CMD_RUN_UP #bindkey = [I] CMD_RUN_RIGHT #bindkey = [L] CMD_RUN_UP_LEFT #bindkey = [Y] CMD_RUN_UP_RIGHT #bindkey = [H] CMD_RUN_DOWN_LEFT #bindkey = [>] CMD_RUN_DOWN_RIGHT # #bindkey = [n] CMD_TARGET_LEFT #bindkey = [e] CMD_TARGET_DOWN #bindkey = [u] CMD_TARGET_UP #bindkey = [i] CMD_TARGET_RIGHT #bindkey = [l] CMD_TARGET_UP_LEFT #bindkey = [y] CMD_TARGET_UP_RIGHT #bindkey = [h] CMD_TARGET_DOWN_LEFT #bindkey = [.] CMD_TARGET_DOWN_RIGHT # #bindkey = [N] CMD_TARGET_DIR_LEFT #bindkey = [E] CMD_TARGET_DIR_DOWN #bindkey = [U] CMD_TARGET_DIR_UP #bindkey = [I] CMD_TARGET_DIR_RIGHT #bindkey = [L] CMD_TARGET_DIR_UP_LEFT #bindkey = [Y] CMD_TARGET_DIR_UP_RIGHT #bindkey = [H] CMD_TARGET_DIR_DOWN_LEFT #bindkey = [>] CMD_TARGET_DIR_DOWN_RIGHT # #bindkey = [n] CMD_MAP_MOVE_LEFT #bindkey = [e] CMD_MAP_MOVE_DOWN #bindkey = [u] CMD_MAP_MOVE_UP #bindkey = [i] CMD_MAP_MOVE_RIGHT #bindkey = [l] CMD_MAP_MOVE_UP_LEFT #bindkey = [y] CMD_MAP_MOVE_UP_RIGHT #bindkey = [h] CMD_MAP_MOVE_DOWN_LEFT #bindkey = [.] CMD_MAP_MOVE_DOWN_RIGHT # #bindkey = [N] CMD_MAP_JUMP_LEFT #bindkey = [E] CMD_MAP_JUMP_DOWN #bindkey = [U] CMD_MAP_JUMP_UP #bindkey = [I] CMD_MAP_JUMP_RIGHT #bindkey = [L] CMD_MAP_JUMP_UP_LEFT #bindkey = [Y] CMD_MAP_JUMP_UP_RIGHT #bindkey = [H] CMD_MAP_JUMP_DOWN_LEFT #bindkey = [>] CMD_MAP_JUMP_DOWN_RIGHT ## #bindkey = [j] CMD_EAT #bindkey = [J] CMD_EXPERIENCE_CHECK #bindkey = [j] CMD_MAP_EXCLUDE_AREA #bindkey = [^J] CMD_MAP_CLEAR_EXCLUDES # #bindkey = [k] CMD_DISPLAY_INVENTORY #bindkey = [K] CMD_DISPLAY_SPELLS #bindkey = [K] CMD_MAP_FIND_STASH #bindkey = [^K] CMD_TARGET_FIND_PORTAL # #bindkey = [,] CMD_WAIT #bindkey = [s] CMD_REST # # #bindkey = [;] CMD_GO_UPSTAIRS #bindkey = [;] CMD_MAP_FIND_UPSTAIR #bindkey = [:] CMD_GO_DOWNSTAIRS #bindkey = [:] CMD_MAP_FIND_DOWNSTAIR { --------------------------- ---- Begin force_mores ---- --------------------------- -- See README.md for documentation. last_turn = you.turns() -- Each entry must have a name field with a descriptive name, a pattern field -- giving the regexp matching the appropriate monster(s), a cond field giving -- the condition type, and a cutoff field giving the max value where the -- force-more is active. Possible values for cond are xl and maxhp. Note that -- the final force_more pattern will be "(PATTERN).*into view" where PATTERN is -- the value from the pattern field if that is a string, or if pattern is an -- array, a string made from joining the entries in pattern with '|'. fm_patterns = { -- Fast, early game Dungeon problems for chars with low mhp. {name = "30mhp", cond = "maxhp", cutoff = 30, pattern = "adder|hound"}, -- Dungeon monsters that can damage you for close to 50% of your mhp with a -- ranged attack. {name = "40mhp", cond = "maxhp", cutoff = 40, pattern = "orc priest|electric eel"}, {name = "60mhp", cond = "maxhp", cutoff = 60, pattern = "acid dragon|steam dragon|manticore"}, {name = "70mhp", cond = "maxhp", cutoff = 70, pattern = "centaur|meliai|yaktaur"}, {name = "80mhp", cond = "maxhp", cutoff = 80, pattern = "gargoyle|orc (warlord|knight)"}, {name = "90mhp", cond = "maxhp", cutoff = 90, pattern = "centaur warrior|efreet|molten gargoyle|tengu conjurer"}, {name = "110mhp", cond = "maxhp", cutoff = 110, pattern = {"centaur warrior", "deep elf", "cyclops", "efreet", "molten gargoyle", "tengu conjurer", "yaktaur captain", "necromancer", "deep troll earth mage", "hell knight", "stone giant"} }, {name = "160mhp", cond = "maxhp", cutoff = 160, pattern = {"(fire|ice|quicksilver|shadow|storm) dragon", "(fire|frost) giant", "war gargoyle"} }, } -- end fm_patterns active_fm = {} -- Set to true to get a message when the fm change notify_fm = false -- 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 init_force_mores() for i,v in ipairs(fm_patterns) do active_fm[#active_fm + 1] = false end end function update_force_mores() local activated = {} local deactivated = {} local hp, maxhp = you.hp() for i,v in ipairs(fm_patterns) do local msg = nil if type(v.pattern) == "table" then for j, p in ipairs(v.pattern) do if msg == nil then msg = p else msg = msg .. "|" .. p end end else msg = v.pattern end msg = "(" .. msg .. ").*into view" local action = nil local fm_name = v.pattern if v.name then fm_name = v.name end if not v.cond and not active_fm[i] then action = "+" elseif v.cond == "xl" then if active_fm[i] and you.xl() >= v.cutoff then action = "-" elseif not active_fm[i] and you.xl() < v.cutoff then action = "+" end elseif v.cond == "maxhp" then if active_fm[i] and maxhp >= v.cutoff then action = "-" elseif not active_fm[i] and maxhp < v.cutoff then action = "+" end end if action == "+" then activated[#activated + 1] = fm_name elseif action == "-" then deactivated[#deactivated + 1] = fm_name end if action ~= nil then local opt = "force_more_message " .. action .. "= " .. msg crawl.setopt(opt) active_fm[i] = not active_fm[i] end end if #activated > 0 and notify_fm then mpr("Activating force_mores: " .. table.concat(activated, ", ")) end if #deactivated > 0 and notify_fm then mpr("Deactivating force_mores: " .. table.concat(deactivated, ", ")) end end local last_turn = nil function force_mores() if last_turn ~= you.turns() then update_force_mores() last_turn = you.turns() end end init_force_mores() ------------------------- ---- End force_mores ---- ------------------------- local need_skills_opened = true function open_skill_menu_on_start() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end -- function ready() open_skill_menu_on_start() -- Enable force_mores force_mores() end }