#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 # Force more # Transmutations force_more_message += Your transformation is almost over force_more_message += You feel yourself come back to life runrest_stop_message += Your transformation is almost over # Gods force_more_message += You can now merge with and destroy a victim force_more_message += (ghost|fiend|hellion|lich|tormentor|tzitzi|hell sentinel|pandemonium lord|juggernaut|moth of wrath|curse toe|curse skull|orbs? of fire|serpent|elf sorcerer|elf demonologist).*(comes? into view|opens the) ## Malmutators force_more_message += (cacodemon|neqoxec|shining eye).*(comes? into view|opens the) ## Important force_more_message += (?-i:[A-Z]).*(comes? into view|opens the) force_more_message += (?!.*(Here|Aim):)^.*wielding.*of (distortion|chaos) force_more_message += (?!.*(Here|Aim):)^.*carrying a wand of force_more_message += You have reached level force_more_message += You fall through a shaft force_more_message += You enter a teleport trap force_more_message += You are suddenly yanked force_more_message += interdimensional caravan force_more_message += distant snort force_more_message += Found a gateway leading out of the Abyss force_more_message += Found a gateway leading deeper into the Abyss force_more_message += Found .* abyssal rune of Zot force_more_message += Careful! force_more_message += You are starting to lose your buoyancy force_more_message += You miscast Flight force_more_message += filled with .* inner flame force_more_message += grabs you force_more_message += looks more exp force_more_message += plume of calc force_more_message += vile air hits you force_more_message += engulfs you in water force_more_message += breathes miasma force_more_message += You feel your flesh start force_more_message += You are engulfed in seething chaos force_more_message += You are slowing down force_more_message += You are confused force_more_message += fire storm spell force_more_message += Your guardian golem overheats force_more_message += volcano erupts force_more_message += Uskayaw prepares the audience for your solo force_more_message += Something reaches out for you force_more_message += You become entangled in the net force_more_message += You feel yourself slow down. force_more_message += You feel a twist of horror # distortion more += Space warps horribly around you more += hits you.*distortion more += Space bends around you\. more += Your surroundings suddenly seem different. more += Its appearance distorts for a moment. # ghost moths/antimagic more += watched by something more += You feel your power leaking # torment/holy wrath more += You convulse # dispel breath more += dispelling energy hits you # early unseen horrors more += It hits you! more += Something hits you more += Something. *misses you. more += You have reached level more += You fall through a shaft # abyss convenience prompts more += Found an abyssal rune more += Found a gateway leading out of the Abyss # necromutation more += Your transformation is almost over. more += You feel yourself coming back to life # summon greater demon more += is no longer charmed # Announcements of timed portal vaults: more += interdimensional caravan more += distant snort more += roar of battle more += wave of frost more += hiss of flowing sand more += sound of rushing water more += oppressive heat about you more += crackle of arcane power more += Found a gateway leading out of the Abyss more += Found .* abyssal rune of Zot more += You feel a terrible weight on your shoulders more += .* resides here # Interrupts more += You don't.* that spell more += You miscast (Controlled Blink|Blink|Death's|Borg|Necromutation) more += You can't (read|drink|do) that more += That item cannot be evoked more += This wand has no charges more += You are held in a net more += You have disarmed more += You don't have any such object more += do not work when you're silenced more += You can't unwield more += enough magic points more += You feel your control is inadequate more += Something interferes with your magic more += You enter a teleport trap more += Vehumet offers you knowledge # Bad things more += Your surroundings flicker more += You cannot teleport right now more += The writing blurs in front of your eyes more += You fall through a shaft more += A huge blade swings out and slices into you! more += (blundered into a|invokes the power of) Zot more += Ouch! That really hurt! more += dispelling energy hits you more += You convulse more += You are (blasted|electrocuted) more += You are.*confused more += flesh start more += (starving) more += wrath finds you more += god:(sends|finds|silent|anger) more += You feel a surge of divine spite more += lose consciousness more += You are too injured to fight blindly more += calcifying dust hits more += Space warps horribly around you more += hits you.*distortion more += Space bends around you\. more += watched by something more += A sentinel's mark forms upon you more += Your limbs have turned to stone more += You are slowing down --more += .*LOW HITPOINT WARNING.* more += warns you.*of distortion more += lethally poison more += space bends around your --more += wielding.*of (distortion|chaos) # Hell effects # Re-enabled more += "You will not leave this place." more += "Die, mortal!" more += "We do not forgive those who trespass against us!" more += "Trespassers are not welcome here!" more += "You do not belong in this place!" more += "Leave now, before it is too late!" more += "We have you now!" more += You smell brimstone. more += Brimstone rains from above. more += You feel lost and a long, long way from home... more += You shiver with fear. more += You feel a terrible foreboding... more += Something frightening happens. more += You sense an ancient evil watching you... more += You suddenly feel all small and vulnerable. more += You sense a hostile presence. more += A gut-wrenching scream fills the air! more += You hear words spoken in a strange and terrible language... more += You hear diabolical laughter! # Expiring effects more += You feel yourself slow down more += less insulated more += You are starting to lose your buoyancy more += You lose control over your flight more += Your hearing returns more += Your transformation is almost over more += You have a feeling this form more += You feel yourself come back to life more += uncertain more += time is quickly running out more += life is in your own hands more += is no longer charmed more += shroud falls apart more += You start to feel a little slower more += You flicker more += You feel less protected from missiles # Others more += You have finished your manual of more += Your scales start more += You feel monstrous more += zaps a wand more += is unaffected more += Jiyva alters your body # more += Found a stone staircase # Uniques and baddies # Any uniques and any pan lords more += (?-i:[A-Z]).* comes? into view more += .*player ghost.* comes? into view more += .*Ancient Lich.*comes? into view. more += .*Orbs? of Fire.*comes? into view. more += .*Fiend.*comes? into view. more += .*Hellion.*comes? into view. more += .*Tormentor.*comes? into view. more += .*Hell Sentinel.*comes? into view. more += .*Executioner.*comes? into view. more += .*Neqoxec.*comes? into view. more += .*Cacodemon.*comes? into view. more += .*Shining Eye.*comes? into view. more += .*Greater Mummy.*comes? into view. more += .*Mummy Priest.*comes? into view. more += .*Curse Toe.*comes? into view. more += .*Curse Skull.*comes? into view. more += .*('s|s') ghost.*comes? into view. more += .*shrike.*comes? into view. more += .*wretched star.*comes? into view more += .*lurking horror.*comes? into view more += .*Hell Juggernaut.*comes? into view. #Paralysis enemies more += .*Giant Eyeball.*comes? into view. more += .*Lich.*comes? into view. more += .*Ogre Mage.*comes? into view. more += .*a Wizard.*comes? into view. more += .*orc sorcerer.*comes? into view. more += .*sphinx.*comes? into view. more += .*Vampire knight.*comes? into view. more += .*Great orb of eyes.*comes? into view. # Dancing weapon more += Your.*falls from the air. # Training target more += Training target.*reached # Djinni more += The power to cast .* wells up from within. ## 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 }