autofight_stop = 60 autopickup += $?!"/%}\( ### armour and weapon pickup?? ## autobutcher # Set Alias for Autopickup Exceptions ae := autopickup_exceptions ae += useless_item, dangerous_item, evil_item # Autopickup artefacts ae += 2) or armourname:find("dragon") or armourname:find("troll") then return it.artefact else return it.artefact or it.branded or it.ego end end return true end if (sub_type == "shield") then if equipped_item then return it.artefact or it.branded or it.ego end end end if (class == "weapon") then if it.is_useless then return false end if (you.xl() < 12) or (you.god():find("Nemelex") or (you.god():find("Yred")) or (you.god():find("Beogh"))) then if it.branded and not (it.name() == "club") then return false end end local weapon = items.equipped_at("Weapon") if weapon then if (weapon.branded or weapon.artefact) then return false else local weapon_name = weapon.name() local sb = you.skill("Short Blades") local lb = you.skill("Long Blades") local axe = you.skill("Axes") local mf = you.skill("Maces & Flails") local pole = you.skill("Polearms") local staff = you.skill("Staves") if sb > 6 then if name:find("quick blade") then return true end end if lb > 8 then if name:find("demon blade") then return true end if name:find("bastard sword") then return true end if name:find("double sword") then return true end end if lb > 14 then if name:find("claymore") then return true end if name:find("triple sword") then return true end end if axe > 8 and mf <= 8 then if name:find("battleaxe") then return true end if name:find("broad axe") then return true end if name:find("war axe") then return true end if name:find("executioner") then return true end end if axe > 18 then if name:find("executioner") then return true end end if mf > 8 and staff <= 8 and axe <= 8 then if name:find("eveningstar") then return true end if name:find("demon whip") then return true end if name:find("sacred scourge") then return true end if name:find("dire flail") then return true end end if mf > 14 and staff <= 14 and axe <= 14 then if name:find("great mace") then return true end end if pole > 8 and staff <= 8 then if name:find("trident") then return true end if name:find("demon trident") then return true end if name:find("trishula") then return true end end if pole > 14 and staff <= 14 then if name:find("glaive") then return true end if name:find("bardiche") then return true end end if staff > 8 then if name:find("lajatang") then return true end end end elseif (you.skill("Unarmed Combat") < 3) then return true end end end) } travel_delay = 1 explore_stop = glowing_items,artefacts,greedy_pickup_smart explore_stop += greedy_visited_item_stack,stairs,shops explore_stop += altars,portals,branches,runed_doors,greedy_sacrificeable # Adjusts how much autoexplore favours attempting to discover room perimeters and corners. # At values higher than 0, autoexplore will more heavily favour visiting squares that are next to walls # reasonable values range from 0 to 10 maybe? explore_wall_bias = 1 # Only stop resting when both HP/MP are full rest_wait_both = true allow_self_target = prompt sort_menus = true #WARNING TO KEYPAD USERS: The number 7 is mapped to the letter 'y' easy_confirm = all confirm_butcher = never easy_eat_chunks = true auto_eat_chunks = true auto_drop_chunks = yes easy_eat_contaminated = true equip_unequip = true hp_colour = 100:green, 99:lightgray, 75:yellow, 50:lightred, 25:red mp_colour = 100:green, 99:lightgray, 75:yellow, 50:lightred, 25:red hp_warning = 50 stat_colour = 3:red, 7:lightred # Removes the more prompts when outputting more than one screen of messages show_more = false small_more = true msg_min_height=7 msg_max_height=10 default_manual_training = true function can_eat_chunks() if you.race()=="Spriggan" then return end if you.gourmand() or you.race()=="Kobold" or you.race()=="Felid" then return you.hunger()<6 end return you.hunger()<6 end function edible_corpse(item) if not can_eat_chunks() then return end if food.rotting(item) and not you.saprovorous() then return end if food.dangerous(item) then return end return string.find(item.name(),"corpse") end function over_corpse() for item_under_you in iter.invent_iterator:new(you.floor_items()) do if string.find(item_under_you.name(),"corpse") then return true end end end function over_edible_corpse() for item_under_you in iter.invent_iterator:new(you.floor_items()) do if edible_corpse(item_under_you) then return true end end end function walk_over_edible_corpses(item) return edible_corpse(item) and not over_edible_corpse() end function ready() if not default_options then default_options=options.runrest_stop_message crawl.setopt("runrest_stop_message+=disappears in a puff of smoke") crawl.setopt("confirm_butcher=never") crawl.setopt("auto_eat_chunks=true") end if can_eat_chunks() then crawl.setopt("runrest_stop_message+=corpse") crawl.setopt("runrest_stop_message+=disappears in a puff of smoke") else crawl.setopt("runrest_stop_message="..default_options) crawl.setopt("runrest_stop_message+=disappears in a puff of smoke") end if you.feel_safe() and over_edible_corpse() then crawl.sendkeys("c") crawl.process_command() end end add_autopickup_func(walk_over_edible_corpses) ## Stops more := force_more_message more += You convulse more += increases to level more += You have reached level more += You have finished your manual of more += Space .* around you more += .*orbs? of fire.* comes? into view more += .*pandemonium* comes? into view more += .*lich.* comes? into view more += .*(s|player) ghost.* comes? into view more += .*Fiend.* comes? into view more += wielding.*of distortion more += You have finished your manual more += Found .* abyssal rune of Zot more += You are(?!.*longer).*(confused|poisoned) more += (blundered into a|invokes the power of) Zot more += Deactivating autopickup more += The mighty Pandemonium lord .* resides here more += Ouch! That really hurt! more += (starving|devoid of blood) more += lose consciousness more += A sentinel's mark forms upon you more += calcifying dust hits more += watched by something more += You feel less protected from missiles more += You now have enough gold to buy more := force_more_message more += You are starting to lose your buoyancy #more+= danger: more += strange sense of stasis more += blurs momentarily more += hits you from afar more += You are confused more += writing blurs more += You convulse more += Your transformation is almost over more += Deactivating autopickup more += The electric eel shoots out a bolt of electricity! more += You have no means to grasp a wand firmly enough. more += You cannot shoot more += You can't (read|drink) 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 += magical defenses are stripped away more += feel less vulnerable more += revert to their more += Found a gateway leading out of the Abyss more += Found .* abyssal rune of Zot more += interdimensional caravan more += distant snort more += deeper more += You feel a terrible weight on your shoulders more += You feel yourself come back to life. more += You feel monstrous more += begins to recite a word of recall more += seems mollified more += more cursed you are more += vision and mind more += scry more += watched by something more += leading out of pandemonium more += The mighty Pandemonium lord .* resides here more += (giant eyeball|shining eye|cacodemon|neqoxec|guardian serpent|flayed ghost|greater mummy|mummy priest|hell sentinel|fiend|tzitzimitl|tormentor|hellion|lich|executioner|orb of fire|death cob|juggernaut|moth of wrath|ghost moth|curse toe|curse skull|draconian shifter|rakshasa|Titan|boggart|the royal jelly).*into view more += A player ghost.*comes? into view more += The crystal spear hits you! more += The iron shot hits you! more += orb of destruction hits you! more += silver sears you more += toss it away more += Your .* disappears in a puff of smoke! more += comes into view more += come into view more += starts to melt. more += evaporates more += corrodes you more += begins to fray at the edges. more += shroud unravels $gong := yellow msc += $gong:SHROANNG msc += $gong:BONNNG msc += $gong:PANG msc += $gong:PTOANNNG msc += $gong:GONNNNG msc += $gong:BOUMMMMG msc := message_colour #msc = msc += mute:(HP|Magic) restored msc += mute:[yY]our.*but (does no|doesn't do any) damage msc += mute:your.*miss(es)? (the|it) msc += mute:Press .*list of commands an msc += mute:Cast which spell\? \( msc += mute:^Casting.* msc += mute:Confirm with \. or Enter, or press \? or \* to list all spells\. msc += mute:Press\: \? - help, Shift-Dir - straight line, f - you msc += mute:for a list of commands and other information msc += mute:melds.* msc += mute:Switching to.* msc += mute:Switching back.* msc += mute:This raw flesh tastes terrible msc += mute:melds into your body msc += mute:begins to bleed from.*wounds msc += mute:writhes in agony as.*flesh msc += mute:An air elemental.*itself.*the air msc += mute:You feel a.*surge of power msc += mute:Your legs become a tail as you enter the water msc += mute:You cannot train any new skill msc += mute:Your .*basks in the mutagenic msc += mute:The wall.* your msc += mute:is very cold msc += mute:our shadow.* puff msc += mute:slurping|squelching msc += mute:You feel.*(less hungry|power returning|better) msc += mute:splits in two $boring := darkgrey msc += $boring:You start (resting|waiting) msc += $boring:Unknown command msc += $boring:but (do no|doesn't do any) damage msc += $boring:(prevent|prevents) you from hitting $warning := lightcyan msc += $warning:ticking.*clock msc += $warning:dying ticks msc += $warning:distant snort msc += $warning:odd grinding sound msc += $warning:creaking of ancient gears msc += $warning:floor suddenly vibrates msc += $warning:a sudden draft msc += $warning:coins.*counted msc += $warning:tolling.*bell msc += $warning:roar of battle msc += $warning:creaking.*oriflamme msc += $warning:oriflamme is probably msc += $warning:wave of frost msc += $warning:crackling.*melting msc += $warning:hiss.*sand msc += $warning:sound.*rushing water msc += $warning:rusting.*drain msc += $warning:drain falling apart msc += $warning:oppressive heat msc += $warning:rumble.*avalanche of rocks msc += $warning:crackle.*arcane power msc += $warning:crackle.*magical portal msc += cyan:enter note msc += cyan:level annotation