##### Crawl Init file ############################################### # For descriptions of all options, as well as some more in-depth information # on setting them, consult the file # options_guide.txt # in your /docs directory. If you can't find it, the file is also available # online at: # https://github.com/crawl/crawl/blob/master/crawl-ref/docs/options_guide.txt # # Crawl uses the first file of the following list as its option file: # * init.txt in the -rcdir directory (if specified) # * .crawlrc in the -rcdir directory (if specified) # * init.txt (in the Crawl directory) # * ~/.crawl/init.txt (Unix only) # * ~/.crawlrc (Unix only) # * ~/init.txt (Unix only) # * settings/init.txt (in the Crawl directory) ##### Some basic explanation of option syntax ####################### # Lines beginning with '#' are comments. The basic syntax is: # # field = value or field.subfield = value # # Only one specification is allowed per line. # # The terms are typically case-insensitive except in the fairly obvious # cases (the character's name and specifying files or directories when # on a system that has case-sensitive filenames). # # White space is stripped from the beginning and end of the line, as # well as immediately before and after the '='. If the option allows # multiple comma/semicolon-separated terms (such as # autopickup_exceptions), all whitespace around the separator is also # trimmed. All other whitespace is left intact. # # There are three broad types of Crawl options: true/false values (booleans), # arbitrary values, and lists of values. The first two types use only the # simple =, with later options - which includes your options that are different # from the defaults - overriding earlier ones. List options allow using +=, ^=, # -=, and = to append, prepend, remove, and reset, respectively. Usually you will # want to use += to add to a list option. Lastly, there is := which you can use # to create an alias, like so: # ae := autopickup_exceptions # From there on, 'ae' will be treated as if it you typed autopickup_exceptions, # so you can save time typing it. # ##### Other files ################################################### # You can include other files from your options file using the 'include' # option. Crawl will treat it as if you copied the whole text of that file # into your options file in that spot. You can uncomment some of the following # lines by removing the beginning '#' to include some of the other files in # this folder. # Some useful, more advanced options, implemented in LUA. # include = advanced_optioneering.txt # Alternative vi bindings for Dvorak users. # include = dvorak_command_keys.txt # Alternative vi bindings for Colemak users. # include = colemak_command_keys.txt # Alternative vi bindings for Neo users. # include = neo_command_keys.txt # Override the vi movement keys with a non-command. # include = no_vi_command_keys.txt # Turn the shift-vi keys into safe move, instead of run. # include = safe_move_shift.txt # [13 VIII 2024, Bozkowice] # https://www.reddit.com/r/dcss/comments/tbsfq4/what_are_good_changes_to_the_default_rc_file/ autofight_stop = 75 item_slot ^= potions? of haste:h ## Wall glyphs, requires a font and terminal that can render these. feature += crystal wall {} feature += green crystal {} feature += stone wall {} feature += metal wall {} feature += unnaturally hard rock wall {} feature += crystal wall {} feature += rock wall {x2588} feature += stone wall {x2588} #feature += stone wall {x2592} feature += altar {x2691} # [03-08-2024, Sepa2] # https://github.com/gammafunk/dcss-rc/blob/master/gammafunk.rc 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 #equip_bar = true tile_full_screen = false #tile_map_pixels = 0 #tile_viewport_scale = 16.0 #tile_map_scale = 0.3 #game_scale = 8 # If disabled, animation of miscellaneous things such as altars and torches will be suppressed. tile_misc_anim = false # Setting this option to false will hide blood splatters in the floor and on the walls. In tiles, corpses will be displayed as skeletons. show_blood = false # Doesn't work: #tile_force_overlay = true ## 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 item += potions? of.*heal wounds:white item += potions? of.*berserk:brown item += potions? of.*might:yellow item += potions? of.*brilliance:cyan item += potions? of.*magic:lightcyan item += potions? of.*(lignification|ambrosia|attraction):blue item += potions? of.*experience:lightred item += potions? of.*resistance:green item += potions? of.*(haste|invisibility):lightgreen item += potions? of.*cancellation:magenta item += potions? of.*mutation:lightmagenta ### 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.*summoning:yellow item += scroll.*acquirement:white item += scroll.*identify:cyan item += scroll.*magic mapping:lightcyan item += scroll.*(silence|vulnerability|immolation):blue item += scroll.*(fog|teleport):green item += scroll.*(fear|blink):lightgreen item += scroll.*enchant:magenta item += scroll.*brand weapon:lightmagenta ### Wands ### item += wand of.*random effects:blue # Single target damage. item += wand of.*flame:brown item += wand of.*mindburst:yellow # "Transmutations" item += wand of.*polymorph:green item += wand of.*digging:lightgreen item += wand of.*acid:cyan item += wand of.*iceblast:lightcyan # Hexes item += wand of.*paralysis:magenta item += wand of.*charming:lightmagenta ### General Identification ### item += (identified|known).*(jewellery|magical staff):brown item += unidentified.*(potion|scroll|jewellery|wand|magical staff).*:lightblue item += manual:lightcyan ### Jewellery ### item += identified.*artefact.*(jewellery):white item += unidentified.*artefact.*(jewellery).*:lightmagenta item += (a )?stones?$:lightgray # 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):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 # ---- ##### # ---- ##### #PORTALS force_more_message += Found a frozen archway force_more_message += Found a gateway leading out of the Abyss force_more_message += Found a labyrinth entrance force_more_message += Found a staircase to the Ecumenical Temple force_more_message += The mighty Pandemonium lord.*resides here force_more_message += distant snort force_more_message += interdimensional caravan force_more_message += invites you to visit force_more_message += oppressive heat force_more_message += roar of battle force_more_message += sound of rushing water force_more_message += The drain falls to bits force_more_message += There is an entrance to a bailey on this level force_more_message += tolling of a bell force_more_message += wave of frost force_more_message += You hear the drain falling apart force_more_message += You hear.*crackle.*magical portal force_more_message += You hear.*crackling.*archway force_more_message += You hear.*creaking.*(oriflamme|portcullis) force_more_message += You hear.*hiss.*sand force_more_message += You hear.*rumble.*avalanche force_more_message += You hear.*rusting.*drain force_more_message += You hear.*ticking.*clock #GODBITS force_more_message += you are ready to make a new sacrifice force_more_message += grants you a gift force_more_message += mollified force_more_message += wrath finds you force_more_message += sends forces force_more_message += sends monsters force_more_message += Vehumet offers #TIDBITS force_more_message += You fall through a shaft force_more_message += Your transformation is almost over force_more_message += You are starting to lose your buoyancy force_more_message += The blast of calcifying dust hits you force_more_message += evaporates and reforms force_more_message += sentinel's mark force_more_message += Your lamp of fire has recharged. force_more_message += You have got your breath back. #SKILLS force_more_message += You have finished your manual. force_more_message += increases to level 5 force_more_message += increases to level 10 force_more_message += increases to level 15 force_more_message += increases to level 20 force_more_message += axes skill increases to level 18 force_more_message += axes skill increases to level 26 force_more_message += polearms skill increases to level 14 force_more_message += polearms skill increases to level 26 force_more_message += blades skill increases to level 10 force_more_message += blades skill increases to level 12 force_more_message += blades skill increases to level 14 force_more_message += blades skill increases to level 16 force_more_message += blades skill increases to level 26 force_more_message += flails skill increases to level 12 force_more_message += flails skill increases to level 18 force_more_message += flails skill increases to level 26 force_more_message += staves skill increases to level 16 force_more_message += shields skill increases to level 4 force_more_message += shields skill increases to level 9 force_more_message += shields skill increases to level 15 force_more_message += shields skill increases to level 25 force_more_message += crossbows skill increases to level 10 force_more_message += crossbows skill increases to level 18 force_more_message += crossbows skill increases to level 26 force_more_message += bows skill increases to level 14 force_more_message += bows skill increases to level 20 force_more_message += throwing skill increases to level 16 force_more_message += slings skill increases to level 14 #THREATS force_more_message += minotaur.*into view force_more_message += Neqoxec.*into view. force_more_message += Cacodemon .*into view. force_more_message += Shining Eye .*into view. force_more_message += Orb of Fire .*into view. force_more_message += Brimstone Fiend .*into view. force_more_message += Cursed Skull .*into view. force_more_message += Cursed Toe .*into view. force_more_message += Greater Mummy .*into view. force_more_message += Ice Fiend .*into view. force_more_message += Mummy Priest .*into view. force_more_message += Tormentor .*into view. force_more_message += Tzitzimitl .*into view. force_more_message += Hell Sentinel .*into view. force_more_message += Hellion .*into view. force_more_message += Neqoxec.*into view. force_more_message += Rust Devil .*into view. force_more_message += Neqoxec.*into view. force_more_message += Doom Hound .*into view. force_more_message += Rakshasa .*into view. force_more_message += Boggart .*into view. force_more_message += Entropy Weaver .*into view. force_more_message += Catoblepas .*into view. force_more_message += Dream Sheep .*into view. force_more_message += Spark Wasp .*into view. force_more_message += Ghost Crab .*into view. force_more_message += Thorn Hunter .*into view. force_more_message += Manticore .*into view. force_more_message += Water Nymph .*into view. force_more_message += Shock Serpent .*into view. force_more_message += Guardian Serpent .*into view. force_more_message += Moth of Wrath .*into view. force_more_message += Tarantella .*into view. force_more_message += Orc High Priest .*into view. force_more_message += Orc Warlord .*into view. force_more_message += Demonologist .*into view. force_more_message += Annihilator .*into view. force_more_message += Deep Elf Elementalist .*into view. force_more_message += ironbrand convoker .*into view. force_more_message += vault warden .*into view. force_more_message += flayed ghost .*into view. force_more_message += caustic shrike .*into view. force_more_message += wretched star.*into view. force_more_message += seraph .*into view. force_more_message += floating eye .*into view. force_more_message += ball lightning .*into view. force_more_message += Melai .*into view. force_more_message += melai .*into view. #UNIQUE WARNINGS force_more_message += Agnes .*into view. force_more_message += Aizul .*into view. force_more_message += Antaeus .*into view. force_more_message += Arachne .*into view. force_more_message += Asmodeus .*into view. force_more_message += Asterion .*into view. force_more_message += Azrael .*into view. force_more_message += Bai Suzhen .*into view. force_more_message += Blork .*into view. force_more_message += Boris .*into view. force_more_message += Cerebov .*into view. force_more_message += Crazy Yiuf .*into view. force_more_message += Dispater .*into view. force_more_message += Dissolution .*into view. force_more_message += Donald .*into view. force_more_message += Dowan .*into view. force_more_message += Duvessa .*into view. force_more_message += Edmund .*into view. force_more_message += Ereshkigal .*into view. force_more_message += Erica .*into view. force_more_message += Erolcha .*into view. force_more_message += Eustachio .*into view. force_more_message += Fannar .*into view. force_more_message += Frances .*into view. force_more_message += Frederick .*into view. force_more_message += Gastronok .*into view. force_more_message += Geryon .*into view. force_more_message += Gloorx Vloq .*into view. force_more_message += Grinder .*into view. force_more_message += Grum .*into view. force_more_message += Harold .*into view. force_more_message += Ignacio .*into view. force_more_message += Ijyb .*into view. force_more_message += Ilsuiw .*into view. force_more_message += Jorgrun .*into view. force_more_message += Jory .*into view. force_more_message += Jessica .*into view. force_more_message += Joseph .*into view. force_more_message += Josephine .*into view. force_more_message += Khufu .*into view. force_more_message += Kirke .*into view. force_more_message += Lom Lobon .*into view. force_more_message += Louise .*into view. force_more_message += Mara .*into view. force_more_message += Margery .*into view. force_more_message += Maurice .*into view. force_more_message += Menkaure .*into view. force_more_message += Mennas .*into view. force_more_message += Mnoleg .*into view. force_more_message += Murray .*into view. force_more_message += Natasha .*into view. force_more_message += Nergalle .*into view. force_more_message += Nessos .*into view. force_more_message += Nikola .*into view. force_more_message += Pikel .*into view. force_more_message += slave .*into view. force_more_message += Polyphemus .*into view. force_more_message += Prince Ribbit .*into view. force_more_message += Psyche .*into view. force_more_message += Purgy .*into view. force_more_message += Robin .*into view. force_more_message += Roxanne .*into view. force_more_message += Rupert .*into view. force_more_message += Saint Roka .*into view. force_more_message += Sigmund .*into view. force_more_message += Snorg .*into view. force_more_message += Sojobo .*into view. force_more_message += Sonja .*into view. force_more_message += Terence .*into view. force_more_message += The Lernaean hydra .*into view. force_more_message += you hear.*crashing. force_more_message += The royal jelly .* into view. force_more_message += The Serpent of Hell .*into view. force_more_message += Tiamat .*into view. force_more_message += Urug .*into view. force_more_message += Vashnia .*into view. force_more_message += Xtahua .*into view. # 03-08-2024, Sepa2 # https://github.com/gammafunk/dcss-rc?tab=readme-ov-file#2-update-the-ready-function-in-your-rc { --------------------------- ---- Begin force_mores ---- --------------------------- -- See README.md for documentation. last_turn = you.turns() -- Each entry must have a 'name' field with a descriptive name, a 'pattern' -- field, a 'cond' field giving the condition type, and a 'cutoff' field giving -- the max value for where the force_more will apply. Possible values for -- 'cond' are xl and maxhp. -- -- The 'pattern' field's value can be either a regexp string or array of regexp -- strings matching the appropriate monster(s). Any values are joined by "|" to -- make a new force_more of the form: -- -- ((?!spectral )VALUE1|VALUE2|...)(?! (skeleton|zombie|simularcrum)).*into view". -- -- To allow derived undead forms of a monster to match, include 'spectral ' at -- the beginning of and/or ' (skeleton|zombie|simularcrum)' at the end of your -- pattern for that monster. fm_patterns = { -- Fast, early game Dungeon problems for chars with low mhp. {name = "30mhp", cond = "maxhp", cutoff = 30, pattern = "adder|hound"}, -- Dungeon monsters that can damage you for close to 50% of your mhp with a -- ranged attack. {name = "40mhp", cond = "maxhp", cutoff = 40, pattern = "orc priest|electric eel"}, {name = "60mhp", cond = "maxhp", cutoff = 60, pattern = "acid dragon|steam dragon|manticore"}, {name = "70mhp", cond = "maxhp", cutoff = 70, pattern = "centaur(?! warrior)|meliai|yaktaur(?! captain)"}, {name = "80mhp", cond = "maxhp", cutoff = 80, pattern = "gargoyle|orc (warlord|knight)"}, {name = "90mhp", cond = "maxhp", cutoff = 90, pattern = {"centaur warrior", "deep elf archer", "efreet", "molten gargoyle", "tengu conjurer"} }, {name = "110mhp", cond = "maxhp", cutoff = 110, pattern = {"centaur warrior", "deep elf (mage|knight)", "cyclops", "efreet", "molten gargoyle", "tengu conjurer", "yaktaur captain", "necromancer", "deep troll earth mage", "hell knight", "stone giant"} }, {name = "160mhp", cond = "maxhp", cutoff = 160, pattern = {"(fire|ice|quicksilver|shadow|storm) dragon", "(fire|frost) giant", "war gargoyle", "draconian (knight|stormcaller"} }, } -- 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 = nil if type(v.pattern) == "table" then for j, p in ipairs(v.pattern) do if msg == nil then msg = p else msg = msg .. "|" .. p end end else msg = v.pattern end msg = "(?= 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 ---- ------------------------- } # 03-08-2024, Sepa2 # https://github.com/gammafunk/dcss-rc?tab=readme-ov-file#2-update-the-ready-function-in-your-rc # 2. Update the ready() function in your rc { function ready() -- Enable force_mores force_mores() end }