# csdc24 # Specified tile for cosplay runs tile_player_tile = tile:MONS_BLORK_THE_ORC # Uncomment this if playing Cosplay Challenge include = CosplayChallenge.rc autofight_stop = 55 hp_warning = 50 auto_butcher = true # auto_butcher = hungry auto_eat_chunks = true # confirm_butcher = never # easy_eat_chunks = true allow_self_target = never auto_hide_spells = true cloud_status = true default_manual_training = true easy_unequip = true equip_unequip = true jewellery_prompt = false show_more = false sort_menus = true : equipped, identified, basename, qualname, charged tile_web_mouse_control = false wall_jump_move = false warn_hatches = false show_travel_trail = true travel_delay = -1 rest_delay = -1 rest_wait_percent = 100 # rest_wait_percent = 80 # Change this to false for turncount runs show_game_time = true # show_game_time = false ################# # Lua Functions # ################# ----------------------------------------------------------------------------------- -- Armour/Weapon autopickup by rwbarton, enhanced by HDA with fixes from Bloaxor -- ----------------------------------------------------------------------------------- { add_autopickup_func(function(it, name) if name:find("throwing net") then return true end 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 else return it.artefact or it.branded or it.ego end end if (sub_type == "body") then if equipped_item then local armourname = equipped_item.name() if 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 return it.artefact or it.branded or it.ego end end end end) } ############# # Interface # ############# # Tab will use wielded launchers but not thrown weapons autofight_throw = false # Shift-Tab (`) will use wielded launchers but not thrown weapons autofight_throw_nomove = false # Shift-Tab (`) will pass the turn if nothing is in range autofight_wait = true # Bind Shift-Tab behavior to (`) key # Never advances toward enemy; strikes or waits # Don't hold it down, it will not auto-abort # macros += M ` ===hit_closest_nomove # commented out b/c setting macros in .rc file overwrites changes every time # Maps (0) to carve chunks (in case i've remapped c to animate skeleton) # macros += M 0 c # commented out b/c setting macros in .rc file overwrites changes every time # Maps (9) to toggle whether to force a msg for every new enemy # Was previously using the 'dynamic force mores' from ultraviolent4's file # So go back to that if I don't like this all-or-nothing approach # macros += M 9 ===toggle_stop_for_all # commented out b/c setting macros in .rc file overwrites changes every time { local stop_for_all = true if you.wizard() then stop_for_all = false crawl.mpr("Wiz-mode detected, Stop for All is OFF") else crawl.setopt("force_more_message += comes? into view") crawl.mpr("Stop for All is ON") end function toggle_stop_for_all() if stop_for_all then crawl.setopt("force_more_message -= comes? into view") crawl.mpr("Stop for All is OFF") else crawl.setopt("force_more_message += comes? into view") crawl.mpr("Stop for All is ON") end stop_for_all = not stop_for_all end } # Maps (8) to toggle auto-throwing for stand-in-place vsn of autofight (` key for me) # macros += M 8 ===toggle_auto_throwing # commented out b/c setting macros in .rc file overwrites changes every time { local auto_throwing = false function toggle_auto_throwing() if auto_throwing then crawl.setopt("autofight_throw_nomove = false") crawl.mpr("Auto Throwing is OFF") else crawl.setopt("autofight_throw_nomove = true") crawl.mpr("Auto Throwing is ON") end auto_throwing = not auto_throwing end } ############## # Autopickup # ############## autopickup = $?!+"/%} ae := autopickup_exceptions # Autopickup artifacts ae += wand of random effects # ae += >wand of flame # ae += >wand of disintegration # ae += >wand of polymorph # ae += >wand of paralysis # ae += >wand of enslavement # ae += >wand of scattershot # Autopickup misc items except crystal ball ae += crystal ball # Don't pick these up once identified # Str, Int, Dex will pick up only if already carrying one ae += >ring of stealth ae += >ring of positive energy ae += >ring of fire ae += >ring of ice ae ^= >ring of strength ae ^= >ring of intelligence ae ^= >ring of dexterity ae += >ring of magical power ae += >ring of wizardry ae += >ring of protection from ####################### # Notes in Char Dumps # ####################### dump_item_origins = artefacts, ego_arm, ego_weap, books dump_message_count = 100 dump_book_spells = false dump_order += turns_by_place, kills_by_place, vaults ########## # Travel # ########## # Trying a small wall bias to see if it improves autoexplore explore_wall_bias = 5 explore_stop = items,greedy_items,greedy_pickup,greedy_pickup_gold explore_stop += greedy_visited_item_stack,stairs,shops,altars,gates explore_stop += greedy_sacrificeable auto_exclude += oklob,statue,roxanne,hyperactive stop := runrest_stop_message ignore := runrest_ignore_message # Annoyances : if you.god() == "Jiyva" then ignore += Jiyva gurgles merrily ignore += Jiyva appreciates your sacrifice ignore += Jiyva says: Divide and consume ignore += You hear.*splatter : end ignore ^= You feel.*sick ignore += disappears in a puff of smoke ignore += engulfed in a cloud of smoke ignore += standing in the rain ignore += engulfed in white fluffiness ignore += safely over a trap ignore += A.*toadstool withers and dies ignore += toadstools? grow ignore += You walk carefully through the ignore += chunks of flesh in your inventory.*rotted away runrest_ignore_poison = 5:10 runrest_ignore_monster += ^butterfly:1 # Bad things stop += You fall through a shaft stop += An alarm trap emits a blaring wail stop += (blundered into a|invokes the power of) Zot stop += A huge blade swings out and slices into you! stop += flesh start stop += (starving|feel devoid of blood) stop += wrath finds you stop += lose consciousness stop += watched by something stop += appears from out of your range of vision # Expiring effects stop += You feel yourself slow down stop += less insulated stop += You are starting to lose your buoyancy stop += You lose control over your flight stop += Your hearing returns stop += Your transformation is almost over stop += back to life stop += uncertain stop += time is quickly running out stop += life is in your own hands stop += is no longer charmed stop += You start to feel a little slower stop += You are no longer : if you.race() == "Ghoul" then stop += smell.*(rott(ing|en)|decay) stop += something tasty in your inventory : end : if you.god() == "Xom" then stop += god: :else ignore += god: :end ignore += pray: ignore += talk: ignore += talk_visual: ignore += friend_spell: ignore += friend_enchant: ignore += friend_action: ignore += sound: ########### # Prompts # ########### flash_screen_message += You feel strangely unstable flash_screen_message += Strange energies course through your body flash_screen_message += You .* slow(ing)? down flash_screen_message += You are confused flash_screen_message += watched by something flash_screen_message += your power leaking flash_screen_message += mark forms upon you : if you.god() ~= "Lugonu" then flash_screen_message += distortion : end more := force_more_message # distortion more += Space warps horribly around you more += hits you.*distortion more += Space bends around you\. more += Your surroundings (flicker|seem|suddenly) more += Its appearance distorts for a moment. # ghost moths/antimagic more += watched by something more += You feel your power leaking # torment/holy wrath more += You convulse # dispel breath more += dispelling energy hits you # early unseen horrors more += It hits you! more += Something hits you more += Something. *misses you. # Transmutations # Note: magical contamination + lich form + auto-travel = malmutations more += Your transformation is almost over more += You feel yourself .* back to life # Announcements of timed portal vaults: more += interdimensional caravan more += distant snort more += roar of battle more += wave of frost more += hiss of flowing sand more += sound of rushing water more += oppressive heat more += crackle of arcane power more += invites you to visit more += The drain falls to bits more += There is an entrance to a bailey on this level more += tolling of a bell more += You hear the drain falling apart more += You hear.*crackle.*magical portal more += You hear.*crackling.*archway more += You hear.*creaking.*(oriflamme|portcullis) more += You hear.*hiss.*sand more += You hear.*rumble.*avalanche more += You hear.*rusting.*drain more += You hear.*ticking.*clock more += You hear.*beating.*drum more += You hear.*faint.*whistling # Abyss, Pan more += Found a gateway leading out of the Abyss more += Found a gateway leading deeper into the Abyss more += Found .* abyssal rune of Zot more += You feel a terrible weight on your shoulders more += Found .* leading .* of Pandemonium more += .* resides here # Interrupts more += You don't.* that spell more += You miscast (Controlled Blink|Blink|Death's|Borg|Necromutation) more += You can't (read|drink|do) 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 += You feel your control is inadequate more += Something interferes with your magic more += You enter a teleport trap # Bad things 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 += flesh start more += (starving|devoid of blood) more += god:(sends|finds|silent|anger) more += You feel a surge of divine spite more += lose consciousness more += You are too injured to fight blindly more += calcifying dust hits more += Space warps horribly around you more += hits you.*distortion more += Space bends around you\. more += watched by something more += A sentinel's mark forms upon you more += Your limbs have turned to stone more += You are slowing down more += .*LOW HITPOINT WARNING.* more += warns you.*of distortion more += space bends around your more += wielding.*of (distortion|chaos) more += You are yanked more += You feel a (horrible|terrible) chill more += You feel haunted more += You feel your attacks grow feeble more += corrodes you more += mark forms upon you more += surroundings become eerily quiet more += Terrible wounds (open|spread) all over you more += The air around.*erupts in flames more += The air twists around and violently strikes you in flight more += You shudder from the earth-shattering force more += The barbed spikes become lodged in your body more += The barbed spikes dig painfully into your body as you move more += The poison in your body grows stronger more += The pull of.*song draws you forwards more += You are mesmerised more += The.*engulfs you in water more += The.*grabs you[^r] more += You (are|feel) drained more += You are burned terribly more += You are encased in ice more += You are engulfed in calcifying dust more += You are engulfed in dark miasma more += You are engulfed in mutagenic fog more += You are knocked back more += You are blown backwards # But ignore the message from a fan of gales more += (?-i:You) are blown : if you.race() ~= "Ghoul" then more += You feel your flesh.*rot : end more += You feel your power drain away more += You feel your power leaking away more += You feel yourself grow more vulnerable to poison more += You (stumble|are shoved) backwards more += You.*re (confused|more confused|too confused) more += You.*re (poisoned|more poisoned|lethally poisoned) more += Your body is wracked with pain more += Your limbs are stiffening more += Your magical defenses are stripped away more += Your?.*suddenly stops? moving # Exploration traps more += You are suddenly yanked # Gods more += you are ready to make a new sacrifice more += mollified more += wrath finds you more += sends forces more += sends monsters more += Vehumet offers # Xom is scary : if you.god() == "Xom" then more += god: : end # Hell effects # Re-enabled more += You will not leave this place more += Die, mortal more += We do not forgive those who trespass against us more += Trespassers are not welcome here more += You do not belong in this place more += Leave now, before it is too late more += We have you now more += You smell brimstone more += Brimstone rains from above more += You feel lost and a long, long way from home more += You shiver with fear more += You feel a terrible foreboding more += Something frightening happens more += You sense an ancient evil watching you more += You suddenly feel all small and vulnerable more += You sense a hostile presence more += A gut-wrenching scream fills the air more += You hear words spoken in a strange and terrible language more += You hear diabolical laughter # Expiring effects more += Your extra speed is starting to run out more += You feel yourself slow down more += less insulated more += You are starting to lose your buoyancy more += You lose control over your flight 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 += uncertain more += time is quickly running out more += life is in your own more += is no longer charmed more += shroud falls apart more += You start to feel a little slower more += You flicker more += You feel less protected from missiles more += The sanctuary disappears more += You start to feel less resistant. more += Your resistance to elements expires # Skill breakpoints : if you.race() ~= "Gnoll" and stop_for_skills then more += skill (increases|gained) : end # Others more += You have reached level more += You have finished your manual of more += Your scales start more += You feel monstrous more += carrying a wand more += zaps a wand more += drinks a potion more += evokes.*(amulet|ring) more += reads a scroll more += steals more += is unaffected more += Jiyva alters your body more += You have no means to grasp a wand more += Mutagenic energies flood into your body more += (The|Your).*falls away! more += You feel a genetic drift more += You feel your rage building more += Your body shudders with the violent release of wild energies more += Your guardian golem overheats more += Your?.*can no longer [^pass|merge] more += scroll of acquirement #################### # Autoinscriptions # #################### ai := autoinscribe ai += of ambrosia:!q ai += of cancellation:!q ai += of berserk:!q ai += of silence:!r ai += of faith:!P!R ai += [^r]staff of (conj|energy|power|wizardry):!a ai += manual of:!d ai += dispersal:!f ai += throwing net:!f ai += curare:!f ai += frenzy:!f ai += datura:!f ai += ( ration):!d ai += figurine:!* : if you.god() ~= "Lugonu" then ai += (distortion):!w :end ai += of identify:@r1 ai += remove curse:@r2 ai += curing:@q1 ai += potions? of heal wounds:@q2 ai += potions? of haste:@q3 ai += potions? of might:@q4 ai += potions? of agility:@q5 ai += potions? of brilliance:@q6 ai += scrolls? of teleportation:@r4 ai += scrolls? of blinking:@r5 ai += scrolls? of magic mapping:@r9 ai += potions? of blood:@q0 #################### # Mute some messages # #################### msc := message_colour # Muted - unnecessary msc += mute:The (bush|fungus|plant) is engulfed msc += mute:The (bush|fungus|plant) is struck by lightning msc += mute:Cast which spell msc += mute:Use which ability msc += mute:Evoke which item msc += mute:Confirm with # msc += mute:(Casting|Aiming|Aim|Zapping)\: msc += mute:Throwing.*\: msc += mute:You can\'t see any susceptible monsters within range msc += mute:Press\: \? \- help, Shift\-Dir \- straight line, f \- you msc += mute:for a list of commands and other information msc += mute:Firing \(i msc += mute:Fire\/throw which item\? msc += mute:You swap places msc ^= mute:is lightly (damaged|wounded) msc ^= mute:is moderately (damaged|wounded) msc ^= mute:is heavily (damaged|wounded) msc ^= mute:is severely (damaged|wounded) msc ^= mute:is almost (dead|destroyed) msc += mute:Was it this warm in here before msc += mute:The flames dance msc += mute:Your shadow attacks msc += mute:Marking area around msc += mute:Placed new exclusion msc += mute:Reduced exclusion size to a single square msc += mute:Removed exclusion msc += mute:You can access your shopping list by pressing msc += mute:for starvation awaits msc += mute:As you enter the labyrinth msc += mute:previously moving walls settle noisily into place msc += mute:You offer a prayer to Elyvilon msc += mute:You offer a prayer to Nemelex Xobeh msc += mute:You offer a prayer to Okawaru msc += mute:You offer a prayer to Makhleb msc += mute:You offer a prayer to Lugonu msc += mute:Lugonu accepts your kill msc += mute:Okawaru is noncommittal msc += mute:Nemelex Xobeh is (noncommittal|pleased) msc += mute:The plant looks sick msc += mute:You start butchering msc += mute:You continue butchering msc += mute:This raw flesh tastes terrible : if string.find(you.god(), "Jiyva") then msc += mute:You hear a.*slurping noise msc += mute:You hear a.*squelching noise msc += mute:You feel a little less hungry : end ############### # Spell slots # ############### spell_slot += Animate Skeleton:n spell_slot += Animate Dead:m spell_slot += Apportation:g spell_slot += Blink:k spell_slot += Confusing Touch:t spell_slot += Conjure Flame:c spell_slot += Deflect Missiles:l spell_slot += Irradiate:e spell_slot += Iskenderun's Battlesphere:i spell_slot += Mephitic Cloud:x spell_slot += Olgreb's Toxic Radiance:o spell_slot += Passage of Golubria:q spell_slot += Passwall:p spell_slot += Portal Projectile:o spell_slot += Regeneration:r spell_slot += Spectral Weapon:h spell_slot += Spellforged Servitor:i spell_slot += Static Discharge:e spell_slot += Statue Form:u spell_slot += Sticks to Snakes:x spell_slot += Sticky Flame:s spell_slot += Sublimation of Blood:j spell_slot += Summon Butterflies:y spell_slot += Summon Lightning Spire:z spell_slot += Summon Mana Viper:v spell_slot += Swiftness:w spell_slot += Vampiric Draining:e # spell_slot += Agony: # spell_slot += Aura of Abjuration:j # spell_slot += Beastly Appendage:a # spell_slot += Bolt of Cold:c # spell_slot += Bolt of Fire:c # spell_slot += Borgnjor's Vile Clutch:f # spell_slot += Call Canine Familiar:c # spell_slot += Call Imp:x # spell_slot += Cause Fear:f # spell_slot += Confuse:c spell_slot += Corona:Z # spell_slot += Corpse Rot:d # spell_slot += Dazzling Spray:s # spell_slot += Dispel Undead:d # spell_slot += Ensorcelled Hibernation:x # spell_slot += Fireball:x # spell_slot += Flame Tongue:a # spell_slot += Freeze:a # spell_slot += Freezing Cloud:f # spell_slot += Fulminant Prism:z # spell_slot += Ice Form:c # spell_slot += Infusion:a # spell_slot += Iskenderun's Mystic Blast:x # spell_slot += Magic Dart:a # spell_slot += Orb of Destruction:zZ # spell_slot += Pain:a # spell_slot += Poisonous Vapours:x # spell_slot += Sandblast:a # spell_slot += Searing Ray:s # spell_slot += Shock:a # spell_slot += Shroud of Golubria:q # spell_slot += Silence:g # spell_slot += Slow:s # spell_slot += Song of Slaying:w # spell_slot += Spider Form:x # spell_slot += Sting:a # spell_slot += Stone Arrow:x # spell_slot += Summon Ice Beast:i # spell_slot += Summon Small Mammal:a # spell_slot += Throw Flame:x # spell_slot += Throw Frost:x # spell_slot += Throw Icicle:c # spell_slot += Tukima's Dance:d ############### # Item slots # ############### item_slot += ring of see invisible:I item_slot += ring of protection from magic:ML item_slot += ring of protection from fire:F item_slot += ring of protection from cold:C item_slot += ring of wizardry:W item_slot += ring of resist corrosion:Z item_slot += ring of flight:Q item_slot += ring of poison resistance:P item_slot += ring of positive energy:N item_slot += ring of stealth:S item_slot += ring of evasion:E item_slot += ring of protection:R item_slot += ring of slaying:X item_slot += wand of paralysis:T item_slot += wand of enslavement:Y item_slot += wand of polymorph:U item_slot += wand of flame:G item_slot += wand of disintegration:H item_slot += wand of scattershot:J item_slot += wand of clouds:K item_slot += wand of acid:V item_slot += wand of iceblast:B item_slot += wand of digging:D item_slot += blowgun:g item_slot += staff of energy:w item_slot += staff of wizardry:q item_slot += ( ration):r ################# # Ability slots # ################# # Lugonu ability_slot += corrupt:Y ability_slot += enter the abyss:E ability_slot += depart the abyss:A # Gozag ability_slot += potion petition:A # Ru ability_slot += draw out power:A # Trog ability_slot += berserk:A # Jiyva ability_slot += request jelly:A # General Use ability_slot += end transformation:T ################# # Miscellaneous # ################# # From Ge0ff rc # ################# # Note: this list will be included only in dumps of finished games # Also, alpha versions already include a list of vaults in the char dump : if not string.find(crawl.version("short"), "-a") then dump_order += vaults : end # Custom colours menu_colour += stash:yellow:( ration|scroll|potion|gold piece) message_colour += yellow:bark|bellow|bleat|buzz|croak|creak|growl|gurgle|hiss|howl[^e]|moan|roar|say|scream|screech|shout|shriek|sneer|squeak|squeal|trumpet|loud clanging noise|blaring wail|gurgling sound|meow|ribbit|clap of thunder # Rechargeable evocables message_colour += lightgreen:has recharged|has regained # Max poison message_colour += lightcyan:sick as possible # Yred's enslavement message_colour += lightred:soul is.*ripe|is now yours # DD's healing MP drain message_colour += lightred:magical essence is drained by the effort # Healing, including Makhleb's HP on kills message_colour += lightgreen:feel.*better|feel life coursing # DS's Powered by Pain message_colour += lightgreen:You focus on the pain # Free damage (electrocution brand, riposte, etc.) message_colour += lightcyan:Lightning courses|You riposte|You reflect|reflects off.*around you|Your.*reflects|struck by your spines # Antimagic attacks and VS bite message_colour += lightblue:magic leaks into the air|feel invigorated # New spells message_colour += yellow:You add the spell # Sublimation of Blood and Vehumet's MP on kills message_colour += lightblue:draw magical energy from your own body|feel your power returning # Crystal ball message_colour += lightred:your power drain away message_colour += lightblue:suffused with power message_colour += mute:This raw flesh|Your spectral weapon fades away # Settings for local tiles tile_font_crt_size = 15 tile_font_stat_size = 16 tile_font_msg_size = 14 tile_font_tip_size = 15 tile_font_lbl_size = 14 # Offline games, sends to menu after saving rather than exiting program restart_after_save = true tile_layout_priority = minimap, monster, inventory