# Up-to-date config lives on CDO: # http://crawl.develz.org/configs/trunk/MarvinPA.rc # # modified by hhkb ############## # Meatsprint # ############## # channel.god = mute # channel.intrinsic_gain = mute # heap_brand = none # default_autopickup = false # { # function choose_stat_gain() # crawl.sendkeys('d') # end # } ############## # Autopickup # ############## pickup_mode = multi autopickup = $?!:"/%|\ ae := autopickup_exceptions ae = ae += useless_item ae += (amulet|ring|staff|rod|tome) of ae += scrolls? of (torment|noise|curse) ae += potions? of (flight|mutation|paralysis|.*poison) ae += potions? of (lignification|decay|degeneration) ae += wand of (confusion|enslavement|flame|frost|invisibility) ae += wand of (magic darts|random effects|slowing) ae += <(phial|lamp|stone|fan) of : local branch = you.branch() : if branch == "Pan" or branch:find("Zig") then autopickup = $ ae = ae += Cast which spell?') crawl.flush_prev_message() crawl.process_keys(cmd) end function cast_spell() generic_cast_spell('z') end function force_cast_spell() generic_cast_spell('Z') end } ################### # Message colours # ################### $inedible := darkgrey $evil := red $preferred := yellow $rot-inducing := lightred $mutagenic := magenta $dangerous := magenta $poisonous := lightgreen $contaminated := brown ### standard colours to be used for message highlighting $danger := lightred $warning := yellow $boring := darkgrey $item_dmg := $danger 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 += 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 away msc += mute:you swap places msc += mute:your.*(looks stronger|shudders|resists) msc += mute:(stumbles backwards|holds.*ground) msc += mute:(something|your).*(misses|does no damage) msc += mute:your.*(blinks|safely over|gestures) msc += mute:(phases out.*|misses) (your|something).* msc += mute:your.*but does no damage msc += mute:your.*(picks up|drops) msc += mute:your.*basks in the mutagenic energy msc += mute:constricts?.*no damage # Prayer channel.pray += mute # Jiyva : if you.god() == "Jiyva" then msc += mute:slurping|squelching msc += mute:splits in two msc += mute:You feel.*(less hungry|power returning|better) : end # Interface 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 msc += mute:melds.* msc += mute:Switching to.* msc += mute:Switching back.* # Other msc += mute:This raw flesh tastes terrible msc += mute:melds into your body msc += mute:begins to bleed from.*wounds msc += mute:writhes in agony as.*flesh msc += mute:An air elemental.*itself.*the air 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 # 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:Forgetting.* will destroy the book msc += $danger:The blast of calcifying dust hits you msc += $danger:You are engulfed in calcifying dust msc += $danger:is moving more slowly #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 += $item_dmg:acid corrodes msc += $item_dmg:catch(es)? fire msc += $item_dmg:freezes? and shatters? msc += $item_dmg:covered with spores msc += $item_dmg:devours some of your food msc += $item_dmg:rots? 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.*oriflamme msc += $warning:oriflamme 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: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 menu += inventory:white:\w \+\s menu += inventory:white:\w \#\s menu += darkgrey:(melded) menu += darkgrey:.*useless_item.* menu += red:.*evil_item.* menu += lightred: cursed menu += inventory:lightgreen:.*equipped.* menu += lightmagenta:.*misc.*rune( of Zot)? menu += lightmagenta:.*orb.*Zot menu += white:.*artefact.* menu += lightblue:^unidentified .*(potion|scroll|wand|jewellery).* menu += lightblue:^unidentified .*weapon.*(runed|glowing) menu += lightblue:^unidentified .*armour.*(runed|glowing) menu += lightblue:^unidentified .*armour.*(embroidered|shiny|dyed) menu += yellow:heal wounds # Food menu += $inedible:.*inedible.* menu += $evil:.*evil_eating.* menu += $rot-inducing:.*rot-inducing.* menu += $mutagenic:.*mutagenic.* menu += $poisonous:.*poisonous.* menu += $contaminated:.*contaminated.* ######### # Items # ######### item := item_glyph item += potion:lightgrey item += (hasting|teleportation|heal wounds|blinking|speed|magic):yellow item += useless.*(potion|scroll):darkgrey item += unidentified.*(potion|scroll).*:lightblue #################### # Autoinscriptions # #################### autoinscribe += (bad|dangerous)_item.*potion:!q autoinscribe += (bad|dangerous)_item.*scroll:!r autoinscribe += of faith:!P autoinscribe += rod of:!a autoinscribe += lightning rod:!a autoinscribe += manual of:!d autoinscribe += staff of (Wucad Mu|energy|wizardry|power):!a autoinscribe += ambrosia:!e autoinscribe += wands? of (heal wounds|hasting|teleportation):!d : if you.race() == "Vampire" then autoinscribe += of blood:@*1 autoinscribe += of coagulated blood:@*2 autoinscribe += chunks? of:@*3 : else autoinscribe += chunks? of:@*1 : end : if you.god() == "Fedhas" then autoinscribe += fruit:!e : end ############### # Keybindings # ############### # Useless commands bindkey = [R] CMD_NO_CMD_DEFAULT bindkey = [T] CMD_NO_CMD_DEFAULT bindkey = [O] CMD_NO_CMD_DEFAULT bindkey = [|] CMD_NO_CMD_DEFAULT bindkey = [D] 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 bindkey = [0] CMD_NO_CMD_DEFAULT # Wizmode bindkey = [&] CMD_NO_CMD_DEFAULT # Targeting bindkey = [\] CMD_TARGET_OBJ_CYCLE_FORWARD bindkey = [^I] CMD_TARGET_CYCLE_FORWARD # Saving bindkey = [S] CMD_SAVE_GAME_NOW ######### # Notes # ######### dump_message_count = 30 dump_order = header,hiscore,stats,misc,mutations,skills,spells,inventory dump_order += overview,screenshot,monlist,messages,action_counts,vaults dump_order += notes,kills note_hp_percent = 10 note_all_skill_levels = true ############### # Spell slots # ############### # Utility spells spell_slot += Dispel Undead:q spell_slot += Alistair's Intoxication:Q spell_slot += Abjuration:w spell_slot += Mass Abjuration:W spell_slot += Apportation:e spell_slot += Recall:r spell_slot += Summon Butterflies:R spell_slot += Control Teleport:t spell_slot += Ozocubu's Armour:aA spell_slot += Stoneskin:aA spell_slot += Phase Shift:aA spell_slot += Shroud of Golubria:aA spell_slot += Swiftness:s spell_slot += Repel Missiles:d spell_slot += Deflect Missiles:d spell_slot += Darkness:D spell_slot += Flight:f spell_slot += Ring of Flames:F spell_slot += Regeneration:g spell_slot += Silence:G spell_slot += Haste:h 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 += Controlled Blink:B spell_slot += Sublimation of Blood:n spell_slot += Necromutation:M spell_slot += Cure Poison:Z # Transformations spell_slot += Beastly Appendage:zxc spell_slot += Spider Form:zxc spell_slot += Ice Form:zxc spell_slot += Blade Hands:zxc spell_slot += Statue Form:XC spell_slot += Dragon Form:XC # Low-level spells spell_slot += Freeze:z spell_slot += Magic Dart:z spell_slot += Flame Tongue:z spell_slot += Pain:z spell_slot += Shock:z spell_slot += Sandblast:z spell_slot += Sting:z spell_slot += Ensorcelled Hibernation:z spell_slot += Corona:z spell_slot += Infusion:z spell_slot += Animate Skeleton:Z spell_slot += Confusing Touch:Z spell_slot += Confuse:x spell_slot += Slow:x spell_slot += Vampiric Draining:x spell_slot += Song of Slaying:x spell_slot += Summon Small Mammal:zx spell_slot += Throw Frost:zx spell_slot += Throw Flame:zx spell_slot += Searing Ray:zx spell_slot += Call Imp:zx spell_slot += Static Discharge:ZX spell_slot += Iskenderun's Battlesphere:ZX spell_slot += Mephitic Cloud:cC spell_slot += Spectral Weapon:c # 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 += Throw Icicle:zxcv spell_slot += Venom Bolt:zxcv spell_slot += Call Canine Familiar:zxc spell_slot += Summon Scorpions:zxc spell_slot += Summon Ice Beast:zxc spell_slot += Summon Demon:zxc spell_slot += Airstrike:zxc spell_slot += Agony:zxc spell_slot += Fulminant Prism:XC spell_slot += Lee's Rapid Deconstruction:XC spell_slot += Poisonous Cloud:XC spell_slot += Freezing Cloud:XC spell_slot += Ozocubu's Refrigeration:ZX spell_slot += Control Undead:ZX spell_slot += Animate Dead:XC spell_slot += Olgreb's Toxic Radiance:XC # High-level spells spell_slot += Lightning Bolt:xcv spell_slot += Fireball:xcv spell_slot += Bolt of: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 += Chain Lightning:XCV spell_slot += Fire Storm:V spell_slot += Ice Storm:V spell_slot += Shatter:V spell_slot += Tornado:V # Default letters spell_slot += .*:yuiopYUIOP ################# # Miscellaneous # ################# char_set = unicode show_player_species = true # Features cset_unicode = item_gold:£ cset_unicode = cloud:# feature = explore horizon {.,,green} feature = (closed|runed|sealed) door {+,,} # Glyph todo: steal st_'s 'p'eople # # Redefined glyphs: Q (winged hybrids), g (dwarves, goblins), # q (classed draconians), B (insects), y (flying insects), # W (incorporeal undead), Z (derived undead) # # Free glyphs: (, 6, I, p, k mon := mon_glyph # Winged hybrids mon = hippogriff:Q mon = griffon:Q mon = sphinx:Q mon = tengu:Q mon = tengu conjurer:Q mon = tengu warrior:Q mon = tengu reaver:Q mon = Sojobo:Q mon = shedu:Q mon = harpy:Q # Dwarves mon = Wiglaf:lightcyan g mon = Jorgrun:lightmagenta g mon = dwarf:lightgreen g mon = deep dwarf:lightblue g mon = deep dwarf death knight:green g # Draconians mon = red draconian:lightred mon = draconian caller:q mon = draconian monk:q mon = draconian zealot:q mon = draconian shifter:q mon = draconian annihilator:q mon = draconian knight:q mon = draconian scorcher:q # Demonspawn mon = blood saint:9 mon = chaos champion:9 mon = warmonger:9 mon = corrupter:9 mon = black sun:9 # Insects mon = giant cockroach:B mon = boring beetle:yellow B mon = giant mite:B mon = demonic crawler:B # Flying insects mon = queen bee:lightgreen y mon = killer bee:y mon = giant firefly:y mon = vampire mosquito:lightgrey y # Mimics mon = inept item mimic:red x mon = item mimic:cyan x mon = ravenous item mimic:lightmagenta x mon = inept feature mimic:red x mon = feature mimic:cyan x mon = ravenous feature mimic:lightmagenta x # Incorporeal undead mon = phantom:W mon = hungry ghost:W mon = flayed ghost:W mon = shadow:magenta W mon = shadow wraith:lightmagenta W mon = silent spectre:W mon = wraith:lightgrey W mon = eidolon:brown W mon = player ghost:W # Derived undead mon = small zombie:brown Z mon = small skeleton:lightgrey Z mon = small simulacrum:lightblue Z mon = large zombie:yellow Z mon = large skeleton:white Z mon = large simulacrum:lightcyan Z mon = spectral thing:green Z # Others mon = ice beast:ice Y mon = sky beast:mutagenic Y mon = boggart:magenta i mon = dancing weapon:7 mon = spectral weapon:7 mon = ancient champion:lightmagenta z mon = greater mummy:lightmagenta M mon = ancient lich:lightmagenta L mon = hellion:lightred 2 mon = profane servitor:red A # Sensed monsters mon = tough sensed monster:lightred mon = nasty sensed monster:red ##################################### # Huge damage script - experimental # ##################################### : local dmg_old_hp = 0 < function ready() DmgTrack() end > : function DmgTrack() : local bot_hp, bot_mhp = you.hp() : local dmg_inturn = 0 : local huge_int = 0 : local percent_hp = 0 : local percent_old_hp = 0 : local percent_hp_txt = "--%" : if dmg_old_hp > 0 then : if bot_hp < dmg_old_hp then : dmg_inturn = dmg_old_hp - bot_hp : percent_old_hp = math.ceil((dmg_old_hp*100)/bot_mhp) : percent_hp = math.ceil((bot_hp*100)/bot_mhp) : percent_hp_txt = percent_hp .. "%" : if percent_hp < 30 then : percent_hp_txt = "" .. percent_hp_txt .. "" : elseif percent_hp < 55 then : percent_hp_txt = "" .. percent_hp_txt .. "" : elseif percent_hp < 75 then : percent_hp_txt = "" .. percent_hp_txt .. "" : end : percent_hp_txt = percent_hp_txt .. "(" .. bot_hp .. "hp)" : if dmg_inturn > (bot_hp*0.25) then : huge_dmg_note(dmg_inturn) : crawl.mpr("Huge Dmg: -" .. (percent_old_hp-percent_hp) .. "%(-" .. dmg_inturn .. "hp)" .. " hp: " .. percent_hp_txt) : dmg_old_hp = bot_hp : crawl.flush_prev_message() : crawl.more() : crawl.more_autoclear() : else : if dmg_inturn > (bot_hp*0.15) then : crawl.mpr("Damage: -" .. (percent_old_hp-percent_hp) .. "%(-" .. dmg_inturn .. "hp)" .. " hp: " .. percent_hp_txt) : else : crawl.mpr("Damage: -" .. (percent_old_hp-percent_hp) .. "%(-" .. dmg_inturn .. "hp)" .. " hp: " .. percent_hp_txt) : end : end : crawl.flush_prev_message() : end : end : dmg_old_hp = bot_hp : end : function huge_dmg_note(x) : crawl.take_note("Huge Dmg: " .. x .. " dmg") : end