# TEAMCAPTAIN Ge0ff ################################## ##### Travel and Exploration ##### ################################## travel_delay = -1 explore_delay = -1 rest_delay = -1 view_delay = 500 show_travel_trail = true travel_key_stop = true runrest_safe_poison = 2:10 runrest_ignore_monster += ^butterfly$:1 runrest_ignore_message += contamination has completely runrest_ignore_message += rod.*has recharged runrest_ignore_message += your breath back runrest_ignore_message += Your transformation is almost over runrest_ignore_message += Your transformation has ended runrest_ignore_message += are no longer poisoned runrest_ignore_message += feel a strong urge runrest_ignore_message += finish eating runrest_ignore_message += feel your anger subside runrest_ignore_message += feel yourself speed up runrest_ignore_message += feel less exhausted runrest_stop_message += starting to lose your buoyancy runrest_stop_message += back to life runrest_stop_message += is no longer charmed runrest_stop_message += (starving|devoid of blood) runrest_stop_message += wrath finds you runrest_stop_message += lose consciousness runrest_stop_message += hell_effect: : if you.god() == "Xom" then runrest_stop_message += god: : else runrest_ignore_message += god: : end rest_wait_both = false auto_sacrifice = true ############################ ##### General Gameplay ##### ############################ default_manual_training = true show_uncursed = true easy_confirm = all confirm_butcher = auto allow_self_target = prompt easy_eat_chunks = true auto_eat_chunks = true : if you.race() == "Deep Dwarf" then autofight_stop = 0 : else autofight_stop = 50 : end autofight_warning = 50 easy_door = true warn_hatches = true ############################## ##### Colours and Glyphs ##### ############################## # Workaround: # allow_extended_colours = true # no_dark_brand = false # bold_brightens_foreground = true bold_brightens_foreground = true best_effort_brighten_background = false equip_bar = true mon_glyph += player:green # These should match the item_glyph colours exactly when possible. # For menu_colour, the first match ignores subsequent matches. menu := menu_colour menu = # Many of the entries below come from dat/defaults/menu_colours.txt, # which we have to duplicate here since we want only some of the # entries from that file. menu += notes:white:Reached XP level ### General Inventory### # Items currently not affecting you. menu += darkgrey:(melded) # Items disliked by your god. menu += red:forbidden # Useless items, comes here to override artefacts etc. menu += darkgrey:.*useless.* # Handle cursed and equipped items early to override other colour settings. menu += lightred:.*equipped.* cursed menu += red: (a|the) cursed menu += inventory:lightgreen:.*equipped.* # Colouring of autoinscribed god gifts menu += pickup:lightred:god gift # Highlight (partly) selected items menu += inventory:white:\w \+\s menu += inventory:white:\w \#\s ### Food ### # Color chunks, put ordinary ones on lightgrey. menu += red:evil_eating.*chunk menu += blue:mutagenic.*chunk menu += darkgrey:inedible menu += lightgrey: +(chunks?$|chunks? +) # Other food : if tonumber(crawl.version("major")) <= 0.19 then menu += brown:fruit menu += yellow:(pizza|jerky|jerkies) menu += green:royal jell : else menu += green:fruit menu += yellow:royal jell : end menu += lightgreen:bread ration menu += lightred:meat ration ### Potions ### : if you.race() == "Vampire" then menu += lightgrey:potions? of blood : end menu += lightgrey:potions? of.*(curing|flight) menu += brown:potions? of.*berserk menu += yellow:potions? of.*might menu += cyan:potions? of.*cancellation : if tonumber(crawl.version("major")) <= 0.19 then menu += blue:potions? of.*(lignification|mutation) menu += lightred:potions? of.*heal wounds menu += white:potions? of.*(experience|beneficial mutation) menu += green:potions? of.*brilliance menu += lightgreen:potions? of.*(invisibility|agility) menu += cyan:potions? of.*cancellation menu += lightcyan:potions? of.*cure mutation menu += magenta:potions? of.*(magic|ambrosia) menu += lightmagenta:potions? of.*(haste|resistance) : else menu += blue:potions? of.*(lignification|ambrosia) menu += lightred:potions? of.*experience menu += white:potions? of.*heal wounds menu += green:potions? of.*(resistance|agility) menu += lightgreen:potions? of.*(haste|invisibility) menu += lightcyan:potions? of.*mutation menu += magenta:potions? of.*brilliance menu += lightmagenta:potions? of.*magic :end ### Scrolls ### : if you.race() == "Vampire" or you.race() == "Mummy" : or you.race() == "Ghoul" then menu += darkgrey:scroll.*holy word menu += brown:scroll.*torment : else menu += brown:scroll.*holy word menu += darkgrey:scroll.*torment : end menu += white:scroll.*acquirement menu += yellow:scroll.*(summoning) menu += cyan:scroll.*identify menu += lightcyan:scroll.*magic mapping : if tonumber(crawl.version("major")) <= 0.19 then menu += blue:scroll.*noise menu += lightred:scroll.*recharging menu += lightgrey:scroll.*(amnesia|curse) menu += green:scroll.*(silence|vulnerability|immolation) menu += lightgreen:scroll.*(enchant|brand weapon) menu += magenta:scroll.*(fog|teleport) menu += lightmagenta:scroll.*(fear|blink) :else menu += blue:scroll.*(noise|silence|vulnerability|immolation) menu += lightgrey:scroll.*remove curse menu += green:scroll.*(fog|teleport) menu += lightgreen:scroll.*(fear|blink) menu += magenta:scroll.*(recharging) menu += lightmagenta:scroll.*(enchant|brand weapon) :end ### Wands ### # Can be harmful menu += blue:wand of.*random effects # High level damage menu += brown:wand of.*lightning menu += yellow:wand of.*acid : if tonumber(crawl.version("major")) <= 0.19 then menu += lightred:wand of.*heal wounds menu += lightgrey:wand of.*flame menu += white:wand of.*iceblast menu += green:wand of.*(slowing|confusion|polymorph) menu += lightgreen:wand of.*(paralysis|enslavement) menu += cyan:wand of.*disintegration menu += lightcyan:wand of.*digging menu += magenta:wand of.*teleportation menu += lightmagenta:wand of.*hasting : else menu += lightgrey:wand of.*flame menu += white:wand of.*clouds menu += green:wand of.*digging menu += cyan:wand of.*iceblast menu += lightcyan:wand of.*scattershot menu += magenta:wand of.*(disintegration|confusion|polymorph) menu += lightmagenta:wand of.*(paralysis|enslavement) : end ### General identification ### menu += cyan:manual of menu += lightcyan:manual menu += lightmagenta:unidentified.*artefact.* menu += white:.*artefact.* menu += lightblue:unidentified .*(potion|scroll|wand|jewellery|spellbook) menu += lightblue:unidentified .*(rod|magical staff) menu += magenta:.*known .*ring of (evasion|protection(?! from)) menu += magenta:.*known .*ring of (dexterity|strength|intelligence|slaying) menu += magenta:.*known .*amulet of reflection menu += inventory:lightgray:.*(book|jewellery|magical staff) # Ego items menu += lightblue:unidentified.*weapon.*(runed|glowing|enchanted) menu += lightblue:unidentified.*armour.*(runed|glowing|embroidered|shiny|dyed) msc := message_colour msc += mute:returns to your side msc += mute:a demon appears msc += lightgrey:The deck of cards disappears msc += mute:puff of smoke msc += mute:carefully avoids msc += mute:is recalled msc += mute:wall.*burn.*your msc += mute:dissolves? into (sparkling lights|shadows) msc += mute:(crumbles|melts) away\. msc += mute:(merges|forms) itself .* the air msc += mute:you swap places msc += mute:your.*(looks stronger|shudders|resists) msc += mute:your.*(stumbles backwards|holds.*ground) msc += mute:your.*(blinks|safely over) msc += mute:(phases out.*|misses) (your|something).* msc += mute:your.*(picks up|drops) msc += mute:your.*basks in the mutagenic energy msc += mute:your.*(struggles|tears|pulls away).*(web|net) channel.multiturn = mute ## For item_glyph, subsequent matches override previous ones. item := item_glyph ## Reasonable defaults item += potion:lightgrey item += scroll:lightgrey item += wand:lightgrey item += dangerous_item:blue item += useless_item:darkgrey ### Potions ### item += potions? of.*(curing|flight):lightgrey : if you.race() == "Vampire" then item += potions? of blood:lightgrey : end item += potions? of.*berserk:brown item += potions? of.*might:yellow item += potions? of.*cancellation:cyan : if tonumber(crawl.version("major")) <= 0.19 then item += potions? of.*heal wounds:lightred item += potions? of.*(experience|beneficial mutation):white item += potions? of.*brilliance:green item += potions? of.*(invisibility|agility):lightgreen item += potions? of.*cancellation:cyan item += potions? of.*cure mutation:lightcyan item += potions? of.*(magic|ambrosia):magenta item += potions? of.*(haste|resistance):lightmagenta : else item += potions? of.*ambrosia:blue item += potions? of.*experience:lightred item += potions? of.*heal wounds:white item += potions? of.*(resistance|agility):green item += potions? of.*(haste|invisibility):lightgreen item += potions? of.*mutation:lightcyan item += potions? of.*brilliance:magenta item += potions? of.*magic:lightmagenta : end ### Scrolls ### : if you.race() == "Vampire" or you.race() == "Mummy" : or you.race() == "Ghoul" then item += scroll.*holy word:darkgrey item += scroll.*torment:brown : else item += scroll.*holy word:brown item += scroll.*torment:darkgrey : end item += scroll.*acquirement:white item += scroll.*(summoning):yellow item += scroll.*identify:cyan item += scroll.*magic mapping:lightcyan : if tonumber(crawl.version("major")) <= 0.19 then item += scroll.*noise:blue item += scroll.*recharging:lightred item += scroll.*(amnesia|curse):lightgrey item += scroll.*(silence|vulnerability|immolation):green item += scroll.*(enchant|brand weapon):lightgreen item += scroll.*(fog|teleport):magenta item += scroll.*(fear|blink):lightmagenta :else item += scroll.*(silence|vulnerability|immolation):blue item += scroll.*remove curse:lightgrey item += scroll.*(fog|teleport):green item += scroll.*(fear|blink):lightgreen item += scroll.*(recharging):magenta item += scroll.*(enchant|brand weapon):lightmagenta :end ### Wands ### item += wand of.*random effects:blue item += wand of.*lightning:brown item += wand of.*acid:yellow : if tonumber(crawl.version("major")) <= 0.19 then item += wand of.*heal wounds:lightred item += wand of.*flame:lightgrey item += wand of.*iceblast:white item += wand of.*(slowing|confusion|polymorph):green item += wand of.*(paralysis|enslavement):lightgreen item += wand of.*disintegration:cyan item += wand of.*digging:lightcyan item += wand of.*teleportation:magenta item += wand of.*hasting:lightmagenta : else item += wand of.*flame:lightgrey item += wand of.*clouds:white item += wand of.*digging:green item += wand of.*iceblast:cyan item += wand of.*scattershot:lightcyan item += wand of.*(disintegration|confusion|polymorph):magenta item += wand of.*(paralysis|enslavement):lightmagenta : end ### General Identification ### # rods gone in 0.20 : if tonumber(crawl.version("major")) < 0.20 then item += ( rod ):yellow : end item += (identified|known).*(jewellery|magical staff):brown item += identified.*spellbook:magenta # rods gone in 0.20 item += unidentified.*(potion|scroll|jewellery|wand).*:lightblue item += unidentified.*(rod|magical staff).*:lightblue item += unidentified.*book:lightmagenta item += manual:lightcyan item += manual of:cyan ### Jewellery ### item += known.*ring of (dexterity|strength|intelligence|slaying):magenta item += known.*ring of (protection(?! from)|evasion):magenta item += known.*amulet of reflection:magenta item += identified.*artefact.*(jewellery):white item += unidentified.*artefact.*(jewellery).*:lightmagenta item += (a )?stones?$:lightgray ### Food ### item += chunks?.*flesh:lightgrey item += mutagenic.*chunk:blue item += evil_eating.*chunk:red item += inedible.*chunk:darkgrey : if tonumber(crawl.version("major")) <= 0.19 then item += fruit:brown item += (pizza|jerky|jerkies):yellow item += royal jell:green :else item += fruit:green item += royal jell:yellow :end item += bread ration:lightgreen item += meat ration:lightred # Want this to override anything above item += useless:darkgrey # Only mark these types when forbidden; for other types it looks odd. item += forbidden.*(potion|scroll|food):red mons := mon_glyph # Monsters that can be easy to miss mons ^= * : ✱ mons ^= dancing weapon : cyan { mons ^= spectral weapon : lightcyan { # Classed Demonspawn mon += blood saint:9 mon += warmonger:9 mon += corrupter:9 mon += black sun:9 # Wall glyphs; requires a font and terminal that can render these. feature += crystal wall {░} feature += stone wall {▒} feature += metal wall {▓} feature += unnaturally hard rock wall {█} ######################## ##### Inscriptions ##### ######################## autoinscribe += (bad|dangerous)_item.*potion:!q autoinscribe += (bad|dangerous)_item.*scroll:!r autoinscribe += potion.*(berserk rage):!q autoinscribe += of (faith|harm):!P autoinscribe += rod:!a autoinscribe += staff of:!a autoinscribe += curing:@q1 autoinscribe += potions? of heal wounds:@q2 autoinscribe += potions? of haste:@q3 autoinscribe += might:@q4 autoinscribe += agility:@q5 autoinscribe += cancellation:@q6 autoinscribe += identify:@r1 autoinscribe += remove curse:@r2 autoinscribe += blinking:@r3 autoinscribe += scrolls? of teleportation:@r4 autoinscribe += wand of heal wounds:@v2 autoinscribe += wand of hasting:@v3 autoinscribe += wand of teleportation:@v4 autoinscribe += (meat|bread):@e1 autoinscribe += (beef jerky|pizza):@e2 autoinscribe += (fruit|royal jelly):@e3 ########################## ##### (more) Prompts ##### ########################## show_more = false # This section is mostly copied from gammafunk's rc file more := force_more_message : if you.god() == "Ashenzari" then more += You have a vision of.*gates? : end more += The mighty Pandemonium lord .* resides here # Interrupts more += You don't .* that spell more += You fail to use your ability more += You miscast.*(Blink|Borgnjor|Door|Haste|Invisibility) more += You can't (read|drink|do) more += You cannot .* while unable to breathe more += You cannot .* in your current state more += when .*silenced more += too confused more += There's something in the way more += There's nothing to (close|open) nearby more += not good enough to have a special ability more += You are too berserk more += no means to grasp more += That item cannot be evoked more += This wand has no charges more += You are held in a net more += You don't have any such object more += You can't unwield more += enough magic points more += You don't have the energy to cast that spell # Bad things more += Your surroundings flicker more += You cannot teleport right now more += A sentinel's mark forms upon you more += (blundered into a|invokes the power of) Zot more += enter a teleport trap more += Ouch! That really hurt! more += dispelling energy hits you more += You are blasted by holy energy! more += You are (blasted|electrocuted)! more += You are (?!no longer).*(confused|poisoned) more += flesh rotting more += (starving|devoid of blood) more += god:(sends|finds|silent|anger) more += You feel a surge of divine spite more += disloyal to dabble more += lose consciousness more += You are too injured to fight blindly more += calcifying dust hits more += Space warps.*around you more += Space bends around you more += watched by something more += flickers and vanishes! more += doesn't seem very happy more += is no longer charmed # Hell effects 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 += time is quickly running out more += life is in your own hands more += Your shroud falls apart more += You start to feel a little slower more += You feel less protected from missiles # Others more += You have reached level more += You rejoin the land of the living more += You have finished (your manual|forgetting about) more += Your scales start more += You feel monstrous more += Jiyva alters your body : if you.god() == "Xom" then more += god: : end # Problematic monsters more += (giant eyeball|shining eye|cacodemon|neqoxec).*into view more += (flayed ghost|greater mummy|mummy priest|hell sentinel|fiend).*into view more += (tzitzimitl|tormentor|hellion|lich|executioner|orb of fire).*into view more += (juggernaut|moth of wrath|ghost moth|curse toe|curse skull).*into view more += (draconian shifter|guardian serpent|death cob).*into view ## Any uniques and any pan lords more += (?-i:[A-Z]).* comes? into view ## 0.17 more += the royal jelly.* comes? into view ################## ##### Macros ##### ################## # More annoying than helpful most of the time #macros += M o ===autoexplore_with_prompt #################### ##### Webtiles ##### #################### tile_font_crt_family = Consolas tile_font_stat_family = Consolas tile_font_msg_family = Consolas tile_font_lbl_family = Consolas #################### ##### Lua code ##### #################### { --------------------------------------- ---- Begin conditional force_mores ---- --------------------------------------- -- See README.md for documentation. last_turn = you.turns() fm_patterns = { -- General early game threats {pattern = "adder|gnoll|hound", cond = "xl", cutoff = 2, name = "XL1"}, -- Problems for chars with 20, 60, 90, or 120 mhp {pattern = "orc|Ogre", cond = "maxhp", cutoff = 20, name = "20mhp"}, {pattern = "orc priest", cond = "maxhp", cutoff = 40, name = "40mhp"}, {pattern = "centaur [^wzs]|drake|blink frog|spiny frog|basilisk" .. "|raven|komodo dragon|blink frog|snapping turtle|black mamba" .. "|(redback|trapdoor) spider|hill giant|deep elf (summoner|mage)" .. "|gargoyle|sixfirhy|sun demon", cond = "maxhp", cutoff = 60, name = "60mhp"}, {pattern = "hydra|death yak|tarantella|(wolf|orb|jumping) spider" .. "|alligator|catoblepas|(fire|ice) dragon|spriggan (rider|druid)" .. "|torpor|yaktaur|vault guard|manticore|harpy|faun|merfolk|siren" .. "|water nymph|mana viper|a wizard|[0-9]+ wizards|ogre mage" .. "|deep elf (knight|conjurer)|tengu conjurer|green death" .. "|shadow demon", cond = "maxhp", cutoff = 90, name = "90mhp"}, {pattern = "centaur warrior|yaktaur captain" .. "|(quicksilver|storm|shadow|iron) dragon|alligator snapping turtle" .. "|satyr|naga sharpshooter|merfolk avatar|anaconda|shock serpent" .. "|emperor scorpion(stone|frost|fire) giant|titan|entropy weaver" .. "|thorn hunter|sphinx|war gargoyle|preserver" .. "|vault (warden|sentinel)|convoker|monstrosity|tengu reaver" .. "|deep elf (master archer|blademaster|death mage" .. "|sorcerer|demonologist|annihilator)" .. "|octopode crusher|yaktaur captain|spriggan (defender|air mage)" .. "|reaper|balrug", cond = "maxhp", cutoff = 120, name = "120mhp"} } -- 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 = "(" .. 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 == "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 ---- ------------------------- function autoexplore_with_prompt() if crawl.yesno("Really use autoexplore? (y/n)", true, 'n') then crawl.sendkeys("o") end end } { function ready() -- Taken from github.com/gammafunk/dcss-rc force_mores() end }