macros += M * ===smart_tab macros += M + ===better_aa #macros += K 9 ***+ #macros += M 8 ===drop_crap macros += K 0 ***G>. macros += K - ***G<. #macros += M = Gd0\{13} macros += M p ***G\{13} macros += M 9 o tile_font_msg_size = 15 default_manual_training=true show_more=false explore_stop = shops explore_stop += artefacts explore_auto_rest = true auto_eat_chunks = true hp_warning = 80 autofight_stop = 60 autofight_caught = true autofight_throw = false easy_eat_chunks=true hp_colour = 99:yellow, 70:lightred, 40:red item_slot += potion of blood:q item_slot += scroll of identify:r item_slot += scroll of remove curse:t item_slot += meat ration:e item_slot += bread ration:c auto_butcher = true explore_delay=-1 travel_delay=-1 rest_delay =-1 show_travel_trail=true easy_confirm = all rest_wait_both = true explore_wall_bias = 1 confirm_butcher = never cloud_status = true jewellery_prompt = false equip_unequip = true allow_self_target = never default_show_all_skills = true msg_min_height = 6 auto_switch = true travel_key_stop = false auto_sacrifice = true equip_unequip = true mouse_input = false message_colour ^= mute:reckless message_colour ^= mute:monsters #Force mores more := force_more_message more += Ouch! That really hurt! more -= You have reached level more += You add the spells : if you.god() == "Trog" then more -= drain #Nasty more += (giant eyeball|shining eye|cacodemon|neqoxec|flayed ghost|hell sentinel|fiend|tzitzimitl|tormentor|hellion|ancient lich|orb of fire|death cob|entropy weaver|ghost moth|curse toe|curse skull|draconian zealot|draconian scorcher|deep elf demonologist|greater mummy).*into view #Bosses more += (Agnes|Aizul|Asterion|Azrael|Bai Suzhen|Boris|Donald|The Enchantress|Erica|Erolcha|Eustachio|Fannar|Frances|Frederick|Gastronok|Grinder|Harold|Ijyb|Jorgrun|Jory|Joseph|Josephine|Khufu|Kirke|Louise|Mara|Margery|Maurice|Menkaure|Mennas|Nergalle|Nessos|Nikola|Pikel|Robin|Roxanne|Rupert|Saint Roka|Sigmund|Sojobo|Sonja|Urug|Xtahua|Vashnia|Arachne|The Lernaean hydra|Ilsuiw|Polyphemus|Dissolution|The royal jelly|Serpent of Hell|Murray|Geryon|Antaeus|Asmodeus|Dispater|Ereshkigal|Ignacio|Cerebov|Gloorx Vloq|Lom Lobon|Minoleg|Tiamat).*into view #Dangerous weapons more += is wielding.*of distortion more -= You feel yourself slow down. : else #Nasty more += (giant eyeball|shining eye|cacodemon|neqoxec|guardian serpent|flayed ghost|hell sentinel|fiend|tzitzimitl|tormentor|hellion|ancient lich|orb of fire|death cob|entropy weaver|ghost moth|curse toe|curse skull|draconian zealot|draconian scorcher|deep elf demonologist|greater mummy).*into view #Bosses more += (Agnes|Aizul|Asterion|Azrael|Bai Suzhen|Blork the orc|Boris|Crazy Yiuf|Donald|Dowan|Duvessa|Edmund|The Enchantress|Erica|Erolcha|Eustachio|Fannar|Frances|Frederick|Gastronok|Grinder|Harold|Ijyb|Jessica|Jorgrun|Jory|Joseph|Josephine|Khufu|Kirke|Louise|Mara|Margery|Maurice|Menkaure|Mennas|Natasha|Nergalle|Nessos|Nikola|Pikel|Prince Ribbit|Psyche|Purgy|Robin|Roxanne|Rupert|Saint Roka|Sigmund|Snorg|Sojobo|Sonja|Urug|Xtahua|Vashnia|Arachne|Terence|The Lernaean hydra|Ilsuiw|Polyphemus|Dissolution|The royal jelly|Serpent of Hell|Murray|Geryon|Antaeus|Asmodeus|Dispater|Ereshkigal|Ignacio|Cerebov|Gloorx Vloq|Lom Lobon|Minoleg|Tiamat).*into view #Dangerous weapons more += is wielding.*of distortion more += is wielding.*of elec more -= You feel yourself slow down. more -= You add the spells : end interrupt_travel -= hungry interrupt_rest -= hungry runrest_stop_message += starving runrest_ignore_message += You feel yourself speed up. runrest_ignore_message += You recover from your berserk rage. runrest_ignore_message += You feel a strong urge to attack something. runrest_ignore_message += You feel your anger subside. runrest_ignore_message += You are exhausted. runrest_ignore_message += You feel yourself slow down. runrest_ignore_message += You are no longer poisoned. runrest_ignore_message += You are near starving! runrest_ignore_message += You regained.*mp runrest_ignore_message += disappears in a puff of smoke runrest_ignore_message += safely over a trap runrest_ignore_message += Your transformation is almost over. runrest_ignore_message += rusting runrest_ignore_message += hiss runrest_ignore_message += melting runrest_ignore_message += HP restored. # Autopickup ae := autopickup_exceptions ae += >ring of positive energy ae += >ring of fire ae += >ring of ice ae += >ring of magic protection ae += >wand of (dis|flame|poly|rand|slow) ae += >ring of wizardry ae += >ring of stealth ae += useless_item, dangerous_item, evil_item ae += >ring of protection from : if you.god() == "Trog" then autopickup = $?!"%0 ae += >potions? of brilliance ae += >potions? of berserk ae += >ring of intelligence ae += >ring of magical power ae += >scroll of amnesia : end #################### # Autoinscriptions # #################### # Set Alias ai := autoinscribe ai += bad_item.*potion:!q # Body Armour ai += fire dragon scales:rF++, rC- ai += gold dragon scales:rC+, rF+, rPois ai += ice dragon scales:rC++, rF- ai += pearl dragon scales:rN+ ai += quicksilver dragon scales:MR+ ai += shadow dragon scales:Stlth++++ ai += steam dragon scales:rSteam ai += storm dragon scales:rElec ai += swamp dragon scales:rPois ai += troll leather armour:regen # Body Armour Egos #ai += plate armour of ponderousness:Speed- #ai += robe of the archmagi:Spellpower+ # Accessory Egos #ai += (buckler|shield) of protection:AC+3 #ai += (buckler|shield) of reflection:Reflect #ai += (buckler|shield) of resistance:rC+, rF+ #ai += (hat|helmet) of intelligence:Int+3 #ai += cloak of darkness:+Inv #ai += gloves of strength:Str+3 #ai += gloves of dexterity:Dex+3 #ai += gloves of archery:Ranged Slay+4 # Rings ai += ring of magical power:MP+9 ai += ring of wizardry:Wiz+ # Save fruit for abilities under Fedhas : if you.god() == "Fedhas" then ai += fruit:!e : end #If you want to auto pickup something add #if name:find("throwing net") then return true end # Armour/Weapon autopickup { add_autopickup_func(function(it, name) local class = it.class(true) local armour_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots", body="Armour", shield="Shield"} if (class == "armour") then if it.is_useless then return false end sub_type = it.subtype() equipped_item = items.equipped_at(armour_slots[sub_type]) if (sub_type == "cloak") or (sub_type == "helmet") or (sub_type == "gloves") or (sub_type == "boots") then if not equipped_item then return true elseif not you.god() == "Trog" or you.xl() < 16 then return it.artefact or it.branded or it.ego else return it.artefact or it.branded end end if (sub_type == "body") then if equipped_item then local armourname = equipped_item.name() if armourname:find("skin") then if it.name():find("mail") or it.name():find("plate") or it.name():find("scales") then return true else return false end elseif equipped_item.artefact or equipped_item.branded or equipped_item.ego or (equipped_item.plus > 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 if you.god() == "Trog" and equipped_item.name():find("buckler") then return false else return it.artefact or it.branded or it.ego end end end end end) } #Berserker Auto-Lvl { function choose_stat_gain() if you.god() == "Trog" or you.class() == "Fighter" then crawl.sendkeys("s") end end } # 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 } #Changes autofight_stop on the fly { function smart_tab() function hp_percent() a,b=you.hp() return 100*a/b end local threshold = 72 - you.xl() * 1.2 if you.xl() <5 then threshold = 40 end if hp_percent() > threshold then crawl.process_keys(string.char(9)) end end } #Drop useless items by Celesta { function drop_crap() local l = "" for it in iter.invent_iterator:new(items.inventory()) do if not it.cursed then if it.name():find("book") or it.name():find("stealth") or it.name():find("wand") or it.name():find("magical pow") or it.name():find("wizard") or it.name():find("ring of ice") or it.name():find("ring of fire") or it.name():find("ring of pos") or it.name():find("degen") or it.name():find("useless") or it.name():find("immol") or it.name():find("torment") or it.name():find("holy w") or it.name():find("recharg") or it.name():find("amnes") or it.name():find("inacc") or it.name():find("loudn") or it.name():find("intell") or it.name():find("ring of fli") or it.name():find("ring of telep") or it.name():find("magic reg") or it.name():find("ambros") or it.name():find("brillan") or it.name():find("ligni") or it.name():find("noise") then if hostile_in_los() == false then l = l .. items.index_to_letter(it.slot) else break end end end end crawl.process_keys('d' .. l .. '\r') end } #Doesn't work...DD just doesn't have enough mana...Was done by Lair with +6 EV ring...could train Evocations...Could raise HP >=30 { function better_aa() if you.berserk() or you.status("berserk cooldown") then crawl.sendkeys("5") else crawl.sendkeys("o") end end } #Returns true if hostiles are in sight { function hostile_in_los() for x = -7,7 do for y = -7,7 do m = monster.get_monster_at(x, y) if m and not m:is_safe() then return true end end end return false end } # Switch weapons automatically # if melee() == true and items.equipped_at("weapon").name():find("bow") then # crawl.sendkeys("'") # elseif melee() == false and not items.equipped_at("weapon").name():find("bow") then # crawl.sendkeys("'") # end #Returns true if hostiles are close, not currently used { function melee() for x = -2,2 do for y = -2,2 do m = monster.get_monster_at(x, y) if m and not m:is_safe() then return true end end end return false end }