#### Up-to-date config lives on Github: #### https://github.com/semitonal/semitonal.rc #### Autopickup autopickup = $/?!}: ae := autopickup_exceptions ae = # Exclusions ae += (useless|evil)_item ae += dangerous_item.*scrolls? of (holy word|noise|torment) ae += scrolls? of (immolation|vulnerability) ae += potions? of (berserk rage|flight|lignification|mutation) ae += wands? of flame ae += pieces? from Xom's chessboard # Inclusions ae += 0 then return end if it.artefact 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 end if it.branded then return true end elseif st == "body" then local cur = items.equipped_at("armour") if cur == nil then return end if cur.name("qual") ~= it.name("qual") then return end if it.artefact then return true end if cur.branded or cur.artefact then return end if it.branded then return true end end end return end) -- Autopickup stackable items add_autopickup_func(function (it, name) return it.stacks() or nil end) -- Autopickup uncollected misc items add_autopickup_func(function (it, name) if it.class(true) ~= "misc" then return end local itname = it.name(true) if not string.find(itname, "ziggurat") then for inv in iter.invent_iterator:new(items.inventory()) do if itname == inv.name() then return false end end end return end) } default_autopickup = true pickup_thrown = true assign_item_slot = forward pickup_menu_limit = 1 drop_filter = drop_filter += useless_item auto_hide_spells = false #### Travel & exploration travel_delay = -1 explore_delay = -1 rest_delay = -1 explore_greedy = true explore_stop = explore_stop += items,stairs,shops,altars,portals,branches,runed_doors explore_stop += greedy_items,greedy_pickup_smart,greedy_visited_item_stack explore_wall_bias = 0 travel_key_stop = true travel_one_unsafe_move = false auto_exclude = auto_exclude += oklob,statue,roxanne,lightning spire #### Resting delay_safe_poison = 80:100 runrest_ignore_monster = runrest_ignore_monster += ^butterfly$:1 runrest_ignore_monster += ^wandering mushroom$:1 rest_wait_both = true rest_wait_ancestor = false rest_wait_percent = 100 explore_auto_rest = false #### Interface & commands default_manual_training = true autopickup_starting_ammo = true auto_switch = false travel_open_doors = true easy_unequip = true equip_unequip = true jewellery_prompt = true easy_confirm = none simple_targeting = true force_targeter = all allow_self_target = no easy_quit_item_prompts = false easy_exit_menu = false ability_menu = false easy_floor_use = true sort_menus = true:equipped,identified,basename,art,ego,glowing,qualname,slot autofight_stop = 0 autofight_warning = 0 autofight_throw = false autofight_throw_nomove = false autofight_fire_stop = false autofight_caught = true autofight_wait = true autofight_prompt_range = false fail_severity_to_confirm = 0 easy_door = false warn_hatches = false enable_recast_spell = false regex_search = false autopickup_search = false bad_item_prompt = false fire_items_start = a fire_order = launcher,throwing,inscribed,spell,evokable,ability fail_severity_to_quiver = 2 launcher_autoquiver = true #### Messages & display hp_warning = 50 mp_warning = 0 hp_colour = 100:green,99:lightgray,75:yellow,50:lightred,25:red mp_colour = 100:green,99:lightgray,75:yellow,50:lightred,25:red stat_colour -= 3:red status_caption_colour = brown enemy_hp_colour = green green brown brown magenta red clear_messages = false show_more = true small_more = true show_newturn_mark = true show_game_time = true equip_bar = false animate_equip_bar = false item_stack_summary_minimum = 4 mlist_min_height = 4 mlist_allow_alternate_layout = false monster_item_view_coordinates = false monster_item_view_features = monster_item_view_features += stair,trap messages_at_top = false msg_condense_repeats = false msg_condense_short = false show_travel_trail = false skill_focus = false default_show_all_skills = false view_delay = 600 use_animations = use_animations += beam,range darken_beyond_range = true cloud_status = true always_show_zot = false tile_display_mode = hybrid bold_brightens_foreground = true #### Character dump & notes dump_kill_places = single dump_on_save = true dump_item_origins = none dump_item_origin_price = -1 dump_message_count = 30 dump_order = header,hiscore,stats,misc,inventory dump_order += skills,spells,overview,mutations,messages,screenshot dump_order += monlist,notes,action_counts dump_order += vaults,turns_by_place,kills_by_place note_items = note_items += of Zot,experience,acquirement note_items += of resistance,Archmagi,crystal plate armour,dragon scales note_monsters = note_monsters += orb of fire,ancient lich,dead lich note_hp_percent = 10 note_all_skill_levels = true note_xom_effects = true note_messages = note_messages += Your scales start note_messages += You feel monstrous note_messages += protects you from harm note_messages += You (fall|are sucked) into a shaft note_chat_messages = false note_dgl_messages = true #### Autoinscriptions ai := autoinscribe ai += (bad|dangerous)_item.*potion:!q ai += (bad|dangerous)_item.*scroll:!r ai += potions? of berserk rage:!q ai += scrolls? of silence:!r ai += staff of Wucad Mu:!a ai += scrolls? of identify:@r1 ai += potions? of curing:@q1 ai += potions? of heal wounds:@q2 ai += potions? of haste:@q3 ai += scrolls? of teleportation:@r4 show_god_gift = unident #### Key bindings # Useless commands bindkey = [R] CMD_NO_CMD_DEFAULT bindkey = [T] CMD_NO_CMD_DEFAULT # Macro keys bindkey = [`] CMD_NO_CMD_DEFAULT bindkey = [1] CMD_NO_CMD_DEFAULT bindkey = [2] CMD_NO_CMD_DEFAULT bindkey = [3] CMD_NO_CMD_DEFAULT bindkey = [4] CMD_NO_CMD_DEFAULT bindkey = [6] CMD_NO_CMD_DEFAULT bindkey = [7] CMD_NO_CMD_DEFAULT bindkey = [8] CMD_NO_CMD_DEFAULT bindkey = [9] CMD_NO_CMD_DEFAULT # Wizmode bindkey = [&] CMD_NO_CMD_DEFAULT # Targeting bindkey = [\] CMD_TARGET_OBJ_CYCLE_FORWARD bindkey = [^I] CMD_TARGET_CYCLE_FORWARD # Autofight bindkey = [p] CMD_NO_CMD_DEFAULT bindkey = [\{-233}] CMD_AUTOFIGHT_NOMOVE # Saving bindkey = [S] CMD_SAVE_GAME_NOW ### Macros macros += M 1 zzf macros += M 2 zxf macros += M 3 zcf macros += M 4 zef macros += M 6 \{32} macros += M 7 \{32} macros += M 8 \{32} macros += M 9 zMf macros += M z ===force_cast_spell macros += M Z ===force_cast_spell : if you.race() == "Naga" or you.race():find("Draconian") : or you.race() == "Palentonga" then macros += M ` aff : else macros += M ` taf : end #### Glyphs # Features display_char = wall:x2592 display_char = permawall:x2593 display_char = wall_magic:x2591 cset_unicode = item_gold:xa3 cset_unicode = cloud:# cset_unicode = cloud_weak:xa7 cset_unicode = cloud_fading:x263c feature = (closed|runed|sealed) door {+,,} mon := mon_glyph mon = # Humans (moved away from 'a') mon += imperial myrmidon:red g mon += servant of whispers:green g mon += ragged hierophant:magenta g # Canines mon += hog:lightred h mon += hell hog:lightmagenta h # Boggarts mon += boggart:magenta i # Drakes (moved away from 'k') mon += swamp drake:brown l mon += rime drake:lightblue l mon += wind drake:white l mon += lindwurm:lightcyan l mon += death drake:lightgrey l # Arachnids mon += emperor scorpion:lightgreen s # Flying insects mon += queen bee:lightgreen y # Insects mon += formicid:cyan B mon += demonic crawler:green B mon += entropy weaver:yellow B # Frogs mon += goliath frog:lightcyan F mon += barachi:lightgrey F # Eyes mon += eye of devastation:brown G mon += golden eye:yellow G # Liches mon += ancient lich:magenta L # Mummies mon += royal mummy:lightmagenta M # Snakes and eels (moved away from ';') mon += sea snake:lightred S mon += electric eel:lightcyan S mon += lava snake:yellow S # Animated allies mon += dancing weapon:7 mon += spectral weapon:green 7 mon += animated armour:cyan 7 mon += guardian golem:lightgreen 7 mon += spellforged servitor:magenta 7 # Statues and gargoyles (moved away from '9') mon += saltling:white 8 mon += peacekeeper:lightgreen 8 mon += ushabti:brown 8 mon += statue:white 8 mon += training dummy:white 8 mon += gargoyle:lightgrey 8 mon += war gargoyle:lightmagenta 8 mon += molten gargoyle:yellow 8 # Demonspawn mon += blood saint:9 mon += warmonger:9 mon += corrupter:9 mon += black sun:9 # Temporary statues mon += pillar of salt:white } mon += block of ice:lightblue } mon += lightning spire:lightcyan } # Uniques mon += Donald:green mon += Louise:blue mon += Frederick:lightmagenta show_player_species = true #### Item colours item := item_glyph item = item += (potion|scroll|wand|jewellery):lightgrey item += spellbook:red item += scrolls? of (blinking|teleportation):yellow item += potions? of (haste|heal wounds):yellow item += scrolls? of (acquirement|brand weapon|enchant):cyan item += potions? of experience:cyan item += unidentified.*(potion|scroll|book|wand):lightblue item += unidentified.*(jewellery|magical staff):lightblue item += unidentified.*manual:white item += useless_item.*(potion|scroll):darkgrey #### Messages # TODO: recheck all of this ignore := runrest_ignore_message ignore = stop := runrest_stop_message stop = more := force_more_message more = # Annoyances ignore += Jiyva gurgles merrily ignore += Jiyva appreciates your sacrifice ignore += Jiyva says: Divide and consume ignore += You hear.*splatter ignore += You feel.*sick ignore += disappears in a puff of smoke ignore += foxfire dissipates ignore += engulfed in a cloud of smoke ignore += standing in the rain ignore += engulfed in white fluffiness ignore += A.*toadstool withers and dies ignore += toadstools? grow ignore += You walk carefully through the ignore += The winds around you calm down. ignore += Lightning arcs down from a storm cloud ignore += (crumbles|melts) away\. ignore += grinding sound ignore += contamination has completely ignore += your breath back ignore += talk: ignore += talk_visual: ignore += friend_spell: ignore += friend_enchant: ignore += friend_action: ignore += sound: # Bad things stop += found.*trap stop += (blundered into a|invokes the power of) Zot stop += You (fall|are sucked) into a shaft stop += A sentinel's mark forms upon you\. stop += A huge blade swings out and slices into you stop += (starving|devoid of blood) stop += wrath finds you stop += lose consciousness # Expiring effects stop += You feel yourself slow down stop += You are starting to lose your buoyancy stop += Your hearing returns stop += Your transformation is almost over stop += back to life stop += time is quickly running out stop += life is in your own hands stop += is no longer charmed :if you.god() == "Xom" then stop += god: :else ignore += god: :end stop += hell_effect: # Important features : if you.god() == "Ashenzari" then more += You have a vision of.*gates? : else 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 += heat about you more += crackle of arcane power more += distant wind : end more += The mighty Pandemonium lord .* resides here more += You pick up the .* rune and feel its power # Religion more += press .* to convert to Beogh more += welcomes you( back)?! more += You have lost your religion more += grants you.*(gift|ammunition|weapon|armour) more += offers you knowledge of more += believes you are ready to make a new sacrifice more += may now remember your ancestor more += invites you to partake of # Abyss more += is wielding.*distortion more += there is a.*distortion more += of distortion comes into view. more += You are cast .*into the Abyss more += The Abyss bends around you more += Found a gateway leading out of the Abyss more += a gateway leading .* appears more += Found .* abyssal rune of Zot # Interrupts more += You don't .* that spell more += You fail to use your ability more += You miscast.*(Blink|Borgnjor|Door|Invisibility|Coupling) 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 += You don't have the energy to cast that spell # Bad things more += Your surroundings flicker more += You cannot teleport right now more += You (fall|are sucked) into a shaft more += You fall into the water more += You fall into the lava more += Careful! more += You focus on prolonging your flight 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 convulse more += You are blasted by holy energy! more += You are (blasted|electrocuted)! more += You are.*(confused|poisoned) : if you.race() ~= "Ghoul" then more += flesh rotting :end 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 += You are slowing down more += Space warps.*around you more += Space bends around you more += watched by something more += flickers and vanishes! more += breaks free of your control 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 # Prompts more += You bow before the missionary of Beogh more += You .* the altar of more += will bless one of your weapons more += will bloody your weapon with pain more += will brand one of your weapons more += It is a scroll of amnesia more += It is a scroll of brand weapon more += It is a scroll of enchant armour more += It is a scroll of enchant weapon more += It is a scroll of identify more += It is a scroll of recharging more += This is a scroll of acquirement more += You feel more experienced more += A flood of memories washes over you more += There's only one card left more += The deck only has .* cards more += The deck has exactly five cards more += You draw the first five cards more += You deal a card # Others more += You have reached level more += You rejoin the land of the living more += You have finished your manual more += Your scales start more += You feel monstrous more += Jiyva alters your body : if you.god() == "Xom" then more += god: : end #### Message colours # TODO: recheck all of this $danger := lightred $warning := yellow $boring := darkgrey msc := message_colour msc = menu := menu_colour menu = # Multi-turn channel.multiturn = mute # Allies 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:(something|your).*(misses|does no damage) 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) msc += mute:constricts?.*no damage # Jiyva msc += mute:slurping|squelching msc += mute:splits in two msc += mute:You feel.*(less hungry|power returning|better) # Uskayaw msc += mute:force your foes to # Spellcasting spam reduction (by dianne) # Macro z and Z to ===force_cast_spell msc += mute:Cast which spell\? \( msc += mute:^Casting.* msc += mute:Confirm with \. or Enter, or press \? or \* to list all spells\. msc += mute:Press\: \? - help, Shift-Dir - straight line, f - you msc += mute:for a list of commands and other information { function force_cast_spell() crawl.mpr('Cast which spell?') crawl.flush_prev_message() crawl.process_keys('Z') end } # Other msc += mute:meld.*your body msc += mute:begins to bleed from.*wounds msc += mute:writhes in agony as.*flesh msc += mute:You feel a.*surge of power msc += mute:Your legs become a tail as you enter the water msc += mute:You cannot train any new skill msc += mute:Moving in this stuff is going to be slow # Default colours msc += $danger:drains you msc += $danger:feel drained msc += $danger:strangely unstable msc += $danger:curare-tipped.*hits you msc += $danger:Space warps.* around you msc += $danger:Space bends around you msc += $danger:sense of stasis msc += $danger:clumsily bash msc += $danger:goes berserk msc += $danger:The blast of calcifying dust hits you msc += $danger:You are engulfed in calcifying dust msc += $danger:is moving more slowly msc += lightgrey:Something appears (at your feet|before you) msc += $danger:^Something .* you msc += $danger:You block its attack msc += $danger:constricts you msc += $danger:you convulse msc += $danger:You feel a build-up of mutagenic energy msc += $danger:place you under penance msc += $danger:cause instant excommunication msc += $warning:corrodes you msc += $warning:rotting away msc += $warning:ticking.*clock msc += $warning:dying ticks msc += $warning:distant snort msc += $warning:odd grinding sound msc += $warning:creaking of ancient gears msc += $warning:floor suddenly vibrates msc += $warning:a sudden draft msc += $warning:coins.*counted msc += $warning:tolling.*bell msc += $warning:roar of battle msc += $warning:creaking.*portcullis msc += $warning:portcullis is probably msc += $warning:wave of frost msc += $warning:crackling.*melting msc += $warning:hiss.*sand msc += $warning:sound.*rushing water msc += $warning:rusting.*drain msc += $warning:drain falling apart msc += $warning:oppressive heat msc += $warning:rumble.*avalanche of rocks msc += $warning:crackle.*arcane power msc += $warning:crackle.*magical portal msc += $warning:distant wind msc += $warning:whistling.*wind msc += $warning:fails to return msc += $warning:no longer ripe msc += $boring:You start (resting|waiting) msc += $boring:Unknown command msc += $boring:but (do no|doesn't do any) damage msc += $boring:(prevent|prevents) you from hitting # Selected items menu += inventory:white:\w \+\s menu += inventory:white:\w \#\s menu += darkgrey:(melded) menu += red:.*evil_item.* menu += lightred: cursed menu += darkgrey:.*useless_item.* menu += inventory:lightgreen:.*equipped.* menu += white:.*artefact.* menu += lightblue:^unidentified .*(potion|scroll|book|wand).* menu += lightblue:^unidentified .*(jewellery|magical staff).* menu += lightblue:^unidentified .*weapon.*(runed|glowing) menu += lightblue:^unidentified .*armour.*(runed|glowing) menu += lightblue:^unidentified .*armour.*(embroidered|shiny|dyed) menu += yellow:potions? of (haste|heal wounds) #### Spell slots # TODO: recheck all of this # Utility spells spell_slot += Dispel Undead:q spell_slot += Cause Fear:Q spell_slot += Alistair's Intoxication:Q spell_slot += Discord:Q spell_slot += Passage of Golubria:w spell_slot += Apportation:e spell_slot += Metabolic Englaciation:T spell_slot += Ozocubu's Armour:a spell_slot += Swiftness:s spell_slot += Silence:G spell_slot += Disjunction:H spell_slot += Invisibility:j spell_slot += Death's Door:J spell_slot += Borgnjor's Revivification:L spell_slot += Blink:b spell_slot += Sublimation of Blood:n spell_slot += Passwall:N spell_slot += Necromutation:M spell_slot += Death Channel:ZXC spell_slot += Simulacrum:ZXC spell_slot += Exruciating Wounds:ZXC spell_slot += Dispersal:ZXC spell_slot += Leda's Liquefaction:ZXC # Transformations spell_slot += Beastly Appendage:zxcv spell_slot += Spider Form:zxcv spell_slot += Ice Form:zxcv spell_slot += Blade Hands:zxcv spell_slot += Storm Form:XC spell_slot += Statue Form:XC spell_slot += Dragon Form:XC # Summons spell_slot += Summon Small Mammal:zxc spell_slot += Call Imp:zxc spell_slot += Call Canine Familiar:zxcv spell_slot += Summon Ice Beast:zxcv spell_slot += Shadow Creatures:zxcv spell_slot += Summon Guardian Golem:ZX spell_slot += Summon Lightning Spire:ZX spell_slot += Summon Forest:ZXC spell_slot += Monstrous Menagerie:ZXC spell_slot += Summon Mana Viper:xcv spell_slot += Summon Hydra:xcv spell_slot += Haunt:xcv spell_slot += Spellforged Servitor:XCV spell_slot += Malign Gateway:XCV spell_slot += Summon Horrible Things:XCV spell_slot += Dragon's Call:XCV # Low-level spells spell_slot += Freeze:z spell_slot += Magic Dart:z spell_slot += Foxfire:z spell_slot += Pain:z spell_slot += Shock:z spell_slot += Sandblast:z spell_slot += Sting:z spell_slot += Ensorcelled Hibernation:z spell_slot += Infusion:z spell_slot += Searing Ray:zxc spell_slot += Portal Projectile:zxc spell_slot += Slow:zxc spell_slot += Inner Flame:zxc spell_slot += Teleport Other:zxc spell_slot += Tukima's Dance:zxc spell_slot += Poisonous Vapours:zxc spell_slot += Corona:Z spell_slot += Animate Skeleton:Z spell_slot += Corpse Rot:Z spell_slot += Confusing Touch:ZX spell_slot += Conjure Flame:ZX # Mid-level spells spell_slot += Stone Arrow:zxcv spell_slot += Dazzling Spray:zxcv spell_slot += Iskenderun's Mystic Blast:zxcv spell_slot += Force Lance:zxcv spell_slot += Sticky Flame:zxcv spell_slot += Hailstorm:zxcv spell_slot += Venom Bolt:zxcv spell_slot += Airstrike:zxcv spell_slot += Agony:zxcv spell_slot += Petrify:zxcv spell_slot += Vampiric Draining:zxcv spell_slot += Spectral Weapon:zxcv spell_slot += Confuse:zxcv spell_slot += Gell's Gravitas:zxcv spell_slot += Mephitic Cloud:cC spell_slot += Wereblood:ZX spell_slot += Static Discharge:ZX spell_slot += Fulminant Prism:ZX spell_slot += Ignite Poison:ZX spell_slot += Battlesphere:XC spell_slot += Lee's Rapid Deconstruction:XC spell_slot += Freezing Cloud:XC spell_slot += Ozocubu's Refrigeration:XC spell_slot += Animate Dead:XC spell_slot += Olgreb's Toxic Radiance:XC spell_slot += Irradiate:XC # High-level spells spell_slot += Lightning Bolt:xcv spell_slot += Fireball:xcv spell_slot += Iron Shot:xcv spell_slot += Poison Arrow:xcv spell_slot += Orb of Destruction:xcv spell_slot += Lehudib's Crystal Spear:xcv spell_slot += Starburst:XCV spell_slot += Conjure Ball Lightning:XCV spell_slot += Ignition:XCV spell_slot += Maxwell's Capacitive Coupling:XCV spell_slot += Chain Lightning:V spell_slot += Fire Storm:V spell_slot += Shatter:V spell_slot += Tornado:V # Default letters spell_slot += .*:yuiopYUIOP # Abilities ability_slot += Heal Wounds:F ability_slot += Evoke Blink:B ability_slot += Evoke Berserk:K ability_slot += Evoke Invisibility:j ability_slot += End Transformation:t