############# Mitt default_manual_training = true autofight_throw = false autofight_throw_nomove = false autofight_stop = 70 hp_warning = 50 show_more = false travel_open_doors = false tile_show_threat_level = nasty #opportunity attack notifier flash_screen_message += attacks as you move away # ------- Breyta þessu til að spara tíma explore_auto_rest = true warn_hatches = true jewellery_prompt = false equip_unequip = true allow_self_target = false auto_hide_spells = true wall_jump_move = false autopickup_starting_ammo = true pickup_thrown = true explore_greedy = true explore_wall_bias = 1 autofight_caught = true tile_window_width = 1500 tile_window_height = 1000 easy_confirm = none show_game_time = true tile_web_mouse_control = false bold_brightens_foreground = true sort_menus = true : equipped, identified, basename, qualname, charged # travel_avoid_terrain = deep water, lava tile_map_pixels = 4 view_delay = 100 # Exploration animation show_travel_trail = true #explore_delay = -1 travel_delay = -1 rest_delay = -1 # Notes dump_item_origins = all dump_message_count = 150 dump_book_spells = false # Spell Slots spell_slot += Animate Skeleton:Z spell_slot += Animate Dead:z spell_slot += Apportation:A spell_slot += Blink:B spell_slot += Mephitic Cloud:C spell_slot += Passwall:P spell_slot += Sublimation of Blood:S spell_slot += Swiftness:S #================= #/// Functions \\\ #================= ## Skill menu at game start by rwbarton ## { 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 } ## Dynamic Force Mores ## { last_turn = you.turns() fm_patterns = { {name = "XL5", cond = "xl", cutoff = 5, pattern = "adder|gnoll"}, -- {name = "XL8", cond = "xl", cutoff = 8, pattern = "ogre|centaur|orc wizard|scorpion|worker ant"}, -- {name = "XL15", cond = "xl", cutoff = 15, pattern = "two-headed ogre|centaur warrior|orc (warlord|knight)"}, -- {name = "50mhp", cond = "maxhp", cutoff = 50, pattern = "orc priest|electric eel"}, -- {name = "60mhp", cond = "maxhp", cutoff = 60, pattern = "acid dragon|steam dragon|manticore"}, -- {name = "70mhp", cond = "maxhp", cutoff = 70, pattern = "meliai"} } -- end fm_patterns active_fm = {} -- Set to true to get a message when the fm change notify_fm = false 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 = "(" .. v.pattern .. ").*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 == "rf" then if active_fm[i] and you.res_fire() >= v.cutoff then action = "-" elseif not active_fm[i] and you.res_fire() < v.cutoff then action = "+" end elseif v.cond == "rc" then if active_fm[i] and you.res_cold() >= v.cutoff then action = "-" elseif not active_fm[i] and you.res_cold() < v.cutoff then action = "+" end elseif v.cond == "relec" then if active_fm[i] and you.res_shock() >= v.cutoff then action = "-" elseif not active_fm[i] and you.res_shock() < v.cutoff then action = "+" end elseif v.cond == "rpois" then if active_fm[i] and you.res_poison() >= v.cutoff then action = "-" elseif not active_fm[i] and you.res_poison() < v.cutoff then action = "+" end elseif v.cond == "rcorr" then if active_fm[i] and you.res_corr() then action = "-" elseif not active_fm[i] and not you.res_corr() then action = "+" end elseif v.cond == "rn" then if active_fm[i] and you.res_draining() >= v.cutoff then action = "-" elseif not active_fm[i] and you.res_draining() < v.cutoff then action = "+" end elseif v.cond == "fly" then if active_fm[i] and not you.flying() then action = "-" elseif not active_fm[i] and you.flying() then action = "+" end elseif v.cond == "mhp" 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() } ## Pickup Armor for Empty Slot## { local function autopickup(it, name) if it.is_useless then return false 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 and items.equipped_at(good_slots[st]) == nil then return true end end end add_autopickup_func(autopickup) } #################### # Autoinscriptions # #################### ai := autoinscribe ai += (bad|dangerous)_item.*amulet:!P ai += (bad|dangerous)_item.*potion:!q ai += (bad|dangerous)_item.*scroll:!r ai += of faith:!P ai += amulet of harm:!P ai += rod of:!a ai += lightning rod:!a #ai += [^r]staff of (conj|energy|power|wizardry):!a ai += manual of:!d ai += dispersal:!f ai += tome of Destruction:!d ai += ( ration):!d ai += figurine:!* : if you.god() ~= "Lugonu" then ai += (distortion):!w :end ai += of identify:@r1 ai += remove curse:@r2 ai += curing:@q1 ai += potions? of heal wounds:@q2 ai += wand of heal wounds:@v2 ai += wand of hasting:@v3 ai += potions? of haste:@q3 ai += scrolls? of teleportation:@r4 ai += wand of teleportation:@v4 ai += potions? of blood:@q0 ############### # Auto pickup # ############### ae := autopickup_exceptions ae +=