note_chat_messages = true default_manual_training = true skill_focus = false small_more = true autofight_stop = 50 autopickup += $?!+"/%}|\ autopickup_exceptions ^= >rune of Zot : if you.god() ~= "Nemelex Xobeh" then autopickup_exceptions += >(plain|ornate|legendary) deck : end # Hunger strike : if you.race() ~= "Vampire" then autopickup_exceptions += >of blood, >of coagulated blood : end : if you.race() == "Ogre" or you.race() == "Troll" then autopickup_exceptions ^= >large rock : end confirm_butcher = never easy_eat_chunks = true auto_eat_chunks = true auto_sacrifice = before_explore autofight_fire_stop = true easy_quit_item_prompts = false status_caption_colour = darkgrey stat_colour = 72:darkgrey, 3:white hp_colour = 100:darkgrey, 99:lightgrey, 75:white, 50:yellow, 25:lightred mp_colour = 100:darkgrey, 99:lightgrey, 75:lightblue, 50:white, 25:yellow enemy_hp_colour = green lightgreen yellow brown magenta red lightgrey cset = item_detected: x cset = item_rune: } feature = floor{,,lightgrey} feature = rock wall{,,brown} feature = slime covered rock{,,lightgreen} feature = stone wall{,,grey} feature = metal wall{,,cyan} feature = translucent.*rock{,,lightcyan} feature = translucent.*stone{,,lightmagenta} feature = unnaturally hard.*wall{#,,yellow} feature = explore horizon {.,,lightred} feature = gateway leading deeper into the Abyss {>,,brown} feature = gateway leading out of the Abyss {,,yellow,,yellow} feature = fountain {.,,lightgrey} feature = mangrove {7,,green} feature = tree {7,green} spell_slot += regeneration:s spell_slot += vampiric draining:v spell_slot += animate skeleton:z spell_slot += animate dead:zZ spell_slot += phase shift:wW spell_slot += swiftness:wW spell_slot += haste:hH spell_slot += flight:F spell_slot += control teleport:t spell_slot += blink:CV spell_slot += controlled blink:C spell_slot += repel missiles:rR spell_slot += deflect missiles:rR spell_slot += apportation:A spell_slot += dispel undead:D spell_slot += ensorcelled hibernation:x level_map_cursor_step = 6 rest_delay = -1 travel_delay = -1 explore_delay = -1 explore_wall_bias = 3 view_delay = 0 msg := message_colour msg ^= mute:No target in view! msg ^= mute:A .* is nearby! msg ^= mute:The .* burns! msg ^= mute:Your.*doesn't do any damage msg ^= mute:Your.*(barely |closely )?(misses|hits|bites|but does) msg ^= mute:misses.*your msg ^= mute:Your.*in a puff of smoke msg ^= mute:You swap places. msg ^= mute:Time to introduce.*shillelagh msg ^= mute:Visions of slaying msg ^= mute:(HP|Magic) restored : if you.god() == "Jiyva" then msg ^= mute:Jiyva appreciates your sacrifice. msg ^= mute:You hear a distant slurping noise. msg ^= mute:You hear a squelching noise. msg ^= mute:You feel a little less hungry. msg ^= mute:You feel a little better. : end # Go forth and spread the truth: Labs don't exist feature = labyrinth entrance {.,.,floor,.,blue} msg ^= mute:(Hark!|distant snort|labyrinth entrance|starvation awaits) msg ^= mute:tick(ing|s).*clock more := force_more_message more = more += You pick up the .* rune and feel its power more += interdimensional caravan more += Found a gateway leading out of the Abyss more += You have a vision of.*gates? # Bad things more += You miscast (Controlled Blink|Blink|Death's|Borg|Necromutation) more += Careful! more += Your surroundings flicker more += sense of stasis more += Your amulet of stasis more += You fall through a shaft 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|poisoned) more += flesh start more += (starving|devoid of blood) more += wrath finds you more += lose consciousness more += calcifying dust hits more += Space (bends|warps horribly) around you more += hits you.*distortion more += watched by something # Hell more += hell_effect: # Expiring effects more += You feel yourself slow down more += You are starting to lose your buoyancy 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 += no longer invulnerable more += uncertain more += time is quickly running out more += life is in your own hands more += is no longer charmed # Others more += Your scales start more += You feel monstrous : if you.god() == "Xom" then more += god : end autoinscribe += (distortion|vampiric):!w autoinscribe += (bad|dangerous)_item.*potion:!q autoinscribe += (bad|dangerous)_item.*scroll:!r autoinscribe += of cure mut:!q autoinscribe += staff of (Wucad Mu|energy|channeling|wizardry|power):!a autoinscribe += of faith:!P autoinscribe += rod of (the|cloud|venom|inacc|fiery|frigid|destr):!a autoinscribe += lightning rod:!a autoinscribe += manual of:!d : if you.god() == "Fedhas" then autoinscribe += \{fruit\}:!e : end : if you.race() == "Vine Stalker" then autoinscribe += potion of magic:heal wounds : end autoinscribe += rune of:good?? dump_message_count = 60 dump_order -= misc dump_order -= monlist dump_order -= kills dump_order += turns_by_place dump_order += vaults dump_book_spells = false dump_item_origins = none user_note_prefix = Note:  note_hp_percent = 20 note_all_skill_levels = true : if you.god() == "Jiyva" then mon_glyph ^= player: slime J : else show_player_species = true : end mon_glyph ^= item mimic: lightmagenta m mon_glyph ^= inept item mimic: lightmagenta m mon_glyph ^= ravenous item mimic: lightmagenta m mon_glyph ^= feature mimic: lightmagenta m mon_glyph ^= inept feature mimic: lightmagenta m mon_glyph ^= ravenous feature mimic: lightmagenta m mon_glyph ^= ice beast: green E mon_glyph ^= sky beast: mutagenic E mon_glyph ^= death cob: lightgreen E mon_glyph ^= spatial maelstrom: yellow E mon_glyph ^= battlesphere: lightmagenta E mon_glyph ^= wretched star: E mon_glyph ^= sixfirhy: б mon_glyph ^= stone giant: white C mon_glyph ^= fire giant: lightgreen C mon_glyph ^= eye of draining: lightcyan G mon_glyph ^= giant orange brain: lightblue G mon_glyph ^= shining eye: cyan G mon_glyph ^= giant eyeball: lightred G mon_glyph ^= giant spore: white G mon_glyph ^= lurking horror: white G # Corpses are on & mon_glyph ^= pandemonium lord: I mon_glyph ^= oklob plant: yellow mon_glyph ^= plant: lightgrey mon_glyph ^= profane servitor: unholy ∀ mon_glyph ^= phantom: dark mon_glyph ^= hellion: lightred mon_glyph ^= reaper: lightcyan mon_glyph ^= shadow: white mon_glyph ^= shadow demon: white mon_glyph ^= Shadow Fiend: white mon_glyph ^= Ice Fiend: lightblue mon_glyph ^= dancing weapon: { mon_glyph ^= spectral weapon: { mon_glyph ^= lightning spire: { cset_unicode ^= arch:ሴ cset_unicode ^= cloud:☡ item_glyph ^= potion: lightgrey item_glyph ^= gold piece: lightgrey item_glyph ^= large rock: lightgrey ж item_glyph ^= skeleton: darkgrey . item_glyph ^= corpse: & item_glyph ^= (corpse|chunk): lightgrey item_glyph ^= contaminated.*(corpse|chunk): brown item_glyph ^= inedible.*(corpse|chunk): darkgrey item_glyph ^= poisonous.*(corpse|chunk): lightgreen item_glyph ^= mutagenic.*(corpse|chunk): magenta item_glyph ^= (rot-inducing|evil_eating).*(corpse|chunk): lightred item_glyph ^= unidentified.*(potion|scroll).*:lightblue item_glyph ^= (good|emergency)_item.*(scroll|potion):yellow item_glyph ^= (bad|dangerous|useless)_item.*(scroll|potion): lightgrey . # Copypasta cooked by Medar, thanks a bunch! { local function norace_name(it) local qual = it.name("qual") qual = string.gsub(qual, "^orcish ", "", 1) qual = string.gsub(qual, "^elven ", "", 1) qual = string.gsub(qual, "^dwarven ", "", 1) return qual end local function autopickup(it, name) if it.artefact then return true 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 then if it.branded then return true end local cur = items.equipped_at(good_slots[st]) if cur == nil then return true end if cur.branded or cur.artefact then return false end if it.plus ~= nil then if it.plus > cur.plus then return true end if cur.name("qual") == "hat" and it.name("qual") ~= "hat" then if it.plus + 1 > cur.plus then return true end end else if cur.plus < 2 then return true end if cur.name("qual") == "hat" and it.name("qual") ~= "hat" then return true end end elseif st == "body" then local cur = items.equipped_at("armour") if cur == nil then return false end if norace_name(cur) ~= norace_name(it) then return false end if it.branded then return true end if cur.branded or cur.artefact then return false end if it.plus ~= nil then if it.plus > cur.plus then return true end else if cur.plus < 2 then return true end end elseif st == "shield" then if it.branded then return true end local cur = items.equipped_at("shield") if cur == nil then return false end if norace_name(cur) ~= norace_name(it) then return false end if cur.branded or cur.artefact then return false end if it.plus ~= nil then if it.plus > cur.plus then return true end else if cur.plus < 2 then return true end end end elseif class == "weapon" then if you.genus() == "draconian" and name:find("dragon slaying") then return true end if name:find("distortion") or name:find("chaos") then return true end elseif class == "missile" then if name:find("curare") then return true end end return false end add_autopickup_func(autopickup) }