# Version 2 # Logs chat messages into the notes note_chat_messages = true confirm_butcher = never easy_eat_chunks = true auto_eat_chunks = true auto_drop_chunks = yes easy_eat_contaminated = true autoinscribe += bread ration:@e1 !d autoinscribe += meat ration:@e2 !d # Force More prompts ##################### # Table of Contents # ##################### # 1. Dungeon Features # 2. Failure # 3. Bad Things # 4. Translocations # 5. Expiring Effects # 6. Religion # 7. Hell Effects # 8. Monsters # Set Alias more := force_more_message stop := runrest_stop_message ignore := runrest_ignore_message more += Your.*skill increases more += You have reached level #################### # Dungeon Features # #################### # Abyssal Rune more += Found .* abyssal rune of Zot # Entrances, Exits, and Arrivals more += Found a frozen archway more += Found a gateway leading out of the Abyss more += Found a labyrinth entrance more += Found a staircase to the Ecumenical Temple more += The mighty Pandemonium lord.*resides here # Portal Timers more += distant snort more += interdimensional caravan more += invites you to visit more += oppressive heat more += roar of battle more += sound of rushing water more += The drain falls to bits more += There is an entrance to a bailey on this level more += tolling of a bell more += wave of frost 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 # Traps more += (blundered into a|invokes the power of) Zot more += A huge blade swings out and slices into you stop += An alarm trap emits a blaring wail stop += found a zot trap stop += hear a soft click more += The power of Zot is invoked against you more += You (become entangled|are caught) in (a|the) (web|net) more += You fall through a shaft more += You stumble into the trap # Other more += Another plant grows acid sacs more += One of the plants suddenly grows acid sacs more += The walls and floor vibrate strangely for a moment more += You are suddenly pulled into a different region more += You have a vision of.*gates? ########### # Failure # ########### more += do not work when you're silenced more += sense of stasis more += Something interferes with your magic more += The rod doesn't have enough magic points more += The spell fizzles more += The writing blurs in front of your eyes more += The.*is unaffected more += This potion can/'t work under stasis more += This wand has no charges more += too hungry more += You are held in a net more += You are too injured to fight blindly more += You can't gag anything down more += You can't unwield more += You cannot cast spells when silenced more += You cannot cast spells while unable to breathe more += You cannot teleport right now more += You don't have any such object more += You don't have enough magic more += You don't.* that spell more += You fail to use your ability more += You have no appropriate body parts free more += You have no means to grasp a wand firmly enough more += You haven't enough magic at the moment more += Your amulet of stasis more += Your attempt to break free more += Your body armour is too heavy ############################# # Bad and Unexpected Things # ############################# # Bad things happening to you more += corrodes your equipment more += Your corrosive artefact corrodes you more += are blown away by the wind more += dispelling energy hits you more += infuriates you more += lose consciousness more += mark forms upon you more += MASSIVE DAMAGE more += Ouch! That really hurt! more += silver sears you more += Space bends around you more += Space warps horribly around you more += surroundings become eerily quiet more += Terrible wounds (open|spread) all over you more += The acid corrodes your 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 arrow of dispersal hits you[^r] more += The barbed spikes become lodged in your body more += The barbed spikes dig painfully into your body as you move more += The blast of calcifying dust hits you[^r] more += The poison in your body grows stronger more += The pull of.*song draws you forwards more += The.*engulfs you in water more += The.*grabs you[^r] more += You (are|feel) drained more += You are (blasted|electrocuted) more += You are blown backwards 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 mesmerised more += You are slowing down more += You are trampled more += You convulse more += You feel a (horrible|terrible) chill more += You feel haunted more += You feel less vulnerable to poison more += You feel your attacks grow feeble more += You feel your flesh.*rot 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 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 damage is reflected back at you more += Your limbs are stiffening more += Your magical defenses are stripped away more += Your?.*suddenly stops? moving # Monsters doing bad things more += A tree reaches out and hits you! more += Agitated ravens fly out from beneath the more += begins to recite a word of recall more += Being near the torpor snail leaves you feeling lethargic more += blows on a signal horn more += cast banishment more += cast paralyse more += cast Torment more += goes berserk more += The moth of wrath goads something on more += is duplicated more += is no longer invulnerable more += Its appearance distorts for a moment more += Mara seems to draw the.*out of itself more += Mara shimmers more += Miasma billows from the more += shoots a curare more += stands defiantly in death's doorway more += steals.*your more += swoops through the air toward you more += The forest starts to sway and rumble more += The jumping spider pounces on you [^but] more += The octopode crusher throws you more += The shadow imp is revulsed by your support of nature more += The water nymph flows with the water more += The.*offers itself to Yredelemnul more += The.*seems to speed up more += The.*shudders more += There is a horrible\, sudden wrenching feeling in your soul more += Vines fly forth from the trees! more += You are hit by a branch more += You feel you are being watched by something more += Your magical defenses are stripped away more += \'s.*reflects # Unexpected situations more += A magical barricade bars your way more += Done waiting more += doors? slams? shut more += It doesn't seem very happy more += Mutagenic energies flood into your body more += Some monsters swap places more += (starving|devoid of blood) more += (The|Your).*falls away! more += The divine light dispels your darkness! more += The walls disappear more += There is a sealed passage more += You are wearing\: more += You can now more += You cannot afford.*fee more += You feel (dopey|clumsy|weak) more += You feel a genetic drift more += You feel monstrous more += You feel your rage building more += You have disarmed more += You have finished your manual more += You have reached level more += You need to eat something NOW more += You smell decay. (^Yuck!) more += You stop (a|de)scending the stairs more += You turn into a fleshy mushroom more += Your body shudders with the violent release of wild energies more += Your guardian golem overheats more += your magic stops regenerating more += Your scales start more += your.*devoured more += Your?.*can no longer more += Green shoots are pushing up through the earth # Things getting better stop += contamination has completely more += You can move again more += You slip out of the net more += You.*and break free more += Your fit of retching subsides more += seems mollified # Ghouls : if you.race() == "Ghoul" then stop += smell.*(rott(ing|en)|decay) stop += something tasty in your inventory : end ################## # Translocations # ################## # Teleporting more += You blink more += You.*teleport [^f] more += You feel strangely (unstable|stable) more += You feel your translocation being delayed more += Your surroundings flicker more += Your surroundings seem slightly different more += Your surroundings suddenly seem different # -Tele more += You cannot blink right now more += You cannot teleport right now more += You feel.*firmly anchored in space more += You are no longer firmly anchored in space # -cTele more += You feel your control is inadequate #################### # Expiring Effects # #################### # God Abilities # Divine Shield (The Shining One) Your divine shield starts to fade. Your divine shield fades away. # Jelly Prayer (Jiyva) Your prayer is over. # Mirror Damage (Yredelemnul) more += dark mirror aura disappears # Player Spells # Aura of Abjuration stop += Your aura of abjuration expires # Control Teleport stop += you feel uncertain # Death's Door more += time is quickly running out more += life is in your own # Enslavement more += is no longer charmed # Flight more += You are starting to lose your buoyancy stop += You lose control over your flight # Haste more += Your extra speed is starting to run out more += You feel yourself slow down # Invisibility more += You feel more conspicuous more += You flicker for a moment more += You flicker back # Phase Shift more += You feel closer to the material plane more += You are firmly grounded in the material plane once more # Shroud of Golubria # Silence more += Your hearing returns # Swiftness stop += start to feel a little slower more += You feel sluggish # Abrupt interruptions more += Your shroud falls apart! more += You feel less protected from missiles # Other # Potion of Resistance more += You start to feel less resistant. more += Your resistance to elements expires ############ # Religion # ############ # Gifts or abilities are ready # Dithmenos more += You are shrouded in an aura of darkness more += You now sometimes bleed smoke more += You.*no longer.*bleed smoke more += Your shadow no longer tangibly mimics your actions more += Your shadow now sometimes tangibly mimics your actions # Gozag more += will now duplicate a non-artefact item # Jiyva more += will now unseal the treasures of the Slime Pits # Kikubaaqudgha more += Kikubaaqudgha will now enhance your necromancy # Lugonu more += Lugonu will now corrupt your weapon # Qazlal more += resistances upon receiving elemental damage more += You are surrounded by a storm which can block enemy attacks # Ru more += you are ready to make a new sacrifice # Sif Muna more += Sif Muna is protecting you from the effects of miscast magic # The Shining One more += The Shining One will now bless # Zin more += will now cure all your mutations # You Screwed Up more += is no longer ready # Poor Decisions more += You really shouldn't be using # Wrath more += Nemelex gives you another card to finish dealing more += Fedhas invokes the elements against you more += Lugonu sends minions to punish you more += Okawaru sends forces against you more += wrath finds you # Xom Effects more += staircase.*moves more += is too large for the net to hold # Other more += Jiyva alters your body : if you.god() == "Xom" then more += god: : end : if not string.find(you.god(), "Jiyva") then more += splits in two :end ################ # Hell Effects # ################ more += A gut-wrenching scream fills the air more += Brimstone rains from above more += Die\, mortal more += Leave now\, before it is too late more += Something frightening happens more += Trespassers are not welcome here more += We do not forgive those who trespass against us more += We have you now more += You do not belong in this place more += You feel a terrible foreboding more += You feel lost and a long\, long way from home more += You hear diabolical laughter more += You hear words spoken in a strange and terrible language more += You sense a hostile presence more += You sense an ancient evil watching you more += You shiver with fear more += You smell brimstone more += You suddenly feel all small and vulnerable more += You will not leave this place ############ # Monsters # ############ # Arriving Unexpectedly more += appears in a shower of sparks more += appears out of thin air more += comes (up|down) the stairs more += Something appears in a flash of light more += The.*is a mimic more += You sense the presence of something unfriendly more += The.*answers the.*call more += Wisps of shadow swirl around more += Shadows whirl around # Item Use more += drinks a potion more += evokes.*(amulet|ring) more += reads a scroll more += zaps a (wand|rod) # Terrible Monsters more += 's ghost.*(comes? into view|opens the) more += A player ghost.*(comes? into view|opens the) more += boggarts?.*(comes? into view|opens the) more += curse skull.*comes? into view more += fiend.*(comes? into view|opens the) more += flayed ghost.*(comes? into view|opens the) more += giant eyeball.*comes? into view more += giant orange brains?.*(comes? into view|opens the) more += giant spore.*comes? into view more += hellion.*(comes? into view|opens the) more += ironbrand convoker.*(comes? into view|opens the) more += Lich.*(comes? into view|opens the) more += orange crystal statue.*comes? into view more += shadow demons?.*(comes? into view|opens the) more += silver statue.*comes? into view more += tormentor.*(comes? into view|opens the) # Uniques more += 27-headed.*(comes? into view|opens the) more += Agnes.*(comes? into view|opens the) more += Aizul.*(comes? into view|opens the) more += Antaeus.*(comes? into view|opens the) more += Arachne.*(comes? into view|opens the) more += Asmodeus.*(comes? into view|opens the) more += Asterion.*(comes? into view|opens the) more += Azrael.*(comes? into view|opens the) more += Blork the orc.*(comes? into view|opens the) more += Boris.*(comes? into view|opens the) more += Cerebov.*(comes? into view|opens the) more += Crazy Yiuf.*(comes? into view|opens the) more += Dispater.*(comes? into view|opens the) more += Dissolution.*(comes? into view|opens the) more += Donald.*(comes? into view|opens the) more += Dowan.*(comes? into view|opens the) more += Duvessa.*(comes? into view|opens the) more += Edmund.*(comes? into view|opens the) more += Ereshkigal.*(comes? into view|opens the) more += Erica.*(comes? into view|opens the) more += Erolcha.*(comes? into view|opens the) more += Eustachio.*(comes? into view|opens the) more += Fannar.*(comes? into view|opens the) more += Frances.*(comes? into view|opens the) more += Francis.*(comes? into view|opens the) more += Frederick.*(comes? into view|opens the) more += Gastronok.*(comes? into view|opens the) more += Geryon.*(comes? into view|opens the) more += Gloorx Vloq.*(comes? into view|opens the) more += Grinder.*(comes? into view|opens the) more += Grum.*(comes? into view|opens the) more += Harold.*(comes? into view|opens the) more += Ignacio.*(comes? into view|opens the) more += Ijyb.*(comes? into view|opens the) more += Ilsuiw.*(comes? into view|opens the) more += Jessica.*(comes? into view|opens the) more += Jorgrun.*(comes? into view|opens the) more += Jory.*(comes? into view|opens the) more += Joseph.*(comes? into view|opens the) more += Josephine.*(comes? into view|opens the) more += Jozef.*(comes? into view|opens the) more += Khufu.*(comes? into view|opens the) more += Kirke.*(comes? into view|opens the) more += Lamia.*(comes? into view|opens the) more += Lom Lobon.*(comes? into view|opens the) more += Louise.*(comes? into view|opens the) more += Mara.*(comes? into view|opens the) more += Margery.*(comes? into view|opens the) more += Maud.*(comes? into view|opens the) more += Maurice.*(comes? into view|opens the) more += Menkaure.*(comes? into view|opens the) more += Mennas.*(comes? into view|opens the) more += Mnoleg.*(comes? into view|opens the) more += Murray.*(comes? into view|opens the) more += Natasha.*(comes? into view|opens the) more += Nergalle.*(comes? into view|opens the) more += Nessos.*(comes? into view|opens the) more += Nikola.*(comes? into view|opens the) more += Norris.*(comes? into view|opens the) more += Pikel.*(comes? into view|opens the) more += Polyphemus.*(comes? into view|opens the) more += Prince Ribbit.*(comes? into view|opens the) more += Psyche.*(comes? into view|opens the) more += Purgy.*(comes? into view|opens the) more += Roxanne.*(comes? into view|opens the) more += Rupert.*(comes? into view|opens the) more += Saint Roka.*(comes? into view|opens the) more += Sigmund.*(comes? into view|opens the) more += Snorg.*(comes? into view|opens the) more += Sojobo.*(comes? into view|opens the) more += Sonja.*(comes? into view|opens the) more += Terence.*(comes? into view|opens the) more += The Lernaean hydra.*(comes? into view|opens the) more += The royal jelly.*(comes? into view|opens the) more += The Serpent of Hell.*(comes? into view|opens the) more += Tiamat.*(comes? into view|opens the) more += Urug.*(comes? into view|opens the) more += Vashnia.*(comes? into view|opens the) more += Wiglaf.*(comes? into view|opens the) more += Xtahua.*(comes? into view|opens the) # Message and Item colors ######################### # Aliases and Variables # ######################### # Set Alias menu := menu_colour # Clear defaults menu = # Variables (Worst to Best) $evil := red $negative := brown $danger := lightred $warning := yellow $boring := darkgrey $decent := white $good := lightblue $positive := green $verypositive := lightgreen $awesome := lightmagenta # Unusual Variables $mp := lightcyan $equipped := cyan $mutation := magenta ################## # Basic Settings # ################## # General Categories menu += $boring:(melded) menu += $boring:.*useless_item.* menu += $evil:.*evil_item.* menu += $danger:[^n]cursed menu += inventory:$danger:[^n]cursed menu += inventory:$equipped:.*equipped.* menu += $decent:.*artefact.* # Unidentified Items menu += $warning:^unidentified .*(jewellery|potion|scroll|wand).* menu += $good:^unidentified .*armour.*(embroidered|dyed|glowing|shiny|runed) menu += $good:^unidentified .*weapon.*(glowing|runed) ################# # Various Items # ################# # Amulets menu += $boring:amulet of inaccuracy menu += $good:amulet of (guardian spirit|stasis|warding) menu += $positive:amulet of (faith|rage|resist corrosion) menu += $verypositive:amulet of (clarity|regeneration|resist mutation|the gourmand) # Decks (keep warning as default in case of new decks) menu += $evil:deck of punishments menu += $warning:deck of (changes|destruction) menu += $decent:deck of cards menu += $good:deck of war menu += $positive:deck of (defence|summoning) menu += $verypositive:deck of escape menu += $awesome:deck of wonders menu += $warning:deck of # Evokables menu += blue:inert menu += $warning:disc of storms menu += $warning:tome of Destruction menu += $decent:box of beasts menu += $decent:lantern of shadows menu += $decent:stone of tremors menu += $good:fans? of gales menu += $good:lamps? of fire menu += $good:phials? of floods menu += $good:sack of spiders menu += $positive:phantom mirror menu += $mp:crystal ball of energy # Food menu += $evil:evil_eating menu += $danger:rot-inducing menu += $warning:poisonous menu += $boring:inedible menu += $good:bread ration menu += $good:meat ration menu += $good:preferred menu += $good:(corpse|chunk) menu += $mutation:mutagenic # Potions menu += $danger:potions? of berserk menu += $decent:potions? of (flight|lignification|restore) menu += $good:potions? of (agility|brilliance|invisibility|might|resistance) menu += $positive:potions? of curing menu += $verypositive:potions? of (haste|heal wounds) menu += $awesome:potions? of (beneficial|cancellation|cure mutation|experience|gain) menu += $mp:potions? of magic menu += $mutation:potions? of mutation # Rings menu += $negative:ring of \-.*(dexterity|evasion|intelligence|protection|slaying|strength) menu += $negative:ring of loudness menu += $warning:ring of (fire|ice) menu += $decent:ring of flight menu += $good:ring of (.*evasion|invisibility|magical power|.*protection|stealth|sustain abilities|wizardry) menu += $positive:ring of (poison resistance|protection from cold|protection from fire|protection from magic|see invisible) menu += $verypositive:ring of (regeneration|.*slaying) menu += $awesome:ring of teleport # Rods menu += $verypositive:rod # Scrolls menu += $danger:scrolls? of torment menu += $boring:scrolls? of (noise|random) menu += $decent:scrolls? of (amnesia|holy word|identify|remove curse) menu += $good:scrolls? of (fear|fog|immolation|silence|summoning|vulnerability) menu += $positive:scrolls? of (brand|enchant|magic mapping|recharging) menu += $verypositive:scrolls? of acquirement menu += $awesome:scrolls? of (blinking|teleportation) # Staves menu += $mp:staff of (energy|Wucad Mu) menu += $positive:[^r]staff of # Wands menu += $boring:wand of (flame|frost|magic darts|random effects) menu += $decent:wand of (confusion|enslavement|paralysis|polymorph|slowing) menu += $good:wand of (cold|digging|disintegration|draining) menu += $good:wand of (fire|fireball|invisibility|lightning) menu += $positive:wand of hasting menu += $verypositive:wand of heal wounds menu += $awesome:wand of teleportation # Other menu += $negative:shield of the gong menu += $good:throwing net menu += $awesome:.*misc.*rune( of Zot)? menu += $awesome:.*orb.*Zot menu += $awesome:manual #################### # Message coloring # #################### # Standard Colors # black, blue, brown, cyan, darkgrey, green, lightblue, lightcyan, lightgreen, # lightgrey, lightmagenta, lightred, magenta, red, yellow, white # Variables for message highlighting $danger := lightred $item_dmg := red $warning := yellow $boring := darkgrey $negative := brown $good := lightblue $positive := green $verypositive := lightgreen $awesome := lightmagenta $interface := cyan $takesaction := blue $godaction := magenta $mp := lightcyan #Channels #channel.plain = channel.prompt = $interface channel.god = $godaction channel.pray = $godaction channel.duration = $warning channel.danger = $danger channel.food = $warning channel.warning = $danger channel.recovery = $verypositive channel.talk = $warning channel.talk_visual = $boring channel.timed_portal = $warning #channel.sound = channel.intrinsic_gain = $awesome #channel.mutation = --either danger/warning/awesome channel.monster_spell = $takesaction #channel.monster_enchant = --either danger/warning/boring/takesaction channel.friend_spell = $takesaction #channel.friend_enchant = --either danger/warning/boring/takesaction channel.friend_action = $takesaction channel.monster_damage = mute #monster_target = --currently unused by the game #channel.banishment = --either positive or danger channel.rotten_meat = $boring channel.equipment = $interface #channel.floor = channel.multiturn = $boring #channel.examine = #channel.examine_filter = #channel.diagnostics = #channel.error = #channel.tutorial = channel.orb = $awesome #channel.hell_effect = -either danger/warning/boring # Set Alias msc := message_colour # Clear defaults msc = msc += $mp:You feel your power returning #msc += $danger: msc += $danger:The entropy weaver begins to chant a word of entropy msc += $danger:Your corrosive artefact corrodes you msc += $danger:cannot move out of your way msc += $danger:Tentacles burst from Mnoleg msc += $danger:tentacle flies out from Mnoleg msc += $danger:roused to righteous anger msc += $danger:is roused by the hymn msc += $danger:A magical barricade bars your way msc += $danger:is repulsed msc += $danger:seems less drained msc += $danger:preventing you from leaping msc += $danger:shrugs off the wave msc += $danger:Your unholy channel expires msc += $danger:Being near the torpor snail leaves you feeling lethargic msc += $danger:The amulet engulfs you in a massive magical discharge msc ^= $danger:Your.*appears confused msc ^= $danger:You open a gate to Pandemonium msc += $danger:Some icy apparitions appear msc += $danger:You feel less empathic msc ^= $danger:Qazlal is no longer ready to protect you from an element msc ^= $danger:Your divine halo fades away msc ^= $danger:Your divine shield disappears msc ^= $danger:The orb of electricity explodes msc ^= $danger:Your divine shield fades away msc += $danger:visions of slaying msc += $danger:You.*no longer.*bleed smoke msc += $danger:Your shadow no longer tangibly mimics your actions msc += $danger:You are even more entangled msc += $danger:You have drawn Pain msc += $danger:Your magical shield disappears msc ^= $danger:Your.*drowns msc += $danger:creates some ice likenesses msc += $danger:soul is no longer ripe for the taking msc += $danger:You are no longer magically infusing your attacks msc += $danger:The ambient light returns to normal msc += $danger:An iron grate slams shut msc += $danger:begins to accept msc += $danger:begins to recite a word of recall msc += $danger:begins to radiate toxic energy msc += $danger:The shadow imp is revulsed by your support of nature msc += $danger:Careful! You are starting to lose your buoyancy msc ^= $danger:plants?.*suddenly grows? acid sacs msc ^= $danger:Your.*is devoured by a tear in reality msc += $danger:Your body is bloodless msc += $danger:Your unliving flesh cannot be transformed in this way msc += $danger:You feel less resistant to cold msc += $danger:You can't disarm msc += $danger:You feel strangely static msc += $danger:A powerful magic interferes with your control of the blink msc += $danger:burns you terribly msc += $danger:You are no longer teleporting projectiles to their destination msc += $danger:Water floods your area msc += $danger:You feel the presence of a powerless spirit msc += $danger:You feel less resistant to (cold|fire) msc += $danger:You feel less protected from msc += $danger:You hear a crashing sound msc += $danger:The tree smolders and burns msc ^= $danger:You are contaminated with residual magics msc += $danger:is duplicated msc += $danger:You sense a malign presence msc += $danger:The deck only has msc += $danger:blocks your orb of destruction msc += $danger:There are no remains here to animate msc += $danger:Your ring of flames gutters out msc += $danger:The elephant guardians awaken msc += $danger:slides away msc += $danger:moves from beneath you msc += $danger:A powerful magic prevents control of your teleportation msc += $danger:There's only.*cards? left! msc += $danger:A huge vortex of air appears msc += $danger:you're silenced msc += $danger:Your hands slow down msc += $danger:Your shroud falls apart msc += $danger:Not with that terrain in the way msc += $danger:Your teleport is interrupted msc += $danger:Your.*revert to.*normal proportions msc += $danger:Its appearance distorts for a moment msc += $danger:A shaft opens up in the floor msc += $danger:You are held in a net msc += $danger:(The|Your).*falls away! msc += $danger:The orbs collide in a blinding explosion msc += $danger:You feel the power of the Abyss delaying your translocation msc += $danger:Mara shimmers msc += $danger:Your.*is blown up msc += $danger:seems to grow more fierce msc += $danger:attacks! msc += $danger:You sense the presence of something unfriendly msc += $danger:Your.*falls into the water msc += $danger:Something unseen opens the huge gate msc += $danger:changes into something you cannot see msc += $danger:The rod doesn't have enough magic points msc += $danger:The power of the Abyss keeps you in your place msc += $danger:Your.*is destroyed msc += $danger:You feel your control is inadequate msc += $danger:A great vortex of raging winds appears msc += $danger:You blow up your msc += $danger:The sixfirhy seems to be charged up msc += $danger:You feel your power drain away msc += $danger:You cannot cast spells when silenced msc += $danger:You feel hot and cold all over msc += $danger:You don't have the energy to cast that spell msc += $danger:and don't expect to remain undetected msc += $danger:but the box appears empty msc += $danger:your gold pieces vanish msc += $danger:Your.*dies msc += $danger:You cannot teleport right now msc += $danger:You feel your power drawn to a protective spirit msc += $danger:your magic stops regenerating msc += $danger:Some monsters swap places msc += $danger:You turn into a spiny porcupine msc += $danger:Your limbs have turned to stone msc += $danger:Your skin feels tender msc += $danger:You turn into a fleshy mushroom msc += $danger:The sound of falling rocks suddenly begins to subside msc += $danger:The walls and floor vibrate strangely for a moment msc += $danger:Your.*(armour|shield) melts away msc += $danger:drains you msc += $danger:You need to eat something NOW 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:Space bends sharply 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:^It .* you msc += $danger:[^f]Something.*you[^r] msc += $danger:grabs you[^r] msc += $danger:you convulse msc += $danger:is unaffected msc += $danger:blinks into view msc += $danger:seems to speed up msc += $danger:You feel yourself slow down msc += $danger:The alarm trap emits a blaring wail msc += $danger:The mark upon you grows brighter. msc += $danger:flickers (and vanishes|out of sight) msc += $danger:Terrible wounds (open|spread) msc += $danger:The acid burns msc += $danger:The.*is recalled msc += $danger:The.*blows on a signal horn! msc += $danger:You miscast msc += $danger:zaps a wand msc += $danger:You are no longer berserk msc += $danger:You suddenly lose the ability to move msc += $danger:Your.*glows black for a moment msc += $danger:You are caught in a web msc += $danger:You are knocked back by the lance of force msc += $danger:You are knocked back by the blast of cold msc += $danger:You are knocked back by the great wave of water msc += $danger:You feel very sick msc += $danger:Your.*falls away msc += $danger:splits in two msc += $danger:assumes the form|sacrifices itself msc += $danger:Necromantic energies msc += $danger:You feel an extremely numb sensation msc += $danger:You feel jittery for a moment msc += $danger:You are caught in (a|the) (net|web) msc += $danger:You become entangled in (a|the) (net|web) msc += $danger:You fall asleep msc += $danger:The forest starts to sway and rumble msc += $danger:Vines fly forth from the trees! msc += $danger:Roots grasp at your msc += $danger:Roots rise up from beneath you and drag you back to the ground msc += $danger:The.*picks up a wand msc += $danger:You struggle against (a|the) (net|web) msc += $danger:You struggle to escape the net msc += $danger:The.*engulfs you in water msc += $danger:Your magical defenses are stripped away msc += $danger:appears out of thin air msc += $danger:You feel less protected from missiles msc += $danger:The power of Zot is invoked against msc += $danger:you fail to dodge msc += $danger:Death has come for you msc += $danger:Your body is wracked with pain msc += $danger:You sense an overwhelmingly malignant aura msc += $danger:Space twists in upon itself msc += $danger:Strange energies course through your body msc += $danger:You feel haunted msc += $danger:Your.*suddenly stops moving msc += $danger:You feel incredibly sick msc += $danger:You don't have enough magic msc += $danger:You haven't enough magic at the moment msc += $danger:You fall through a shaft msc += $danger:seems to grow stronger msc += $danger:Dowan seems to find hidden reserves of power msc += $danger:Oops, that.*feels deathly cold msc += $danger:You struggle to resist msc += $danger:You barely resist msc += $danger:You turn into an animated tree msc += $danger:Your roots penetrate the ground msc += $danger:is no longer charmed msc += $danger:You try to slip out of the net msc += $danger:You become entangled in the net msc += $danger:You feel a build-up of mutagenic energy msc += $danger:You cannot pacify this monster msc += $danger:You feel a (horrible|terrible) chill msc += $danger:You are burned terribly msc += $danger:moth of wrath (goads|infuriates) the msc += $danger:you trip and fall back down the stairs msc += $danger:the glow from your corona prevents you from becoming completely invisible msc += $danger:A red film seems to cover your vision as you go berserk msc += $danger:Your limbs are stiffening msc += $danger:You have turned to stone msc += $danger:Draining that being is not a good idea msc += $danger:You feel.*ill msc += $danger:You can't gag anything down msc += $danger:Something feeds on your intellect msc += $danger:The barbed spikes become lodged in your body msc += $danger:You feel your translocation being delayed msc += $danger:You fail to use your ability msc += $danger:Oh no! You have blundered into a Zot trap msc += $danger:Wisps of shadow swirl around msc += $danger:The.*grows two more msc += $danger:There is a sealed passage msc += $danger:doors? slams? shut msc += $danger:A basket of spiders falls from above msc += $danger:is bolstered by the flame msc ^= $danger:Mennas' surroundings become eerily quiet msc += $danger:attempts to bespell you msc += $danger:You feel horribly lethargic msc += $danger:firmly anchored in space msc += $danger:You stop (a|de)scending the stairs msc += $danger:You tear a large gash into the net msc += $danger:reflects msc += $danger:The walls disappear msc += $danger:You cannot afford.*fee msc += $danger:This weapon is already enchanted msc += $danger:You feel.*sluggish msc += $danger:You no longer adapt resistances upon receiving elemental damage msc += $danger:The storm surrounding you is now too weak to repel missiles msc += $danger:You feel extremely strange msc += $danger:This meat tastes really weird msc += $danger:You finish putting on your cursed msc += $danger:It was a potion of paralysis msc += $danger:You feel rather ponderous msc += $danger:That seemed strangely inert msc += $danger:You can't unwield your weapon to draw a new one msc += $danger:the volcano erupts with a roar msc += $danger:too hungry msc += $danger:Your guardian golem overheats msc += $danger:burn any scroll you tried to read msc += $danger:You are blown backwards msc += $danger:It is caustic msc += $danger:Not only inedible but also greatly harmful msc += $danger:evokes.*(amulet|ring) msc += $danger:take too long for a potion to reach your roots msc += $danger:There was something very wrong with that liquid msc += $danger:You cannot move msc += $danger:stands defiantly in death's doorway msc += $danger:zaps a rod msc += $danger:twongs alarmingly msc += $danger:You feel yourself grow more vulnerable to poison msc += $danger:The poison in your body grows stronger msc += $danger:You are being crushed by all of your possessions msc += $danger:You are carrying too much msc += $danger:You draw Wild Magic msc += $danger:You draw the Helix msc += $danger:This potion can/'t work under stasis msc += $danger:Your icy (armour|shield) evaporates msc += $danger:You struggle to detach yourself from the web msc += $danger:You are more confused msc += $danger:You are confused msc += $danger:breaks free msc += $danger:(You are|You're) too confused msc += $danger:Your skin stops crawling msc += $danger:Your attempt to break free msc += $danger:Your resistance to elements expires msc += $danger:You are blasted by holy energy msc += $danger:You feel uncertain msc += $danger:You are firmly grounded in the material plane once more msc += $danger:The writing blurs in front of your eyes msc += $danger:You cannot cast spells while unable to breathe msc += $danger:You feel your rage building msc += $danger:You feel a little less msc += $danger:You are wearing\:.*cursed msc += $danger:This card doesn't seem to belong here msc += $danger:You flicker back msc += $danger:something.*blocking the msc += $danger:You slice into (a|the) (net|web) msc += $danger:It doesn't seem very happy msc += $danger:You have been turned into a pig msc += $danger:comes? into view msc += $danger:You feel quite a bit less full msc += $danger:Your unstable footing causes you to fumble your attack msc += $danger:You are being weighed down by all of your possessions msc += $danger:flinch away in fear msc += $danger:is completely unfazed by your meager offer of peace msc += $danger:deflects the msc += $danger:The blink frog basks in the distortional energy msc += $danger:appears unharmed msc ^= $danger:You and your allies can no longer gain power from killing the unholy and evil msc += $danger:You have lost your religion msc += $danger:Your shroud unravels msc += $danger:Your attacks are no longer magically infused msc += $danger:You feel your attacks grow feeble msc += $danger:Magical energy is drained from your msc += $danger:A chorus of chattering voices calls out to you msc += $danger:You can no longer msc += $danger:The.*shudders msc ^= $danger:Your unholy and evil allies forsake you msc += $danger:Your transformation has ended msc += $danger:Nothing appears to have answered your call msc += $danger:The grasping roots prevent you from becoming airborne msc += $danger:You kill your msc += $danger:You feel less regenerative msc += $danger:Lernaean hydra knocks down a tree msc += $danger:You are caught in an explosion of electrical discharges msc += $danger:bends your attack away msc += $danger:Your song has ended msc += $danger:goes into a battle-frenzy msc += $danger:Your aura of abjuration expires msc += $danger:Your.*is blown up msc += $danger:There's only one card left msc += $danger:You deal a card msc += $danger:darts out from under the net msc += $danger:You wield the.*\'s msc += $danger:dips into the water msc += $danger:You destroy your msc += $danger:You're too exhausted to jump msc += $danger:Your battlesphere expends the last of its energy and dissipates msc += $danger:You feel your bond with your battlesphere wane msc += $danger:Your battlesphere wavers and loses cohesion msc += $danger:You lose concentration completely msc += $danger:go into a battle-frenzy msc += $danger:You can't jump while in water msc += $danger:staircase.*moves msc += $danger:You wield msc += $danger:is filled with.*inner flame msc += $danger:You feel guilty msc += $danger:You feel extremely guilty msc += $danger:picks up.*throwing net msc += $danger:You feel less protected from physical attacks msc ^= $danger:Your.*falters for a moment msc += $danger:Mutagenic energy flows through the plutonium sword msc += $danger:Your spectral weapon fades away msc += $danger:Your.*is incinerated msc ^= $danger:begins absorbing vital energies msc += $danger:Blessed fire suddenly surrounds you msc ^= $danger:Your.*is poisoned msc ^= $danger:Your.*looks even sicker msc ^= $danger:Your.*is no longer beserk msc += $danger:You swing wildly msc += $danger:You lose your focus msc += $danger:You feel threatened and lose the ability msc += $danger:is too large for the net to hold msc ^= $danger:Your.*looks rather confused msc += $danger:The moth of wrath goads something on msc += $danger:The net passes right through msc += $danger:A tornado forms msc ^= $danger:burns? away your fire resistance # Item Destruction, gaining bad mutations, or losing good ones, penance, and gong msc += $item_dmg:You feel your body start to fall apart msc += $item_dmg:Your teeth shrink to normal size msc += $item_dmg:Your.*scales disappear msc += $item_dmg:You feel a strong urge to (yell|scream|shout) msc += $item_dmg:Your wild genetic ride slows down msc += $item_dmg:The barb on your tail disappears msc += $item_dmg:Your wings shrivel and weaken msc += $item_dmg:You feel very strange msc += $item_dmg:You feel conductive msc += $item_dmg:A chill runs up and down your throat msc += $item_dmg:You feel forlorn msc += $item_dmg:Your skin no longer functions as natural camouflage msc += $item_dmg:Your natural healing is weakened msc += $item_dmg:Your rate of healing slows msc += $item_dmg:Your talons dull and shrink into feet msc += $item_dmg:You feel genetically unstable msc += $item_dmg:The horns on your head shrink a bit msc += $item_dmg:You feel an ache in your throat msc += $item_dmg:You feel yourself wasting away msc += $item_dmg:You feel angry msc += $item_dmg:You feel a little pissed off msc += $item_dmg:You feel extremely angry at everything msc += $item_dmg:Your hooves look more like feet msc += $item_dmg:Your hooves expand and flesh out into feet msc += $item_dmg:You feel a little hungry msc += $item_dmg:A piece of fruit is consumed msc += $item_dmg:pieces of fruit are consumed msc += $item_dmg:You feel slightly disoriented msc += $item_dmg:Your system partially rejects artificial healing msc += $item_dmg:You feel even more weirdly uncertain msc += $item_dmg:You feel weirdly uncertain msc += $item_dmg:The drain falls to bits msc += $item_dmg:acid corrodes msc += $item_dmg:The rust devil corrodes your equipment 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 += $item_dmg:It has a very clean taste msc += $item_dmg:You feel your flesh rotting away msc += $item_dmg:You are engulfed in dark miasma msc += $item_dmg:You feel very guilty msc += $item_dmg:Done waiting msc += $item_dmg:That really hurt msc += $item_dmg:You fall into the water msc += $item_dmg:PTOANNNG msc += $item_dmg:PANG msc += $item_dmg:GONNNNG msc += $item_dmg:BOUMMMMG msc += $item_dmg:SHROANNG msc += $item_dmg:BONNNG msc ^= $item_dmg:This attack would place you under penance msc += $item_dmg:You will pay for your transgression\, mortal msc += $item_dmg:You hear a distant slurping noise msc ^= $item_dmg:picks up.*(potions?|scrolls?|wand) msc += $item_dmg:drinks a potion msc += $item_dmg:You hear a zap msc += $item_dmg:reads a scroll msc += $item_dmg:Mutagenic energies flood into your body msc += $item_dmg:your body twists? and deforms? msc += $item_dmg:You really shouldn't be using msc += $item_dmg:You die. msc += $item_dmg:You are engulfed in mutagenic fog msc += $item_dmg:Your vision blurs msc += $item_dmg:You feel frail msc += $item_dmg:the book crumbles to dust msc += $item_dmg:Your thinking seems confused msc += $item_dmg:You are heavily infused with residual magics msc += $item_dmg:You no longer feel (cold|heat) resistant msc += $item_dmg:You feel less (cold|heat) resistant msc += $item_dmg:You feel vulnerable to (cold|heat) msc += $item_dmg:You feel less resistant to poisons msc += $item_dmg:You no longer feel resistant to poison msc += $item_dmg:Your vision seems duller msc += $item_dmg:You feel less energetic msc += $item_dmg:You shed all your fur msc += $item_dmg:You begin to rot msc += $item_dmg:Your tentacle spike disappears msc += $item_dmg:You feel less repulsive msc += $item_dmg:The jelly growth is reabsorbed into your body msc += $item_dmg:Your pseudopods become smaller # Warning Messages msc ^= $warning:Creating passages of Golubria requires sufficient empty space msc += $warning:You yowl msc += $warning:You scream at msc += $warning:is no longer covered in acid msc += $warning:is no longer distracted by gold msc += $warning:boulder beetle smashes into something msc += $warning:grate falls apart msc += $warning:Your passage of Golubria closes with a snap msc += $warning:is no longer weakened msc += $warning:Something blocks msc += $warning:You feel jittery msc += $warning:Your aim is not that steady anymore msc += $warning:You feel strangely alone msc += $warning:You feel the tide rushing in msc += $warning:Failed to move towards target msc += $warning:Your protection from physical attacks is fading msc ^= $warning:The Screaming Sword msc += $warning:A large net falls onto you msc += $warning:You stop recalling your allies msc += $warning:You feel a little guilty msc += $warning:snaps.*out of.*fear msc += $warning:Your stasis keeps you stable msc += $warning:You retract your mandibles msc += $warning:The boots cling to your feet msc ^= $warning:Your ring of flames is guttering out msc += $warning:reforms as a msc += $warning:You draw the first five cards.*and discard the rest msc += $warning:You have damaged your brain msc += $warning:A thin mist springs up around you msc += $warning:The mangrove smolders and burns msc += $warning:You feel your anger subside msc += $warning:You feel nervous for a moment msc += $warning:Your.*is burned terribly msc += $warning:Your.*is frozen msc += $warning:There is nothing there\, so you fail to move msc += $warning:You enter the passage of Golubria msc += $warning:You start to feel a little slower msc += $warning:drowns your? msc += $warning:puts on a msc += $warning:Faint laughter comes from somewhere msc += $warning:shroud bends your.*attack away msc += $warning:shadowy figures dance through the air in front of you msc += $warning:This room is filled with shadowy figures msc += $warning:You feel spirits watching over you msc += $warning:You feel a genetic drift msc += $warning:You return to the normal time flow msc ^= $warning:The corpse rots msc ^= $warning:You finish butchering the rotting msc += $warning:reappears nearby msc += $warning:I'll put it outside for you msc += $warning:A pair of horns grows on your head msc += $warning:is held in a (net|web) msc += $warning:Smoke pours forth from your.*of chaos msc += $warning:You cannot go berserk while under stasis msc += $warning:You feel less woody msc += $warning:is no longer paralysed msc += $warning:The antennae on your head shrink away msc += $warning:You feel less stealthy msc += $warning:falls into the lava msc ^= $warning:Your spellforged servitor disappears msc += $warning:This weapon is vampiric, and you must be Full or above to equip it msc += $warning:The shock serpent's electric aura discharges msc += $warning:The air sparks with electricity msc += $warning:The cursed.*is stuck to you msc += $warning:You cannot enchant this weapon msc += $warning:You sense an evil presence msc += $warning:Jory draws you further into his thrall msc += $warning:grabs your msc += $warning:You shudder from the earth-shattering force msc += $warning:Smoke pours from your msc += $warning:curses noisily msc += $warning:is no longer blind msc += $warning:Lightning arcs down from a storm cloud msc += $warning:You feel strangely numb msc += $warning:You feel less sure on your feet msc += $warning:The air around you crackles with electrical energy msc += $warning:The vortex of raging winds lifts you up msc += $warning:creates a blast of rain msc += $warning:shimmers and seems to become two msc += $warning:Your ball lightning explodes msc += $warning:There is a sudden explosion of flames msc += $warning:You feel extremely nervous for a moment msc += $warning:The orb fizzles msc += $warning:A film of ice covers the msc += $warning:That ambrosia tasted strange msc += $warning:orb of destruction hits.*wall msc += $warning:Something tries to affect you msc += $warning:You block its attack msc += $warning:A large net falls down msc += $warning:You have made a black mistake msc += $warning:You are stuck in your current form msc += $warning:You feel like a pig msc += $warning:Your hearing returns msc += $warning:You feel less in control of your magic msc += $warning:You feel your magical power running wild msc += $warning:are frozen msc += $warning:Something hits you but does no damage msc += $warning:You turn into a bat msc += $warning:A demon appears msc += $warning:twists and deforms msc += $warning:There is a sudden blast of acid msc += $warning:Die\, mortal msc += $warning:You choke on the stench msc += $warning:Your summoned allies are left behind msc += $warning:You feel that your aim is more steady msc += $warning:There's a creature in the msc += $warning:They are\: msc += $warning:A card falls out of the deck msc += $warning:(dart|javelin|large rock|stone|tomahawk) disappears in a puff of smoke msc += $warning:You can't close doors while held in a net msc += $warning:A slime creature suddenly msc += $warning:You feel closer to the material plane msc += $warning:leaps out from its hiding place msc += $warning:The cursed.*is stuck to your body msc += $warning:You stop removing your armour msc += $warning:You smell decay msc += $warning:You feel a malignant aura surround you msc += $warning:briefly surrounded by a scintillating aura of random colours msc += $warning:looks stronger msc += $warning:You have difficulty breathing msc += $warning:The heat melts your.*(armour|shield) msc += $warning:You are engulfed in a cloud of spores msc += $warning:You feel less perceptive msc += $warning:A profound silence engulfs you msc += $warning:An unnatural silence engulfs you msc ^= $warning:Hurry and find it before the entrance collapses msc += $warning:Your memory of.*unravels msc += $warning:You speak a Word of immense power msc += $warning:seems to move somewhat quicker msc += $warning:steals.*your msc += $warning:A tentacle flies out from the starspawn's body msc += $warning:The explosive bolt releases an explosion msc += $warning:There is a Zot trap here msc += $warning:You enter a teleport trap msc += $warning:You need to enable at least one skill for training msc += $warning:You (resume|stop) training msc += $warning:You feel slightly jumpy msc += $warning:You are splashed with acid 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:fails to return msc += $warning:Something appears in a flash of light msc += $warning:you turn into a fiery being msc += $warning:no longer ripe msc += $warning:The wave splashes down msc += $warning:The spell fizzles msc += $warning:Your body armour is too heavy msc += $warning:The crackling of melting ice is subsiding rapidly msc += $warning:seems to gain new vigour msc += $warning:You feel strangely stable msc += $warning:(asks|barks|bellows|boasts|brags|breathes|buzzes|cackles|calls|caws|chants|cheers) msc += $warning:(chilling moan|complains|cries|croak|curses loudly|embarks|explains|Floosh|gibbers|giggles) msc += $warning:(grits|groans|growls|grumbles|grunts|gurgles|hisses|jeers|keens|laughs|launches|makes a sound) msc += $warning:(mewls|moans|mumbles|murmurs|mutters|pleads|prattles|preaches|queries|recites|roars|says) msc += $warning:(scowls|screams|screeches|shout|shriek|sighs|sings|snarls|sneers|snorts|threatens|trumpets) msc += $warning:(utters an oath|wail|wails|whimpers|whisper|yells) msc += $warning:you (roar|yell|hiss) msc += $warning:imitates the bagpipes msc += $warning:looks more energetic msc += $warning:suddenly curses msc += $warning:Dowan breathes msc += $warning:Dowan shakes his head\, saying\, \"No\, no\, no!\" msc += $warning:You hear strange voices msc += $warning:You hear msc += $warning:You drop msc += $warning:You hear an irritating high-pitched whine msc += $warning:You hear snatches of song msc += $warning:seems more stable msc += $warning:opens the (door|gate|large door|huge gate) msc += $warning:dissolves into sparkling lights msc += $warning:[^un]wields msc += $warning:There is a portal leading out of here msc += $warning:Natasha's spirit plunges in to the ground msc += $warning:Natasha's spirit rises from its lifeless body msc += $warning:wears msc += $warning:You are.*contaminated msc += $warning:blinks msc += $warning:You are starting to lose your buoyancy msc += $warning:You float gracefully downwards msc += $warning:Your surroundings suddenly seem different msc += $warning:You feel your bond with your spectral weapon wane msc += $warning:It (begins to drip with poison|bursts into flame|glows with a cold blue light|softly glows with a divine radiance|stops glowing) msc += $warning:Your.*drips with poison msc += $warning:You sense an unholy aura msc += $warning:It is covered in frost msc += $warning:The shock serpent begins to gather electrical charge msc += $warning:moves out of view msc += $warning:basks in the mutagenic energy msc += $warning:Several doors burst open msc += $warning:Flickering shadows surround you msc += $warning:You found a.*trap msc += $warning:You.*one of the.*heads off msc += $warning:slime creatures merge msc += $warning:roars a battle-cry msc += $warning:The.*is healed msc += $warning:You stumble backwards msc += $warning:Are you sure you want to stumble around while confused msc += $warning:it creaks loudly msc += $warning:The.*explodes msc += $warning:You are caught in (a fiery explosion|an explosion of ice and frost) msc += $warning:stops burning msc += $warning:(The |.*)is healed msc += $warning:You stop butchering msc += $warning:You feel less studious msc += $warning:(corpses?|macabre mass) merges with msc += $warning:You start to feel a little uncertain msc += $warning:corpses? begins to drag msc += $warning:corpses meld into an agglomeration of writhing flesh msc += $warning:beckons forth a restless soul msc += $warning:Something reaches out for you msc += $warning:Something tries to feed on your intellect msc += $warning:You feel a brief urge to hack something to bits msc += $warning:Pain shudders through your msc += $warning:The.*passes through your shield msc += $warning:draws strength from your injuries msc += $warning:The.*pierces through msc += $warning:The forest fire spreads msc += $warning:The tree burns like a torch msc += $warning:magical defenses are stripped away msc += $warning:You blink msc += $warning:You teleport msc += $warning:You step into.*shadow msc += $warning:Grasping roots rise from the ground around the msc += $warning:The winds start to flow at the.*will msc += $warning:The .*(are|is) blown away msc += $warning:goes into a frenzy at the smell of blood msc += $warning:Something picks up msc += $warning:You smell burning wood msc += $warning:stumbles backwards msc += $warning:looks slightly unstable msc += $warning:slips into darkness msc += $warning:The air around.*erupts in flames msc += $warning:hops backward while attacking msc += $warning:violent explosion of flames msc += $warning:turns its malign attention towards you msc += $warning:Splash! msc += $warning:Harold gasps with his last breath msc += $warning:You enter the shallow water msc += $warning:You see a puff of smoke msc += $warning:pour from your msc += $warning:Tentacles burst out of the water msc += $warning:calls forth a grand avatar msc += $warning:focuses on the pain msc += $warning:suddenly seems more agile msc += $warning:regenerates before your eyes msc += $warning:You feel corrupt for a moment msc += $warning:Send 'em back where they came from msc += $warning:The net rips apart msc += $warning:Your surroundings seem slightly different msc += $warning:You are under the weather msc += $warning:You are standing in the rain msc += $warning:The rain has left you waist-deep in water msc += $warning:We do not forgive those who trespass against us msc += $warning:A.*appears from out of thin air msc += $warning:looks more healthy msc += $warning:A mysterious force pulls you upwards msc += $warning:punctures the fabric of the universe msc += $warning:degenerates into a cloud msc += $warning:wounds heal themselves msc += $warning:is no longer moving slowly msc += $warning:is completely healed msc += $warning:You heal msc += $warning:It is briefly surrounded by a scintillating aura of random colours msc += $warning:Partly explored msc += $warning:There is a shaft here msc += $warning:Dowan seems overcome with grief, but rights himself reflexively soon after msc += $warning:You feel that this wand is rather unreliable msc += $warning:You feel less protected msc += $warning:You hear a crashing sound msc += $warning:shatters msc += $warning:apparitions take form around you msc += $warning:You feel your magic capacity is already quite full msc += $warning:You feel vulnerable msc += $warning:pulls away from the web msc += $warning:withdraws into its msc += $warning:is no longer petrified msc += $warning:You remove msc += $warning:Your.*dissolves into shadows msc += $warning:Your.*stops moving altogether msc += $warning:hides itself under the floor msc += $warning:puts on a burst of speed msc += $warning:decay slows msc += $warning:Your.*is caught in msc += $warning:Thorny briars emerge from the ground! msc += $warning:You flicker for a moment msc += $warning:There is a.*altar.*here msc += $warning:You kneel at the altar msc += $warning:You start to feel less resistant msc += $warning:You feel a strong urge to attack something msc += $warning:You cannot move away from msc += $warning:The pull of.*song draws you forwards msc += $warning:Shadowy forms rise from the deep msc += $warning:You feel as though you will be slow longer msc += $warning:disappears! msc += $warning:Your.*is no longer moving quickly msc += $warning:You feel your magic capacity decrease msc += $warning:drains the heat from the surrounding environment msc += $warning:pounces on you msc += $warning:A tentacle rises from the water msc += $warning:comes (down|up) the stairs msc += $warning:You catch a bit of a chill msc += $warning:A ballistomycete grows in the wake of the spore msc += $warning:A fungus suddenly grows msc += $warning:A toadstool grows msc += $warning:then quickly surges around you msc += $warning:There is a sudden explosion of frost msc += $warning:That was not very filling msc += $warning:You failed to disarm the trap msc += $warning:is covered with a thin layer of ice msc += $warning:draws out.*weapon's spirit msc += $warning:You are pushed out msc ^= $warning:Your.*seems to slow down msc += $warning:thirsts for the lives of mortals msc += $warning:emits a brilliant flash of light msc += $warning:is firebranded into msc += $warning:is no longer bleeding msc += $warning:The dungeon rumbles around Jorgrun! msc += $warning:evaporates and reforms as msc += $warning:You turn into a venomous arachnid creature msc += $warning:infuriates you msc += $warning:Your extra speed is starting to run out msc += $warning:Your skin is crawling a little less now msc += $warning:You stumble into the trap msc += $warning:Your transformation is almost over msc += $warning:You feel magic leave you msc += $warning:You feel magic returning to you msc += $warning:Your (horns|talons) disappear msc += $warning:Tentacles burst from the starspawn msc += $warning:you must find a gate leading back msc += $warning:You fall off the wall msc += $warning:Blech - you need (greens|meat) msc += $warning:A starcursed mass splits msc += $warning:You draw the Sage msc += $warning:You feel a wave of frost pass over you msc += $warning:The creatures around you are filled with an inner flame msc += $warning:is filled with an inner flame msc += $warning:You feel less healthy msc += $warning:summons a great blast of wind msc += $warning:You feel less resistant to hostile enchantments msc += $warning:Your attack snaps.*out of its fear msc += $warning:You feel blessed for a moment msc += $warning:You draw a card msc += $warning:Walls emerge from the floor msc += $warning:You feel like more of a target msc += $warning:is knocked back by the flood of elemental water msc += $warning:blown away by the wind msc += $warning:is surrounded by Orcish apparitions msc += $warning:The.*reappears nearby msc += $warning:The deck of cards disappears msc += $warning:The.*looks more experienced msc += $warning:There is a rocky tunnel leading out of this place here msc += $warning:Your icy (armour|shield) starts to melt msc += $warning:Your legs become a tail msc += $warning:You feel the effects of Trog's Hand fading msc += $warning:You slam the door shut with a bang msc += $warning:This armour is.*for you msc += $warning:magical effects unravel msc += $warning:You awkwardly throw msc += $warning:You erupt msc += $warning:The flames covering.*go out msc += $warning:bleats in terror msc += $warning:seems to regain.*courage msc += $warning:You have a feeling of ineptitude msc += $warning:falls through a shaft msc += $warning:You cannot throw anything while held in a net msc += $warning:furiously retaliates msc += $warning:The blast of chaos engulfs your? msc += $warning:You are engulfed in seething chaos msc += $warning:Your song is almost over msc += $warning:is in the way msc += $warning:You are too berserk msc += $warning:The tentacle pulls you backwards msc += $warning:starcursed mass shudders and msc += $warning:The kraken squirts a massive cloud of ink msc += $warning:Wisps of shadow whirl around msc += $warning:You are too injured to fight recklessly msc += $warning:shakes off its lethargy msc += $warning:I don't know how to get there msc += $warning:Your.*warbles msc += $warning:chimes melodiously msc += $warning:erupts into laughter msc += $warning:makes a deep moaning sound msc += $warning:raves incoherently msc += $warning:speaks gibberish msc += $warning:belts out msc += $warning:yelps msc += $warning:goes tick-tock msc += $warning:gives off a wolf whistle msc ^= $warning:[e] your.* of resist msc += $warning:phases out as you msc += $warning:momentarily phases out msc += $warning:cracks jokes msc += $warning:Your orb of destruction dissipates msc += $warning:regales you with its life story msc += $warning:parrots the noises around you msc += $warning:lets out a mournful sigh msc += $warning:tootles away msc += $warning:makes a horrible noise msc += $warning:burps loudly msc += $warning:You are caught in a violent explosion msc += $warning:pulses with an eldritch light msc += $warning:the glow from your magical contamination prevents you from becoming completely invisible msc += $warning:appears from out of your range of vision msc += $warning:You stop putting on your armour msc += $warning:We have you now msc += $warning:You do not belong in this place msc += $warning:before it is too late msc += $warning:There is a sudden explosion of magical energy msc += $warning:Something forms from out of thin air msc += $warning:You sense a hostile presence msc += $warning:Trespassers are not welcome here msc += $warning:You feel a terrible foreboding msc += $warning:You will not leave this place msc += $warning:wrenching scream msc += $warning:Leave now/, before it is too late msc += $warning:picks up msc += $warning:Nothing appears to happen msc += $warning:The dead are msc += $warning:The boulder beetle hits a closed door msc += $warning:begin to drag.*along the ground msc += $warning:merge to form a (large abomination|macabre mass|small abomination) msc += $warning:Two macabre masses merge msc += $warning:falls through the shaft msc += $warning:There is a crawl-hole back to the Lair here msc += $warning:There is a hole to the Spider Nest here msc += $warning:You create a pond msc += $warning:Mennas becomes audible again msc += $warning:That was extremely unsatisfying msc += $warning:The wind howls around you msc += $warning:You are feeling less magically infused msc += $warning:Something invisible bursts forth from the water msc += $warning:Something.*misses msc += $warning:There is a cloud of mutagenic fog here msc += $warning:howls msc += $warning:You part the fleshy orifice with a squelch msc += $warning:The orb of energy explodes msc += $warning:The air shimmers briefly around you msc += $warning:You are much too full right now msc += $warning:turns to fight msc += $warning:You feel transcendent for a moment msc += $warning:You're too terrified to move while being watched msc += $warning:The weapon returns to the msc += $warning:The queen bee calls on the killer bee to defend her msc += $warning:You turn into a bat msc += $warning:Your.*looks incredibly listless msc += $warning:The mass is resisting your pull msc += $warning:Moving in this stuff is going to be slow msc += $warning:escapes msc += $warning:The silence causes your song to end msc += $warning:You feel (slightly|somewhat) less full msc += $warning:The light of Elyvilon fails to reach msc += $warning:The light of Elyvilon almost touches upon msc += $warning:[^r]pulls free of the water msc += $warning:Your piety has decreased msc += $warning:struggles to resist msc += $warning:You feel.*more hungry msc += $warning:You are outlined in light msc += $warning:Your.*is outlined in light msc += $warning:You feel momentarily disoriented msc += $warning:You are now empty msc += $warning:(prevent|prevents) you from hitting msc += $warning:The water nymph flows with the water msc += $warning:summons a msc += $warning:cannot make way for you msc += $warning:The horns on your head shrink away msc += $warning:Your shroud begins to fray at the edges msc += $warning:You'd need three hands to do that msc += $warning:Your.*disappears msc += $warning:That's too.*for you msc += $warning:The dungeon trembles and rubble falls from the walls msc += $warning:Finesse? Hah! Time to rip out guts msc += $warning:You fail to extend your transformation any further msc += $warning:This spell does not affect your current form msc += $warning:You can't wield anything in your present form msc += $warning:Your.*revert to their normal proportions msc += $warning:Suddenly Natasha's spirit rises from her lifeless body msc += $warning:Your.*shudders # Demonspawn gaining a mutation they already have msc += $warning:Your mutations feel more permanent msc += $warning:Roots rise up from beneath.*and drag it to the ground msc ^= $warning:You hunger for vegetation msc ^= $warning:You feel a sudden chill msc += $warning:You feel hot for a moment msc += $warning:stop glowing msc += $warning:The water foams msc += $warning:The satyr's allies are stirred to greatness msc += $warning:Mushrooms sprout up around you msc += $warning:seems less confused msc += $warning:You could not reach far enough msc ^= $warning:The golden flame engulfs you msc += $warning:You shudder msc += $warning:The giant firefly flashes a warning beacon msc += $warning:vibrate crazily for a second msc += $warning:Harold falls down\, and clutches his wounds msc += $warning:You finish recalling your allies msc += $warning:Your.*wears msc += $warning:Something (bites|hits) your? msc += $warning:You feel more confident with your borrowed prowess msc += $warning:Your hands get new energy msc += $warning:You squeal for attention msc ^= $warning:changes into msc += $warning:The crackle of the magical portal is almost imperceptible now msc += $warning:blocks (the|you) msc += $warning:You start to feel a little faster msc += $warning:You meow for attention msc += $warning:The lightning arc arcs out of your line of sight msc += $warning:The lightning arc suddenly appears msc += $warning:The bush is engulfed in roaring flames msc += $warning:A yell rips itself from your throat msc += $warning:Purgy wonders\, \"What am I doing in here\?\" msc += $warning:Your spectral.*fades into mist msc += $warning:You create some ball lightning msc += $warning:dances into the air msc += $warning:appears msc += $warning:Your divine protection wanes msc += $warning:The sheep \"Baaaas\" balefully msc += $warning:is blown backwards by the freezing wind msc += $warning:Your connection to magic feels (subdued|more subdued|nearly dormant) msc += $warning:You feel a numb sensation msc += $warning:Your skull pulses and throbs msc += $warning:Seething terrors besiege your sanity msc += $warning:your eldritch tentacle is severed msc += $warning:You sink to the bottom # Boring Messages msc += $boring:Your tentacles glow momentarily msc += $boring:tentacles wither and die msc += $boring:You feel a little dazed msc += $boring:You feel mildly nauseous msc += $boring:looks momentarily confused msc += $boring:Motes of dust swirl before your eyes msc ^= $boring:You squeeze the fleshy orifice shut msc += $boring:Gastronok glows a brilliant shade of cerise msc += $boring:fingertips start to glow msc += $boring:eyes start to glow msc += $boring:You smell tea msc += $boring:Your ghoul eats msc += $boring:seems to dim momentarily msc += $boring:The net is caught on your fulminant prism msc += $boring:The shadows disperse without effect msc += $boring:You feel woody for a moment msc += $boring:Your vision is briefly tinged with green msc ^= $boring:Sigmund is suddenly surrounded by pale red light msc += $boring:has a weird expression for a moment msc += $boring:You feel roots moving beneath the ground msc += $boring:This spell is already in effect msc ^= $boring:You displace your msc ^= $boring:whispers something so quietly that you cannot hear msc ^= $boring:for a moment.*blends into the shadows msc ^= $boring:picks up a beetle and eats it msc += $boring:Everything looks hazy for a moment msc += $boring:There is a strange surge of energy around msc += $boring:orc priest shimmers for a moment msc += $boring:orc priest's eyes start to glow msc += $boring:The weapon returns to your msc += $boring:Your bandages flutter msc += $boring:The water in the fountain briefly bubbles msc += $boring:The bush looks momentarily different msc += $boring:Dowan's feet meld with the ground\, briefly msc += $boring:briefly looks nauseous msc += $boring:twitches msc += $boring:Jessica looks very angry msc += $boring:You fall off the door msc += $boring:as though insubstantial msc += $boring:The Killer Klown sprays water msc += $boring:The Killer Klown honks msc += $boring:wriggles its tentacles msc += $boring:You reach down and part the fleshy orifice msc += $boring:orb spider pulsates with a strange energy msc += $boring:orb spider begins to weave its threads into a brightly glowing ball msc += $boring:Your eyebrows briefly feel incredibly bushy msc += $boring:briefly appears rusty msc += $boring:Your.*stops glowing msc += $boring:Your.*briefly vibrates msc += $boring:You feel gritty msc += $boring:You briefly become tangled in your msc += $boring:Your eyebrows wriggle msc += $boring:You detect nothing msc += $boring:Your.*shimmers for a moment msc += $boring:Your.*eyes start to glow msc += $boring:Your.*spins! msc += $boring:grins madly msc += $boring:You lose your grip on msc += $boring:The water engulfing you falls away msc += $boring:The disc glows for a moment msc += $boring:Your.*briefly glows msc += $boring:You feel numb msc += $boring:The chaos spawn grows dozens of eye stalks in order to get a better look at you msc += $boring:Jory stares carefully at you msc += $boring:seems to be having trouble coordinating.*its legs msc += $boring:Your.*flashes msc += $boring:You create a blast of thin mist msc ^= $boring:then vanish msc += $boring:avoids triggering.*trap msc += $boring:Terence looks scornfully at you msc += $boring:Sigmund looks at you with fury msc += $boring:holds.*ground msc += $boring:The door collapses msc += $boring:You smell baking bread msc += $boring:The lightning arc grounds out msc += $boring:Fannar glares icily msc ^= $boring:A poisoned needle shoots out and hits your shield msc += $boring:ghost twirls its msc += $boring:You attack empty space msc += $boring:Eustachio twirls his moustache msc += $boring:is briefly tinged with black msc += $boring:The dust glows msc += $boring:Crazy Yiuf scratches his head thoughtfully msc += $boring:Crazy Yiuf counts something out on his finger msc += $boring:You aren't quite hungry enough to eat that msc += $boring:The crystal guardian glitters msc += $boring:The wizard's fingertips start to glow msc += $boring:You are already empty- msc ^= $boring:the.*shaped block of ice msc ^= $boring:briefly gains? a (green|red|yellow) sheen msc += $boring:The great wave of water passes through the water elemental msc += $boring:shimmers and vanishes msc += $boring:You do an impromptu tapdance msc += $boring:You feel uncomfortable msc ^= $boring:The shadow imp breathes mist at you msc += $boring:That snozzcumber tasted truly putrid msc += $boring:The reaper draws a finger across its throat msc += $boring:Your.*seems to dim momentarily msc += $boring:Your.*is briefly tinged with black msc += $boring:Your.*shivers with cold msc += $boring:Your.*has a weird expression for a moment msc += $boring:A malignant aura surrounds your msc += $boring:Your.*twitches violently msc += $boring:The world appears momentarily distorted msc += $boring:The iron imp grinds its teeth msc += $boring:unwise to walk into this msc += $boring:The tree breaks and falls down msc += $boring:Nessos tries to tell you a complicated story about hydras msc += $boring:You feel blessed for a moment msc += $boring:The boulder beetle hits.*wall msc += $boring:A root reaches out and grasps at passing movement msc += $boring:Tangled roots snake along the ground msc += $boring:You smell coffee msc += $boring:The white imp grinds its teeth msc += $boring:Your.*imp grins impishly at you msc += $boring:Your hooves feel warm msc += $boring:Your.*jumps up and down with excitement msc += $boring:Strange appendages sprout from msc += $boring:Suppurating sores blossom under msc += $boring:That beef jerky was jerk msc += $boring:A dozen eyes blink open in the msc += $boring:You part the fleshy orifice msc += $boring:There is an open fleshy orifice here msc += $boring:Your hair momentarily turns into snakes msc += $boring:The crimson imp grinds its teeth msc ^= $boring:The crimson imp spits at you msc += $boring:then rights herself and shakes her weapon msc += $boring:You smell burning hair msc += $boring:Your nose twitches suddenly msc += $boring:You are wearing that object msc += $boring:You can't wield jewellery msc += $boring:There is an abandoned shop here msc += $boring:You don't have any such object msc += $boring:Mennas is caught in a moment of prayer msc += $boring:You spin around msc += $boring:Aizul coils and then uncoils msc += $boring:The tide is released from Ilsuiw's call msc += $boring:Polyphemus seems to be sizing you up for his next meal msc += $boring:You can't read that msc += $boring:You can't drink that msc += $boring:Your.*falls into the water msc += $boring:A large abomination twists grotesquely msc += $boring:collapse into pulpy msc ^= $boring:You reach to attack msc += $boring:avoids the shaft msc += $boring:Your bones ache msc += $boring:Thank you for shopping msc += $boring:Your ears itch msc += $boring:Prince Ribbit hops awkwardly around msc += $boring:You pass into a different region of Pandemonium msc += $boring:You smell brimstone msc += $boring:Something frightening happens msc += $boring:Multicoloured lights dance before your eyes msc += $boring:Some snowflakes condense on Fannar msc += $boring:shape twists and changes as it dies msc += $boring:No such ability msc += $boring:The plume of ash settles msc += $boring:You feel uncomfortably hot msc += $boring:You can't wield that with a shield msc ^= $boring:The blast of magma explodes msc += $boring:Crazy Yiuf glowers msc += $boring:Crazy Yiuf flaps his cloak msc += $boring:Crazy Yiuf waves his quarterstaff at you msc += $boring:You feel lost and a long msc += $boring:The world around you seems to dim momentarily msc += $boring:tears through a web msc += $boring:Pikel waves his whip at you msc += $boring:Wisps of condensation drift from your msc += $boring:A chill runs through your body msc += $boring:Frost covers your body msc += $boring:numb with cold msc += $boring:That.*was very bland msc += $boring:That lemon was rather sour msc += $boring:You call on the dead to rise msc += $boring:You can't wear that msc += $boring:vibrates crazily for a second msc ^= $boring:The crimson imp breathes (mist|steam) at you msc += $boring:showing sharp teeth msc += $boring:Branches wave dangerously above you msc += $boring:A root lunges up near you msc += $boring:Maurice looks sneaky msc += $boring:Suddenly you are surrounded with a pale green light msc += $boring:really hit the spot msc += $boring:Mmmm... Yummy msc += $boring:Grum bares his teeth msc += $boring:Grum sniffs the air and quickly glances around msc += $boring:The shadow imp grinds its teeth msc += $boring:looks to the heavens msc += $boring:beckons to you msc += $boring:Your.*struggles to escape msc += $boring:Your.*struggles against msc += $boring:Your.*struggles to get unstuck from msc += $boring:fades away msc += $boring:You feel electric msc += $boring:sharp shower of sparks msc += $boring:pulsates ominously msc += $boring:You feel earthy msc += $boring:Sparks of electricity dance between your msc += $boring:Edmund gestures with his flail msc += $boring:You feel very uncomfortable msc += $boring:tastes (good|great|unpleasant|very good) msc += $boring:is not very appetising msc += $boring:was delicious msc += $boring:Xtahua glares at you msc += $boring:You pass through the gate msc += $boring:The starspawn's tentacles wither and die msc += $boring:Trunks creak and shift msc += $boring:unmelds from your body msc += $boring:The air around.*crackles with energy msc += $boring:Something.*the (bush|plant) msc += $boring:There's nothing there! msc += $boring:You briefly turn translucent msc += $boring:unborn seems to be listening msc += $boring:You can only put on jewellery msc ^= $boring:You smell decay. Yuck! msc += $boring:Ouch! msc += $boring:There isn't anything here msc += $boring:The air around you briefly surges with heat msc += $boring:Your skin glows momentarily msc += $boring:You draw two cards from the deck msc += $boring:You shuffle the cards back into the deck msc += $boring:The drowned soul returns to the deep msc += $boring:Your.*stays? behind msc += $boring:You prostrate yourself msc += $boring:You shiver with cold msc += $boring:glows? (bright chartreuse|bright red|brightly|brilliant black|brilliant cobalt blue) for a moment msc += $boring:glows? (brilliant magenta|brilliant silver|dark black|dark umber|dull charcoal|dull rubric) for a moment msc += $boring:glows? (dull silver|faint lavender|faint lime green|mottled black|pale dun|pale gold|pale silver) for a moment msc += $boring:glows? (pale yellow|shimmering blue|shimmering brown|shimmering rubric|shining black|shining brown|silvery red) for a moment msc += $boring:Waves of light ripple over msc += $boring:Your skin tingles msc += $boring:looks braver msc += $boring:You enjoyed that msc += $boring:Your brain hurts msc += $boring:becomes somewhat translucent msc += $boring:generates a fountain of clear water msc += $boring:You cannot attack while caught msc += $boring:You cannot throw anything while caught msc += $boring:grinds (her|his) teeth msc += $boring:bristles in rage as it notices you msc += $boring:You feel forgetful for a moment msc += $boring:The briar patch crumbles away msc += $boring:You feel momentarily lethargic msc += $boring:...but nothing happens msc += $boring:Wisps of smoke drift from your msc += $boring:You smell salt msc += $boring:tries to hide in the shadows msc += $boring:stops crackling msc ^= $boring:Your.*is no longer covered in acid msc += $boring:You momentarily stiffen msc += $boring:waves its rhizomes msc += $boring:The flesh is too rotten for a proper zombie msc += $boring:You smell (smoke|something weird) msc += $boring:The floor shifts beneath you alarmingly msc += $boring:The reaper smiles without lips msc += $boring:great wave of water passes through msc += $boring:There isn't anything to butcher here msc += $boring:crushes a nearby insect and laughs msc += $boring:Welcome back to the Dungeon msc += $boring:You are blasted with air msc ^= $boring:There is a collapsed entrance here msc += $boring:You feel slightly nauseous msc += $boring:You can't see any susceptible monsters within range! (Use Z to cast anyway.) msc += $boring:You can't go (down|up) here msc += $boring:Your hair stands on end msc += $boring:Wisps of vapour drift from your msc += $boring:The Killer Klown smiles at you msc += $boring:the (bush|fungus|plant) msc += $boring:You are momentarily dazzled by a (brilliant|flash of) light msc ^= $boring:(flickers out of sight|flickers and vanishes|slips into darkness) for a moment msc += $boring:The golden flame engulfs your? msc += $boring:The shaft crumbles and collapses msc += $boring:An air elemental (forms|merges) itself (from|into) the air msc += $boring:A corpse collapses into a pulpy mess msc += $boring:You start (resting|waiting) msc += $boring:Unknown command msc += $boring:but (do no|doesn't do any|does no) damage msc += $boring:miss msc += $boring:Wisps of poison gas drift from your msc += $boring:You walk carefully through msc += $boring:grow from msc += $boring:withers and dies msc += $boring:There is nothing on the other side of the stone arch msc += $boring:misses you msc += $boring:You are waved at by a branch msc += $boring:The trees move their gnarly branches around msc += $boring:You swap msc += $boring:The smell of rotting flesh msc += $boring:Ugh! There is something really disgusting msc += $boring:Heat runs through your body msc += $boring:Lukewarm flames ripple over your body msc += $boring:stops (dripping with poison|flaming) msc += $boring:Press } to see all runes msc += $boring:There is a.*(door|gate) msc += $boring:(antennae|eye-stalks|whiskers) msc += $boring:You feel troubled msc += $boring:You feel a wave of unholy energy pass over you msc += $boring:grins evilly msc += $boring:A huge blade swings just past you msc += $boring:(The|Something).*disappears msc += $boring:The.*glitters chillingly msc += $boring:You feel a strange surge of energy msc += $boring:There are no unholy or evil weapons here to destroy msc += $boring:close doors on yourself msc += $boring:Your.*falls off the wall msc += $boring:stops rolling msc += $boring:(gazes forward|pauses|quivers|skips|sputters|stops to sniff|summons a swarm of flies) msc += $boring:turns its.*gaze msc += $boring:Your summoned ally is left behind msc += $boring:That felt strangely unrewarding msc += $boring:The air around you crackles with energy msc += $boring:in your inventory have.*rotted away msc += $boring:(drops|unwields) msc += $boring:The battlesphere dissipates msc += $boring:(The|Your?).*(passes|pick your way) through a web msc += $boring:passes through a web msc += $boring:You feel extremely cold msc += $boring:You feel terrible msc += $boring:You sense a malignant aura msc += $boring:You (hold|stand) your ground msc += $boring:Your.*(holds|stands) its ground msc += $boring:The.*eats the msc += $boring:The winds cease moving at the.*will msc += $boring:The ground creaks as gnarled roots bulge its surface msc += $boring:rages msc += $boring:Your acid blob dissolves into a puddle of slime msc += $boring:You feel a wrenching sensation msc += $boring:The.*falls off the wall msc += $boring:The.*jiggles msc += $boring:The.*looks excited msc += $boring:Pikel cracks his whip msc += $boring:Press } to see all the runes you have collected msc += $boring:slime creature splits msc += $boring:stops glowing msc += $boring:splashes around in the water msc += $boring:tentacles slide back into the water msc += $boring:The.*dissolves into shadows msc += $boring:You smell something rotten msc += $boring:You (close|open) the.*(door|gate) msc += $boring:reach down and (close|open) the.*(door|gate) msc += $boring:You (climb|fly) (down|up)wards msc += $boring:You go (down|up) msc += $boring:You fly (down|up) through the gate msc += $boring:You must enter the number of times for the command to repeat msc += $boring:Use Z to cast anyway msc += $boring:There are no items here msc += $boring:it crumbles to dust msc += $boring:The hatch slams shut behind you msc += $boring:There is an empty arch of ancient stone here msc += $boring:The world spins around you as you enter the gateway msc += $boring:This spell is.*dangerous to cast msc += $boring:There is a web.*here msc += $boring:You pick your way through the web msc += $boring:You hold your ground msc += $boring:The floor vibrates msc += $boring:Sand pours from your msc += $boring:Strange energies run through your body msc += $boring:You smell something strange msc += $boring:ghost tries to sneak away msc += $boring:evades a web msc += $boring:The.*goes (down|up) the msc += $boring:jumps into the shaft msc += $boring:Found.*gold msc += $boring:You now have.*gold msc += $boring:Why would you want to do that msc += $boring:you're not good enough to have a special ability msc += $boring:holds its.*at the ready msc += $boring:There is a.*fountain.*here msc += $boring:Little bolts of electricity crackle over the disc msc += $boring:tries to grin evilly msc += $boring:The corpses? collapses? into a pulpy mess msc += $boring:There is an empty arch of ancient stone msc += $boring:The runic seals? fades? away msc += $boring:looks hungrier msc += $boring:Something drops msc += $boring:tears the web msc += $boring:lashes its tail msc += $boring:smirks and points a slender finger msc += $boring:The orb of destruction dissipates msc += $boring:spectral weapon stumbles backwards msc += $boring:Your (claws|elbows|hands|wings) glow momentarily msc += $boring:Weird images run through your mind msc += $boring:safely over a trap msc += $boring:avoid triggering a msc += $boring:A net swings high above you msc += $boring:Natasha extends her claws msc += $boring:The shadow imp breathes steam at you msc += $boring:You can't see any susceptible monsters within range msc += $boring:You are momentarily dazzled by a brilliant light msc += $boring:You feel momentarily weightless msc += $boring:You feel uncomfortably cold msc += $boring:Your fire elemental sizzles in the rain msc += $boring:Nessos pounds the earth with his hooves msc += $boring:Frost spreads across the the floor msc += $boring:You sense an ancient evil watching you msc += $boring:Your.*(looks|smiles) at you msc += $boring:You experience a momentary feeling of inescapable doom msc += $boring:Something in your inventory has become rotten msc += $boring:There is something rotten in your inventory msc += $boring:assumes a wrestling stance msc += $boring:feints to the msc += $boring:Purgy looks around nervously msc += $boring:You smell pepper msc += $boring:You feel faint for a moment msc += $boring:You suddenly feel all small and vulnerable msc += $boring:takes off msc += $boring:There is a rock-blocked tunnel here msc += $boring:falls off the msc += $boring:The bat flutters around in erratic circles msc += $boring:You swing at nothing msc += $boring:This raw flesh tastes delicious msc += $boring:electric golem crackles and sizzles msc += $boring:ghost ripples msc += $boring:Maud (frowns|looks upset) msc += $boring:There is an ice choked empty arch of ancient stone here msc += $boring:Sparks fly from your msc += $boring:crimson imp breathes smoke at you msc += $boring:Distant voices call out to you msc += $boring:You are showered with tiny particles of grit msc += $boring:The scroll reassembles itself in your msc += $boring:You feel uncomfortably hot msc += $boring:Nergalle blows her nose msc += $boring:You release your grip on msc += $boring:Nergalle looks more energetic msc += $boring:stampedes away msc += $boring:fails to trigger a.*trap msc += $boring:You can't eat that msc += $boring:You smell sulphur msc += $boring:There's nothing to (close|open) nearby msc += $boring:Your.*stumbles backwards msc += $boring:ghost takes a fighting stance msc += $boring:You shiver with fear msc += $boring:Your.*falls like a stone msc += $boring:You feel a surge of energy from the ground msc += $boring:You release your grip on msc += $boring:Your head hurts msc += $boring:The lightning grounds out msc += $boring:Your.*feel warm msc += $boring:This isn't a weapon msc += $boring:You feel as though nothing has changed msc += $boring:Blork the orc's eyes start to glow msc += $boring:Blork the orc shakes msc += $boring:You smell wet wool msc += $boring:You create a blast of rain msc += $boring:There is a rose-covered archway here msc += $boring:becomes larger for a moment msc += $boring:falls out of your pack msc += $boring:leaps into the air msc += $boring:body glows momentarily msc += $boring:shimmers violently msc += $boring:makes a popping sound msc ^= $boring:eyestalks stretch out msc += $boring:You feel off-balance for a moment msc ^= $boring:consumed by the void # Enemies taking damage msc += $good:You (batter|beat|bite|bludgeon|burn|carve|chomp|chop|claw|constrict|crush|cut|devastate|dice|drain|electrocute|eviscerate) msc += $good:You (flatten|fracture|freeze|grab|gouge|hammer|headbutt|hit|impale|kick|mangle|maul|nip|open|peck|perforate|pierce|pound) msc += $good:You (pulverise|pummel|punch|puncture|punish|scratch|sears|shatter|shave|shred|skewer|slash|slice|smack|sock) msc += $good:You (spit|splatter|squash|squeeze|stick|strike|tail-slap|tentacle-slap|thrash|thump|touch|trample|whack) msc += $good:(attacks|bites|burns|carves|chops|claws|constricts|crushes|cuts|drains|draws|electrocutes|engulfs) [^y] msc += $good:(eviscerates|freezes|gores|grabs|headbutts|hits|hits|kicks|mauls|melts|opens|pecks|perforates) [^y] msc += $good:(poisons|pulverises|pummels|punches|punctures|sears|shocks|shreds|skewers|slashes|slices|smacks) [^y] msc += $good:(spits|squashes|sticks|stings|strikes|tail-slaps|tentacle-slaps|touches|tramples|trunk-slaps) [^y] msc += $good:(twists|pulls at|violently warps) [^y] msc += $good:You smite msc ^= $good:Your fire elemental burns msc += $good:is flooded with distortional energies msc += $good:is electrocuted msc += $good:You draw life from msc += $good:is struck by the twisting air msc += $good:burns! msc += $good:Asterion shares his spectral weapon's damage msc += $good:is struck by lightning msc += $good:A guardian golem appears msc += $good:is covered in liquid flames msc += $good:is engulfed in msc += $good:Your.*tramples the msc += $good:The orb of electricity engulfs the msc += $good:The (.*hellfire|blast of flame|blast of lightning|blast of magma|explosion) engulfs [^y] msc += $good:The (explosion of.*fragments|explosion of spores|fiery explosion|fireball|ghostly fireball) engulfs [^y] msc += $good:The (great blast of fire|plume of ash|stinking cloud) engulfs [^y] msc += $good:is smitten msc += $good:struck by your spines msc += $good:There is a sudden explosion of sparks msc += $good:is drained msc += $good:You drain (her|his|its) (magic|power) msc += $good:You drain the msc += $good:Something (bites|hits) msc += $good:is blasted msc += $good:is burned by your radiant heat msc += $good:The boulder beetle smashes into the msc += $good:The golden flame engulfs msc += $good:The eldritch tentacle writhes msc ^= $good:The.*pierces through the msc += $good:Space (bends|warps horribly) around msc += $good:(convulses|writhes in agony) msc += $good:is splashed with acid msc += $good:You feel life coursing into your body msc += $good:is struck by lightning msc += $good:is burned by acid msc += $good:seems to burn from within msc += $good:Space warps around msc ^= $good:statue shatters msc += $good:Your eldritch tentacle slaps msc += $good:collides with msc += $good:slams into the # Non-damage combat messages msc += $positive:the.*corpse armour sloughs away msc += $positive:You grow two more msc += $positive:You draw.*blood msc += $positive:You feel.*less thirsty msc += $positive:You feel a lot less hungry msc += $positive:You.*devour msc += $positive:You pounce on msc += $positive:but is stunned by your will msc += $positive:Your rust devil corrodes msc += $positive:by your wave of power msc += $positive:is stunned by your will and fails to attack msc += $positive:The sticky flame splashes onto msc ^= $positive:Your orcs go into a battle-frenzy msc += $positive:falters in the face of your power msc += $positive:in retribution by your aura msc += $positive:Your slowness suddenly goes away msc ^= $positive:Your.*seems less confused msc += $positive:is no longer regenerating msc += $positive:You repair your equipment msc += $positive:You extend your infusion msc += $positive:You draw the Helm msc += $positive:You draw Dowsing msc += $positive:You shrug off the repeated paralysis msc ^= $positive:You begin infusing your attacks with magical energy msc += $positive:It gets dark msc += $positive:is outlined in light msc += $positive:A mana viper appears with a sibilant hiss msc += $positive:moth of wrath (goads|infuriates) your msc += $positive:Some water evaporates in the bright sunlight msc += $positive:You become one with your weapon msc += $positive:Your bond becomes stronger msc += $positive:A magical shield forms in front of you msc += $positive:Your attacks no longer feel as feeble msc += $positive:You feel odd msc += $positive:The shadowy forms in the deep grow still as others approach msc += $positive:You renew your portal msc += $positive:You begin teleporting projectiles to their destination msc += $positive:is no longer invulnerable msc += $positive:blocks its attack msc += $positive:sizzles in the rain msc += $positive:gets badly buffeted msc += $positive:Your legs become a tail as you enter the water msc += $positive:You feel a sudden desire to slay dragons msc += $positive:You feel weakened for a moment msc += $positive:Your stone body feels more resilient msc += $positive:You feel less vulnerable to hostile enchantments msc += $positive:You swoop lightly up into the air msc += $positive:You feel very comfortable in the air msc += $positive:The air around you leaps into flame msc += $positive:is knocked back by the great wave of water msc += $positive:Your.*wounds heal themselves msc += $positive:is recalled msc += $positive:You renew your shroud msc += $positive:One of your tentacles grows a vicious spike msc += $positive:A mana viper appears with a sibilant hiss msc += $positive:melts! msc += $positive:You extend your mandibles msc ^= $positive:Your?.*appears? unharmed msc += $positive:You finish merging with the rock msc += $positive:You gain the combat prowess of a mighty hero msc += $positive:shroud falls apart msc += $positive:Your.*glows blue msc += $positive:your mind becomes perfectly clear msc += $positive:You create a blast of noxious fumes! msc += $positive:Roots rise up to grasp you msc += $positive:is no longer moving.*quickly msc += $positive:You create a snake msc += $positive:apparition takes form in the air msc += $positive:The rubble rises up and takes form msc += $positive:You begin to abjure the creatures around you msc += $positive:You extend your aura of abjuration msc += $positive:A divine shield forms around you msc += $positive:Your attacks no longer feel as feeble msc += $positive:Your shroud bends.*attack away msc += $positive:illusion disappears in a puff of smoke msc += $positive:A beastly little devil appears in a puff msc += $positive:Your.*is no longer encased in ice msc += $positive:You deflect msc += $positive:The lightning arcs msc += $positive:is knocked back by the lance of force msc += $positive:is dazzled msc += $positive:is doused terribly msc += $positive:An electric hum fills the air msc += $positive:You summon a servant imbued with your destructive magic msc += $positive:You are suffused with power msc += $positive:The sheep.*panic msc += $positive:The sheep turns to a blind rush msc += $positive:Smoke pours from your nose msc += $positive:The trap is out of ammunition msc += $positive:You dart out from under the net msc += $positive:The manticore spikes snap loose msc += $positive:Your jumping spider.*pounces on the msc += $positive:You are unaffected msc += $positive:no longer looks unusually strong msc += $positive:The area is filled with flickering shadows msc += $positive:You block msc += $positive:flinches away msc += $positive:The.*is (deflected|repelled) msc += $positive:Your.*is no longer paralysed. msc += $positive:Your.*seems less confused msc += $positive:You feel less contaminated with magical energies msc += $positive:Your.*breaks free msc += $positive:You feel momentarily confused msc += $positive:That potion was really gluggy msc += $positive:You resist msc += $positive:You (easily|partially) resist msc += $positive:Your skin crawls msc += $positive:You draw out your weapon's spirit msc += $positive:You catch the msc += $positive:fails to defend (herself|himself|itself) msc += $positive:falters for a moment msc += $positive:You feel invigorated msc += $positive:flops around on dry land msc += $positive:You escape msc += $positive:glows a violent red msc += $positive:You emit a cloud msc += $positive:icy envelope dissipates msc += $positive:appears confused msc += $positive:looks drowsy msc += $positive:is caught in a (net|web) msc += $positive:struggles to get unstuck from the (net|web) msc += $positive:loses its grip on you msc += $positive:looks rather.*confused msc ^= $positive:The sentinel's mark upon you fades away msc += $positive:The lost soul (fades away|flickers out) msc += $positive:You turn into a creature of crystalline ice msc ^= $positive:The.*dark mirror aura disappears msc += $positive:is no longer berserk msc += $positive:You wake up msc += $positive:The grasping roots settle back into the ground msc += $positive:The forest abruptly stops moving msc += $positive:You feel more buoyant msc += $positive:You fly up into the air msc += $positive:You gasp with relief as air once again reaches your lungs msc += $positive:A film of ice covers your body msc += $positive:Your.*has recharged msc += $positive:you pull free of the water engulfing you msc += $positive:You feel a surge of unholy energy msc += $positive:your?.*stops? burning msc += $positive:begins to rapidly decay msc += $positive:Your possessions no longer seem quite so burdensome msc += $positive:You feel in control msc += $positive:You feel odd for a moment msc += $positive:suddenly stops moving msc += $positive:is poisoned msc += $positive:looks even sicker msc += $positive:A film of ice covers your body msc += $positive:is stunned! msc += $positive:is flash-frozen msc += $positive:seems to slow down msc += $positive:is moving more slowly msc += $positive:stops moving altogether msc += $positive:Your skin hardens msc += $positive:Your new body merges with your stone armour msc += $positive:gives you a mild electric shock msc += $positive:Eating msc += $positive:the sound returns msc += $positive:Your amulet of stasis gives you a mild electric shock msc += $positive:You finish eating msc += $positive:Your icy armour thickens msc += $positive:The naga ritualist's toxic aura wanes msc += $positive:Your.*pulls away from the web msc += $positive:A chill wind blows around you msc += $positive:You become transparent for a moment msc += $positive:is charmed msc += $positive:Your skin feels harder msc += $positive:Shadowy shapes form in the air around you msc += $positive:is burned terribly msc += $positive:[^y].*is frozen msc += $positive:You furiously retaliate msc += $positive:The scroll dissolves into smoke msc ^= $positive:Your.*reflects msc ^= $positive:You reflect msc += $positive:is no longer unusually agile msc += $positive:struggles to blink free from constriction msc += $positive:You pull the items towards yourself msc += $positive:the former slaves? thanks? you msc += $positive:Something gets caught in the net msc += $positive:[^y].*rots msc += $positive:the hog turns into a human msc += $positive:the hogs revert to their human forms msc += $positive:Your new body merges with your icy armour msc += $positive:You feel the strange sensation of being on two planes at once msc += $positive:A flood of magical energy pours into your mind msc += $positive:You feel the material plane grow further away msc += $positive:You momentarily phase out as.*passes through you msc += $positive:You feel less exhausted msc ^= $positive:Your.*(resist[^a]|resists|unaffected) msc += $positive:The flame cauterises the wound msc += $positive:the.*last head off msc += $positive:You carefully extract the manticore spikes from your body msc += $positive:You melt the msc += $positive:has finally been put to rest msc += $positive:begins to bleed from.*wounds msc += $positive:Your.*draws strength from msc += $positive:You feel yourself moving faster msc += $positive:looks sick msc += $positive:Your feet morph into talons msc += $positive:You grow a pair of large bovine horns msc += $positive:You extend your transformation msc += $positive:Your.*turns? into razor-sharp scythe blades? msc += $positive:You conjure a globe of magical energy msc += $positive:You imbue your battlesphere with additional charge msc += $positive:You feel resistant msc += $positive:You are no longer poisoned msc += $positive:looks frightened msc += $positive:The.*is outlined in light msc += $positive:You feel quick msc += $positive:You no longer feel sluggish msc += $positive:You feel odd for a moment msc += $positive:returns to your pack msc += $positive:Space distorts slightly along a thin shroud covering your body msc += $positive:You are covered in a thin layer of ice msc += $positive:You feel (clumsy|dopey|weak) for a moment msc += $positive:stops singing msc += $positive:and things crawl out msc += $positive:You feel more catlike msc += $positive:A crackling disc of dense vapour forms in the air msc += $positive:icy armour evaporates msc += $positive:Your.*looks invigorated msc += $positive:repels the curse msc += $positive:Yoink! You pull the item towards yourself msc += $positive:but delicious nonetheless msc += $positive:The disc of vapour around you crackles msc += $positive:turns into a zombie msc += $positive:You summon msc += $positive:hydra's last head off msc += $positive:You feel a.*surge of power msc += $positive:magic leaks into the air msc += $positive:You focus on the pain msc += $positive:Your.*darts out from under the net msc += $positive:struggles to escape constriction msc += $positive:submits to your will msc += $positive:You channel some magical energy msc += $positive:is caught in the net msc += $positive:struggles (against|to escape) the net msc += $positive:Your fit of retching subsides msc += $positive:Your magic seems less tainted msc += $positive:You finish butchering msc += $positive:You shudder from the blast and a jelly pops out msc += $positive:looks weaker msc += $positive:falls into the water msc += $positive:You fade into the shadows msc += $positive:life force is offered up msc += $positive:is calmed by your holy aura msc ^= $positive:You fade into invisibility msc ^= $positive:grand avatar fades into the ether msc ^= $positive:Your attacks are magically infused msc ^= $positive:You feel protected from missiles msc ^= $positive:You feel a little less hungry msc ^= $positive:Your.*is no longer moving slowly msc ^= $positive:You are no longer (entranced|glowing) msc ^= $positive:You feel as if something is helping you msc += $positive:appears in a shower of sparks msc += $positive:Malign forces permeate your being msc += $positive:A glowing mist starts to gather msc ^= $positive:begin to glow red msc ^= $positive:begin to glow brighter #msc += $verypositive: msc += $verypositive:You are bolstered by the flame msc ^= $verypositive:The.*zombie.*rots away msc += $verypositive:You feel buoyant msc ^= $verypositive:You feel very safe from missiles msc ^= $verypositive:You are no longer firmly anchored in space msc += $verypositive:Magical energy flows into your mind! msc ^= $verypositive:The terrible wounds on your body vanish --amulet of stasis msc += $verypositive:Your.*rumbles msc += $verypositive:You feel life flooding into your body msc += $verypositive:You feel purified msc += $verypositive:You feel more resilient msc += $verypositive:You get a glimpse of the first card msc += $verypositive:You turn into a swirling mass of dark shadows msc += $verypositive:You feel nimbler msc += $verypositive:the tentacle is hauled back through the portal msc += $verypositive:You feel more in control of your magic msc += $verypositive:releases its grip on you msc += $verypositive:You feel magically charged msc += $verypositive:You turn to flesh and can move again msc += $verypositive:Your magma supply has returned msc += mute:HP restored msc += mute:Magic restored msc += $verypositive:You (blow up|destroy|kill) msc += $verypositive:is blown up msc += $verypositive:dies msc += $verypositive:is destroyed msc += $verypositive:is killed msc += $verypositive:is incinerated msc += $verypositive:is devoured by a tear in reality msc += $verypositive:turns neutral msc += $verypositive:The spatial vortex dissipates msc += $verypositive:Your magical contamination has.*faded msc += $verypositive:drowns msc += $verypositive:The.*falls from the air msc += $verypositive:The.*simulacrum vapourises msc += $verypositive:more experienced msc ^= $verypositive:rots away and dies msc ^= $verypositive:You.*and break free msc += $verypositive:The web tears apart msc += $verypositive:You disentangle yourself msc += $verypositive:Saving game... please wait msc += $verypositive:You finish memorising msc += $verypositive:You may choose your destination msc += $verypositive:You feel yourself speed up msc += $verypositive:You feel stealthy msc += $verypositive:You feel less vulnerable to poison msc += $verypositive:Your skill with magical items lets you calculate the power of this device msc += $verypositive:You can move again msc += $verypositive:The fungal colony is destroyed msc ^= $verypositive:The starcursed mass shudders and is absorbed by its neighbour msc ^= $verypositive:The starcursed mass shudders and withdraws msc += $verypositive:You are no longer firmly anchored in space msc += $verypositive:Magic courses through your body msc += $verypositive:You have disarmed the trap msc += $verypositive:You are healed msc += $verypositive:Pain shudders through your arm msc += $verypositive:You slip out of the net msc += $verypositive:You break free from the net msc += $verypositive:Your life force is being protected msc += $verypositive:It is a scroll of recharging msc += $verypositive:is converted msc += $verypositive:It is a scroll of enchant msc += $verypositive:That put a bit of spring back into your step msc += $verypositive:You feel vaguely more buoyant than before msc += $verypositive:You feel (better|faster|mighty|much better|protected|refreshed) msc += $verypositive:You feel.* mighty all of a sudden msc += $verypositive:You feel.*agile all of a sudden msc += $verypositive:You feel aware of your surroundings msc += $verypositive:You detect (creatures|items) msc += $verypositive:You feel the corruption within you wane msc += $verypositive:You feel perceptive msc ^= $verypositive:You feel less confused msc += $verypositive:You feel a little better msc += $verypositive:You feel studious about msc += $verypositive:You feel telepathic msc += $verypositive:You feel your magic capacity increase msc += $verypositive:You feel the abyssal rune guiding you out of this place msc += $verypositive:You feel fantastic msc += $verypositive:Found.*altar msc += $verypositive:Found a one-way gate to the infinite horrors of the Abyss msc += $verypositive:Found a glowing drain msc += $verypositive:Found a gate leading back out of here msc += $verypositive:Found a hole to the Spider Nest msc += $verypositive:Found a frozen archway msc += $verypositive:Found an ice covered gate leading msc += $verypositive:Found a dark tunnel msc += $verypositive:Found a labyrinth entrance msc += $verypositive:Found a flagged portal msc += $verypositive:Found an exit through the horrors of the Abyss msc += $verypositive:Found a gateway leading out of the Abyss msc += $verypositive:Found a gateway leading deeper into the Abyss msc += $verypositive:Found a gate leading out of Pandemonium msc += $verypositive:Found a gate leading to another region msc += $verypositive:Found a gate to the Vaults msc += $verypositive:Found a gateway msc += $verypositive:Found a rocky tunnel leading out of this place msc += $verypositive:Found a portal to a secret trove of treasure msc += $verypositive:Found a magical portal msc += $verypositive:Found a flickering gateway to a bazaar msc += $verypositive:Found a one-way gate leading to the halls of Pandemonium msc += $verypositive:Found a portal leading out of here msc += $verypositive:Found.*staircase msc += $verypositive:Found.*(Accessories|Antiques|Boutique|Distillery|Elixirs|Emporium|shop|Smithy|store) msc += $verypositive:You feel your magical essence form a protective shroud around your flesh msc += $verypositive:You feel your.*returning msc += $verypositive:It is a scroll of brand weapon msc ^= $verypositive:Your.*seems to speed up msc += $verypositive:An interdimensional caravan has stopped on this level and set up a bazaar msc += $verypositive:Your demonic ancestry asserts itself msc += $verypositive:You feel (agile|clever|stronger) msc += $verypositive:You feel more protected from negative energy #Gaining positive mutations, or losing bad ones msc += $awesome:You feel more jittery msc += $awesome:You.*contain your magic power msc += $awesome:Acid begins to drip from your mouth msc += $awesome:You feel more resistant to cold msc += $awesome:You feel less vulnerable to cold msc += $awesome:Your fur grows into a thick mane msc += $awesome:Your magic regains its normal vibrancy msc += $awesome:Your thick fur grows shaggy and warm msc += $awesome:You feel more sure on your msc += $awesome:You feel breathless msc += $awesome:Your genes go into a fast flux msc += $awesome:You feel more resistant to heat msc += $awesome:A poisonous barb forms on the end of your tail msc += $awesome:Your wings grow larger and stronger msc += $awesome:You feel more spiritual msc ^= $awesome:You feel immune to rotting msc += $awesome:Your system.*accepts artificial healing msc += $awesome:You feel more resistant to hostile enchantments msc += $awesome:You feel completely energised by your suffering msc += $awesome:An ominous black mark forms on your body msc += $awesome:You feel a strange anaesthesia msc ^= $awesome:You feel resistant to heat msc += $awesome:You feel saturated with power msc += $awesome:You feel power rushing into your body msc += $awesome:Your blood runs red-hot msc += $awesome:Your feet have mutated into hooves msc ^= $awesome:You feel resistant to hostile enchantments msc += $awesome:You feel genetically immutable msc += $awesome:You feel power flowing into your body msc ^= $awesome:You feel more in touch with the powers of death msc ^= $awesome:You feel resistant to poisons? msc ^= $awesome:You feel resistant to (cold|fire) msc ^= $awesome:You feel very resistant to (cold|fire) msc += $awesome:You no longer feel vulnerable to (cold|fire) msc += $awesome:Your urge to (scream|yell) lessens msc += $awesome:One of your lower tentacles grows a sharp spike msc += $awesome:You regain control of your magic msc += $awesome:The horns on your head grow some more msc += $awesome:You feel less concerned about heat msc += $awesome:You smell fire and brimstone msc += $awesome:You begin to radiate miasma msc += $awesome:You feel able to eat a more balanced diet msc += $awesome:You feel genetically stable msc ^= $awesome:You feel a.*healthier msc += $awesome:You hunger for flesh msc += $awesome:You feel your life force and your magical essence meld msc ^= $awesome:You feel your magical essence form a protective shroud around your flesh msc += $awesome:You feel your magic shroud grow more resilient msc += $awesome:Your body becomes stretchy msc += $awesome:Your skin becomes partially translucent msc += $awesome:You feel less concerned about cold msc += $awesome:You feel cleansed msc += $awesome:You are surrounded by darkness msc += $awesome:Your skin functions as natural camouflage msc += $awesome:You begin to emit a foul stench of rot and decay msc += $awesome:You hunger for rotting flesh msc ^= $awesome:You feel energised by your suffering msc ^= $awesome:You feel even more energised by your suffering msc += $awesome:Your teeth lengthen and sharpen msc += $awesome:Your natural healing is strengthened msc += $awesome:Eyeballs grow over part of your body msc += $awesome:pseudopods.*grow msc += $awesome:Your body.*splits into a small jelly msc += $awesome:You begin to regenerate msc += $awesome:You begin to radiate repulsive energy msc += $awesome:Your repulsive radiation grows stronger msc += $awesome:Your body's shape seems more normal msc += $awesome:You feel the presence of a demonic guardian msc += $awesome:Your guardian grows in power msc += $awesome:Your scales feel tougher msc += $awesome:Your teeth are very long and razor-sharp msc += $awesome:You feel negative msc += $awesome:You begin to heal more quickly msc += $awesome:You feel healthy msc += $awesome:You feel a little more calm msc += $awesome:You feel nature experimenting on you msc += $awesome:You feel a strange attunement to the structure of the dungeons msc += $awesome:Your mouth lengthens and hardens into a beak msc += $awesome:Fur sprouts all over your body msc += $awesome:Your attunement to dungeon structure grows msc += $awesome:You slip into the darkness of the dungeon msc += $awesome:You slip further into the darkness msc += $awesome:Your thoughts seem clearer msc += $awesome:A wave of death washes over you msc += $awesome:The wave of death grows in power msc += $awesome:Sharp spines emerge from msc += $awesome:Your vision sharpens msc ^= $awesome:Your urge to shout disappears msc ^= $awesome:scales grow over part of your msc ^= $awesome:scales spread over more of your msc += $awesome:scales cover you.*completely msc += $awesome:You are partially covered in thin metallic scales msc ^= $awesome:Something appears at your feet msc ^= $awesome:Something appears before you msc += $awesome:Your metabolism slows msc += $awesome:Your bones become.*less dense msc += $awesome:You feel (more robust|robust|very robust) msc += $awesome:You feel more energetic msc += $awesome:You feel healthier msc += $awesome:You feel insulated msc += $awesome:Your (fingernails|toenails) (lengthen|sharpen) msc += $awesome:Your hands twist into claws msc += $awesome:Your feet stretch into talons msc += $awesome:Your feet thicken and deform msc ^= $awesome:A pair of antennae grows on your head msc ^= $awesome:The antennae on your head grow some more msc ^= $awesome:There is a nasty taste in your mouth for a moment msc ^= $awesome:You feel stable msc += $awesome:Large bone plates (cover|grow|spread) msc += $awesome:Your throat feels hot msc += $awesome:Your teeth grow very long and razor-sharp msc ^= $awesome:You feel less vulnerable to heat msc ^= $awesome:You no longer feel vulnerable to heat msc ^= $awesome:You feel a little less angry msc += $awesome:Your natural camouflage becomes more effective # Other rare and awesome stuff msc ^= $awesome:seems mollified msc += $awesome:Your surroundings flicker for a moment msc += $awesome:You feel magically purged msc += $awesome:word of recall is interrupted msc ^= $awesome:Sif Muna is protecting you from the effects of miscast magic msc ^= $awesome:You are shrouded in an aura of darkness msc ^= $awesome:Kikubaaqudgha is protecting you from necromantic miscasts and death curses msc += $awesome:You are surrounded by a storm msc += $awesome:You sense an aura of extreme power msc += $awesome:Your.*shines brightly msc ^= $awesome:The Shining One will now bless your weapon at an altar msc += $awesome:the more Ashenzari supports your skills msc += $awesome:Ashenzari helps you to reconsider your skills msc ^= $awesome:You and your allies can gain power from killing the unholy and evil msc ^= $awesome:A divine halo surrounds you msc ^= $awesome:You feel resistant to extremes of temperature msc += $awesome:There is a labyrinth entrance here msc += $awesome:There is an exit through the horrors of the Abyss here msc += $awesome:You adapt resistances upon receiving elemental damage msc += $awesome:The storm surrounding you grows powerful enough to repel missiles msc += $awesome:There is a magical portal here msc ^= $awesome:There is a gateway to a ziggurat here msc ^= $awesome:Fruit sprouts up around you msc ^= $awesome:A sheep catches fire msc += $awesome:plants?.*grows? in the rain msc += $awesome:You are restored by drawing out deep reserves of power within msc ^= $awesome:Beogh aids your use of armour msc ^= $awesome:Vehumet is extending the range of your destructive magics msc += $awesome:You feel controlled for a moment msc ^= $awesome:There is a gate to the Realm of Zot here msc += $awesome:A monocle briefly appears msc += $awesome:You feel an empty sense of dread msc += $awesome:That felt like a moral victory msc += $awesome:A shaft materialises beneath you msc += $awesome:You draw Experience msc += $awesome:You draw the Mercenary msc += $awesome:Your body is suffused with negative energy msc ^= $awesome:Qazlal will now grant you protection from an element of your choosing msc ^= $awesome:Kikubaaqudgha is protecting mute from unholy torment msc ^= $awesome:Kikubaaqudgha will now enhance your necromancy at an altar msc += $awesome:You rejoin the land of the living msc += $awesome:The sixfirhy explodes in a shower of sparks msc += $awesome:With a swish of your cloak msc += $awesome:Some fountains start gushing blood msc += $awesome:A genie takes form and thunders\: \"Choose your reward msc += $awesome:You turn into a fearsome dragon msc += $awesome:You turn into a living statue of rough stone msc += $awesome:You manage to scramble free msc += $awesome:Your.*(rod|wand).*glows for a moment msc += $awesome:You sense traps nearby msc += $awesome:You now sometimes bleed smoke when heavily injured by enemies msc += $awesome:Your shadow now sometimes tangibly mimics your actions msc += $awesome:You sense items nearby msc += $awesome:Suddenly you stand beside yourself msc += $awesome:You feel somewhat nimbler msc += $awesome:A mystic portal forms msc += $awesome:You may select the general direction of your translocation msc += $awesome:It is briefly surrounded by shifting shadows msc += $awesome:The deck has exactly five cards msc += $awesome:You are no longer firmly anchored in space msc += $awesome:There is a gate to the Realm of Zot here msc += $awesome:A terribly searing pain shoots up your msc += $awesome:Your strength has recovered msc += $awesome:A flood of memories washes over you msc ^= $awesome:Vehumet offers you knowledge of msc ^= $awesome:With a loud hiss the gate opens wide msc += $awesome:You have collected all the runes msc += $awesome:a hidden mimic gets squished msc += $awesome:Now go and win msc += $awesome:You feel knowledgeable msc += $awesome:The arc blade crackles to life msc ^= $awesome:There is a gate leading out of Pandemonium here msc += $awesome:You feel powerful msc ^= $awesome:You can now msc += $awesome:joins your ranks msc += $awesome:Your magic begins regenerating once more msc += $awesome:Your.*is now the msc += $awesome:There is a glowing drain msc ^= $awesome:There is a gateway leading out of the Abyss here msc += $awesome:There is a sand-covered staircase here msc += $awesome:Your.*crackles with electricity msc ^= $awesome:This is a scroll of acquirement msc += $awesome:You pick up the.*rune msc += $awesome:You now have.*rune msc += $awesome:Your.*skill increases msc += $awesome:You have reached level msc += $awesome:Your experience leads to an increase in your attributes msc ^= $awesome:There is a frozen archway here msc ^= $awesome:There is a dark tunnel here msc ^= $awesome:There is a flagged portal here msc ^= $awesome:There is a portal to a secret trove of treasure here msc ^= $awesome:There is a flickering gateway to a bazaar here msc ^= $awesome:There is an entrance to.*on this level msc += $awesome:3 runes! That's enough to enter the realm of Zot msc += $awesome:The lock glows eerily msc += $awesome:Heavy smoke blows from the lock msc += $awesome:You have escaped! msc += $awesome:rune into the lock msc += $awesome:With a loud hiss the gate opens wide msc += $awesome:You sensed msc += $awesome:You are wearing\: msc += $awesome:With a loud hiss the gate opens wide msc += $awesome:The shadows inhabiting this place fade forever msc += $awesome:You have identified the last msc += $awesome:You feel a craving for the dungeon's cuisine msc ^= $awesome:Lugonu will now corrupt your weapon msc ^= $awesome:You now have enough gold to petition Gozag for potion effects msc ^= $awesome:You now have enough gold to fund merchants seeking to open stores in the dungeon # Weapon brands/enchantment msc ^= $awesome:A searing pain shoots up your msc += $awesome:You hear the crackle of electricity msc += $awesome:You see sparks fly msc += $awesome:Your hands tingle msc += $awesome:Your claws tingle msc += $awesome:You feel a dreadful hunger msc ^= $awesome:Your.*glows (green|purple|red|.*yellow) msc += $awesome:briefly pass through it before # You or an ally takes damage msc ^= $negative:Your.*writhes in agony msc += $negative:you trip and fall down the stairs msc += $negative:You are engulfed in blessed fire msc ^= $negative:collides with you msc += $negative:The fountain mimic splashes you msc += $negative:Your body is twisted very painfully msc += $negative:crushes you msc ^= $negative:drains your msc += $negative:Your body is distorted in a weirdly horrible way msc ^= $negative:Your.*is struck by the twisting air msc += $negative:You are constricted msc ^= $negative:Your.*is blasted msc += $negative:Electricity courses through your body msc ^= $negative:Your.*is struck by lightning msc += $negative:You are struck by lightning msc += $negative:silver sears your? msc += $negative:You draw magical energy from your own body msc += $negative:Rocks fall onto you out of nowhere msc += $negative:You are engulfed in raging winds msc ^= $negative:Your.*convulses msc += $negative:You are struck by the briar patch's thorns msc += $negative:You feel like your blood is boiling msc += $negative:The magical storm engulfs you msc += $negative:The acid blast engulfs you msc += $negative:starcursed mass engulfs you msc += $negative:The pyre of ghostly fire engulfs you msc += $negative:Your body is flooded with distortional energies msc += $negative:You are caught in a strong localised spatial distortion msc ^= $negative:The Shining One blasts you with cleansing flame msc += $negative:You are struck by lightning msc += $negative:You are caught in an extremely strong localised spatial distortion msc += $negative:You are blasted with searing flames msc += $negative:Your.*suffers a backlash msc ^= $negative:Your.*is smitten msc += $negative:You are blasted with fire msc ^= $negative:Your.*is engulfed in msc ^= $negative:A huge blade swings out and slices into your? msc += $negative:Flames sear your flesh msc += $negative:A wave of violent energy washes through your body msc += $negative:You are caught in a localised spatial distortion msc ^= $negative:Heat is drained from your body msc += $negative:Energy rips through your body msc += $negative:You feel you are being watched by something msc += $negative:Unholy energy fills the air msc += $negative:You are caught in a localised field of spatial distortion msc += $negative:The ghost moth stares at you msc += $negative:Your ice beast melts msc ^= $negative:burns you msc ^= $negative:The poison in your system burns msc += $negative:Your.*burn msc += $negative:draws from the surrounding life force msc += $negative:The boulder beetle smashes into you msc += $negative:You feel very cold msc ^= $negative:The.*pierces through (you|your) msc ^= $negative:The walls? burns? you msc ^= $negative:Your.*is blown up msc += $negative:The throwing net hits your msc += $negative:Your body is suffused with distortional energy msc += $negative:constricts your? msc += $negative:(bites|burns|claws|freezes|gores|gores|headbutts|hits|kicks|pecks|pecks|poisons|punches) your? msc += $negative:(shocks|skewers|slaps|smites|stings|tail-slaps|tentacle-slaps|touches|tramples|trunk-slaps) your? # Thanks killer klowns msc += $negative:(kneecaps|defenestrates|elbows|flogs|headlocks|pinches|pokes|pounds|prods|squeezes|strangle-hugs|teases|tickles|trip-wires|wrestles) your? msc += $negative:Your.*burned by acid msc += $negative:Your?.*is struck by the.*spines msc += $negative:Your spectral weapon shares its damage msc += $negative:The.*begins to radiate msc += $negative:The.*toxic radiance grows msc += $negative:Your.*loses its grip msc += $negative:The water swirls and strikes you msc += $negative:Your.*is knocked back msc += $negative:The shock serpent's electric aura discharges violently msc += $negative:The lightning shocks msc += $negative:The tentacled starspawn engulfs you msc += $negative:The.*ugly thing engulfs you msc ^= $negative:Your life force is offered up msc ^= $negative:The (.*hellfire|blast of flame|blast of lightning|blast of magma|explosion) engulfs your? msc ^= $negative:The (explosion of.*fragments|explosion of spores|fiery explosion|fireball|ghostly fireball) engulfs your? msc ^= $negative:The (great blast of fire|plume of ash|stinking cloud|blast of energy) engulfs your? msc += $negative:Pain shoots through your body msc += $negative:Your.*is flash-frozen msc += $negative:You writhe in agony msc += $negative:you feel sick msc += $negative:Something smites you msc ^= $negative:The air twists around and.*strikes you msc += $negative:You are hit by a branch msc += $negative:You are caught in an explosion of flying shrapnel msc += $negative:You are hit by flying rocks msc += $negative:You slam into msc += $negative:You collide with msc ^= $negative:strikes at you from the darkness msc += $negative:Your?.*burned terribly msc += $negative:covered in liquid flames msc += $negative:You are blasted with ice msc += $negative:Your.*seems to slow down msc += $negative:You are electrocuted msc += $negative:and unravels at your touch msc += $negative:You are struck by the.*spines msc += $negative:The water rises up and strikes you msc += $negative:The torrent of lightning arcs to you msc += $negative:A root smacks your msc += $negative:The eye of draining stares at you msc += $negative:The (great icy blast|orb of electricity|noxious blast) engulfs you msc += $negative:The barbed spikes dig painfully into your body as you move msc += $negative:You are engulfed in (a cloud of scalding steam|flames|freezing|freezing vapours) msc += $negative:You are engulfed in (ghostly flame|negative energy|noxious fumes|poison gas|roaring flames) msc += $negative:A root smacks you from below msc += $negative:Ka-crash msc += $negative:You are frozen msc ^= $negative:draws life force from you msc += $negative:You have a terrible headache msc += $negative:Your damage is reflected back at you msc += $negative:Your body is twisted painfully msc += $negative:Your scythe-like blades burn msc ^= $negative:Your.*is (burned by|splashed with) acid msc += $negative:Your.*is constricted msc += $negative:The freed slave is burned by acid msc += $negative:Something.*your msc += $negative:snaps closed at you msc += $negative:headbutts you! msc += $negative:engulfs your msc += $negative:You are blasted with magical energy msc += $negative:The large rock crashes through you msc += $negative:You are blasted! msc += $negative:is hit by a branch msc += $negative:The wandering mushroom releases spores at your? #monster resists msc += $danger:completely resists msc += $warning:resists # Text describing ranged attacks and spells msc ^= $takesaction:chants a haunting song msc += $takesaction:You release an incredible blast of power in all directions msc += $takesaction:calls upon its god to speed up msc += $takesaction:You create a blast msc += $takesaction:The ophan calls forth blessed flames msc += $takesaction:You exhale msc += $takesaction:You enter the passage of Golubria msc += $takesaction:You conjure a prism of explosive energy msc += $takesaction:A raging storm of fire appears msc += $takesaction:Sojobo summons a great blast of wind msc += $takesaction:A fierce wind blows from the fan msc ^= $takesaction:Rupert roars wildly at you msc += $takesaction:A fierce wind blows msc += $takesaction:The wizard shimmers violently msc += $takesaction:releases spores msc += $takesaction:The giant eyeball stares at you msc += $takesaction:You begin recalling your allies msc += $takesaction:You begin to radiate toxic energy msc += $takesaction:The wretched star glows turbulently msc += $takesaction:You begin to meditate on the wall msc += $takesaction:You dig through the rock wall msc += $takesaction:You ignite the poison in your surroundings msc += $takesaction:You attempt to give life to the dead msc ^= $takesaction:hurls a stone arrow msc += $takesaction:weaves a glowing orb of energy msc += $takesaction:spins a strand of pure energy msc += $takesaction:Aizul coils himself and waves his upper body at you msc ^= $takesaction:The royal jelly spits out msc ^= $takesaction:calls upon Beogh to heal msc ^= $takesaction:prays to Beogh msc ^= $takesaction:calls down the wrath of msc ^= $takesaction:invokes the aid of Beogh msc += $takesaction:utters an invocation to Beogh msc += $takesaction:shining eye gazes msc += $takesaction:orb of fire glows msc += $takesaction:orb of fire emits msc += $takesaction:utters an invocation to its god msc += $takesaction:offers its life energy for powerful magic msc += $takesaction:utters a dark prayer and points at you msc += $takesaction:waves its arms in wide circles msc += $takesaction:is infused with unholy energy msc += $takesaction:shambling mangrove reaches out with a gnarled limb msc += $takesaction:You jump-attack msc += $takesaction:The injured rakshasa weaves a defensive illusion msc += $takesaction:Mara seems to draw the.*out of itself msc += $takesaction:Mara shimmers msc += $takesaction:Your battlesphere fires msc += $takesaction:curse skull calls on the powers of darkness msc += $takesaction:curse skull rattles its jaw msc += $takesaction:Your shadow mimicks your spell msc += $takesaction:calls down the wrath of its god upon you msc += $takesaction:invokes the aid of its god against you msc += $takesaction:rakshasa weaves an illusion msc += $takesaction:coils itself and waves its upper body at you msc += $takesaction:casts a spell msc += $takesaction:You breathe a msc ^= $takesaction:You draw life from your surroundings msc += $takesaction:You step out of the flow of time msc += $takesaction:You can feel time thicken for a moment msc += $takesaction:The chunk of flesh you are holding crumbles to dust msc += $takesaction:flesh is ripped from the corpse msc += $takesaction:The flow of time bends around you msc += $takesaction:You start singing a song of slaying msc += $takesaction:The disc erupts in an explosion of electricity! msc += $takesaction:and something leaps out msc += $takesaction:You assume a fearsome visage msc ^= $takesaction:Asterion utters an invocation to Makhleb msc ^= $takesaction:Asterion conjures a destructive force in the name of Makhleb msc ^= $takesaction:wizard howls an incantation msc ^= $takesaction:draws from the surrounding life force msc ^= $takesaction:Gastronok chants a spell msc ^= $takesaction:(breathes|spits).*at msc += $takesaction:You conjure a mighty blast of ice msc += $takesaction:conjures a mighty blast of ice msc ^= $takesaction:Your spellforged servitor (casts|conjures|launches) msc += $takesaction:You reach into the bag msc += $takesaction:You gaze into the crystal ball msc += $takesaction:Your jumping spider leaps msc ^= $takesaction:ice dragon breathes frost msc ^= $takesaction:points at you and mumbles some strange words msc += $takesaction:(fires|shoots|throws) [^n] msc += $takesaction:You (fire|shoot|throw) msc += $takesaction:You magically throw msc += $takesaction:(conjures|fires|gestures|plays a|radiates) msc ^= $takesaction:mumbles some strange (prayers|words) msc ^= $takesaction:spriggan berserker (invokes|prays to|utters an invocation to) Trog msc ^= $takesaction:calls down the wrath of the Shining One msc += $takesaction:casts a spell.*floats close msc += $takesaction:offers itself to Yredelemnul msc ^= $takesaction:launches metal splinters at you msc += $takesaction:(Angry insects surge|Agitated ravens fly) out from beneath the msc ^= $takesaction:begins absorbing vital energies msc ^= $takesaction:calls forth a grand avatar msc ^= $takesaction:exhales a fierce blast of wind msc ^= $takesaction:curls into a ball and starts rolling msc ^= $takesaction:You open the lid... msc ^= $takesaction:jumps down from its now dead mount msc ^= $takesaction:swoops through the air toward you msc ^= $takesaction:jumping spider pounces on msc ^= $takesaction:jumping spider leaps msc += $takesaction:manticore flicks its tail msc += $takesaction:You begin to abjure the creatures around you msc ^= $takesaction:The golden eye blinks at you msc ^= $takesaction:Frances chants phrases taken from a Devil's mouth msc ^= $takesaction:Frances screams a word of power msc ^= $takesaction:Frances whispers indecipherable words msc ^= $takesaction:Frances mutters in a terrible tongue msc ^= $takesaction:activates a sealing rune msc ^= $takesaction:offers up its power msc += $takesaction:You warp the flow of time around you msc += $takesaction:summons msc += $takesaction:great orb of eyes gazes at msc += $takesaction:You radiate an aura of cold msc += $takesaction:Space collapses on itself with a satisfying crunch # Gods performing actions msc += $godaction:You reveal the great annihilating truth to your foes msc ^= $godaction:Dithmenos does not appreciate your starting fires msc += $godaction:Beogh throws an implement of electrocution at you msc += $godaction:Beogh throws implements of electrocution at you msc += $godaction:Beogh sends forth an army of orcs msc += $godaction:you feel ready to understand msc += $godaction:You feel a surge of divine interest msc += $godaction:(Ashenzari|Beogh|Cheibriados|Dithmenos|Elyvilon|Fedhas|Gozag|Igni Ipthes|Jiyva|Kikubaaqudgha|Lugonu) msc += $godaction:(Makhleb|Nemelex Xobeh|Okawaru|Qazlal|Sif Muna|The Shining One|Trog|Vehumet|Xom|Yredelemnul|Zin[^g]) msc ^= $godaction:(Ashenzari|Beogh|Cheibriados|Dithmenos|Elyvilon|Fedhas|Gozag|Igni Ipthes|Jiyva|Kikubaaqudgha|Lugonu) says msc ^= $godaction:(Makhleb|Nemelex Xobeh|Okawaru|Qazlal|Sif Muna|The Shining One|Trog|Vehumet|Xom|Yredelemnul|Zin[^g]) says msc ^= $godaction:Your divine halo returns msc += $godaction:is distracted by the nearby gold msc += $godaction:soul is now ripe for the taking msc += $godaction:sets up shop in the Dungeon msc ^= $godaction:You redirect msc ^= $godaction:You feel protected from physical attacks msc ^= $godaction:You feel protected from cold msc ^= $godaction:You feel protected from fire msc ^= $godaction:You feel protected from electricity msc += $godaction:resistances upon receiving elemental damage msc += $godaction:A storm cloud blasts the area with cutting wind msc += $godaction:A blizzard blasts the area with ice msc += $godaction:Magma suddenly erupts from the ground msc ^= $godaction:Xom calls msc += $godaction:The storm around you weakens msc += $godaction:The ground shakes violently msc += $godaction:The storm around you strengthens msc += $godaction:due to Igni's heat msc += $godaction:A mighty gale blasts forth msc += $godaction:A fiery fortress appears around you! msc += $godaction:is consumed in a column of flame msc += $godaction:The toadstool can now pick up its mycelia and move msc += $godaction:Slime for the Slime God msc ^= $godaction:Cheibriados rebukes [^y] msc ^= $godaction:You hear Xom msc ^= $godaction:Go forth and redecorate msc += $godaction:This is a.*sacrifice msc ^= $godaction:Xom.*touches msc ^= $godaction:You need some minor msc ^= $godaction:Let me alter your msc ^= $godaction:Xom complains about the scenery msc ^= $godaction:Xom howls with laughter msc ^= $godaction:This place needs a little more atmosphere msc ^= $godaction:The area is suffused with divine lightning msc ^= $godaction:Let's go for a ride msc ^= $godaction:Xom momentarily opens a gate msc ^= $godaction:Where it stops msc ^= $godaction:\"First here\, now there\.\" msc ^= $godaction:\"Over there now!\" msc ^= $godaction:Serve the toy\, my child msc ^= $godaction:Fight to survive\, mortal msc ^= $godaction:Xom opens a gate msc ^= $godaction:Xom slaps you with msc ^= $godaction:You hear crickets chirping msc ^= $godaction:Get over here msc ^= $godaction:Go forth and destroy msc ^= $godaction:Xom laughs nastily msc ^= $godaction:Everything around seems to assume a strange transparency msc ^= $godaction:You feel watched msc ^= $godaction:The walls suddenly lose part of their structure msc ^= $godaction:You are now a BORING thing msc ^= $godaction:Xom makes a sudden noise msc ^= $godaction:Xom roars with laughter msc ^= $godaction:You feel someone pinching you\. As you turn\, you see no one msc ^= $godaction:\"Try this\.\" msc ^= $godaction:\"Whee!\" msc ^= $godaction:\"Catch!\" msc ^= $godaction:\"Here.\" msc ^= $godaction:\"Boo!\" msc ^= $godaction:\"Tag\, you\'re it!\" msc ^= $godaction:\"Boring in life\, Boring in death\" msc ^= $godaction:\"This might be better!\" msc ^= $godaction:\"I like them better like this\.\" msc ^= $godaction:\"Heh heh heh\.\.\.\" msc ^= $godaction:\"Burn\, baby\, burn!\" msc ^= $godaction:\"Time to have some fun!\" msc ^= $godaction:\"Have a taste of chaos\, mortal\.\" msc ^= $godaction:\"See what I see\, my child!\" msc ^= $godaction:\"Just a minor improvement\.\.\.\" msc ^= $godaction:\"Hum-dee-hum-dee-hum\.\.\.\" msc ^= $godaction:\"There\, this looks better\.\" msc ^= $godaction:\"You have grown too confident for your meagre worth\.\" msc ^= $godaction:\"Take this token of my esteem\.\" msc ^= $godaction:\"Take this instrument of something!\" msc ^= $godaction:\"See what I see\, my child!\" msc ^= $godaction:\"What!\? Thats's it\?!\"c msc ^= $godaction:\"Serve the (mortal|toy)\, my (child|children)!\" msc ^= $godaction:Let\'s see if it\'s strong enough to survive yet # Interface Messages - These shouldn't take any turns msc += $interface:You cannot read scrolls msc += $interface:You cannot drink potions msc += $interface:too exhausted to msc += $interface:There are no objects that can be picked up here msc += $interface:Calm down first msc += $interface:You enter a permanent teleport trap msc += $interface:too cloudy to do that here msc += $interface:A powerful magic interferes with the creation of the passage msc += $interface:You cannot apport that msc += $interface:The film of ice won't work on stone msc += $interface:You refuse to eat that rotten meat msc += $interface:You see nothing there to enslave the soul of msc += $interface:There isn't anything that you can close there msc += $interface:Choose some type of armour to enchant msc += $interface:You can't place the prism on a creature msc += $interface:You are too depleted to cast spells recklessly msc += $interface:It's stuck to you msc += $interface:You're in a travel-excluded area msc += $interface:You are unable to make a sound msc += $interface:Choose an unidentified item msc += $interface:There is nothing here that can be animated msc += $interface:No.*are visible msc += $interface:No evolvable flora in sight msc += $interface:You must target a plant or fungus msc += $interface:No target in range msc += $interface:This is a.*deck msc += $interface:No exploration algorithm can help you here msc += $interface:You cannot walk through the dense trees msc += $interface:This wall is too hard to dig through msc += $interface:You can't dig through that msc += $interface:You are already wielding that msc += $interface:There isn't anything suitable to butcher here msc ^= $interface:Something interferes with your magic msc += $interface:You can only heal others! msc += $interface:You are already wielding that msc += $interface:You don't know.*spells? msc += $interface:That is presently inert msc += $interface:That isn't a deck msc += $interface:Reset throwing quiver to default msc += $interface:You can't memorise that many levels of magic yet msc += $interface:You aren't wielding a weapon msc += $interface:You'd need your.*free msc += $interface:I'll put part of them outside for you msc += $interface:You're in a travel-excluded area\, stopping explore msc += $interface:There is a passage of Golubria here msc += $interface:you can't auto-travel out of here msc += $interface:waypoint msc += $interface:You aren't in the Abyss msc += $interface:You haven't found any runes yet msc += $interface:This weapon is holy and will not allow you to wield it msc += $interface:Huh\? msc += $interface:You can't drink msc += $interface:You cannot cast that spell in your current form msc ^= $interface:is stuck to you msc += $interface:is melded into your body msc ^= $interface:Your.*feels? slithery msc += $interface:You can't wear anything in your present form msc += $interface:You're too inexperienced to learn that spell msc += $interface:You're already wearing two cursed rings msc += $interface:You need a rune to enter this place msc ^= $interface:There is an ice covered gate leading back out of here here msc += $interface:The bosom of this dungeon contains the most powerful artefact msc += $interface:Clearing travel trail msc += $interface:Your pack is full msc += $interface:You can't pick everything up msc += $interface:Could not pick up an item msc += $interface:You can't carry that many items msc += $interface:You enter the Abyss msc += $interface:You enter the halls of Pandemonium msc += $interface:This wand has msc += $interface:That is beyond the maximum range msc += $interface:You can't (drink|read) that msc += $interface:You cannot shoot.*while held in a net msc += $interface:You're already here msc += $interface:You can't do that msc += $interface:Cleared annotation msc += $interface:Your cursed.*is stuck to you msc += $interface:You have no means to grasp a wand firmly enough msc += $interface:Choose a valid weapon msc += $interface:No previous command msc += $interface:You sense a monster msc += $interface:Welcome msc += $interface:There is a.*trap here msc += $interface:There is a.*(entrance|staircase).*here msc += $interface:That item cannot be evoked msc += $interface:Please enjoy your stay msc += $interface:You now have enough gold to buy msc += $interface:Showing terrain only msc += $interface:Returning to normal view msc += $interface:Done exploring msc += $interface:You pace your travel speed to your slowest ally msc += $interface:The water rises up and takes form msc += $interface:The winds coalesce and take form msc += $interface:The.*answers the.*call msc += $interface:You're too full msc += $interface:Your memorisation is interrupted msc += $interface:surroundings become eerily quiet msc += $interface:You fall into the shallow water msc += $interface:an escape hatch msc += $interface:You stop dropping stuff msc += $interface:melds into your body msc += $interface:Clearing level map msc += $interface:There's nothing close enough msc += $interface:Autopickup is now msc += $interface:Hurry and find it before the portal msc += $interface:You slide downwards msc += $interface:Can't find anything matching that msc += $interface:No item to drop msc += $interface:you feel a great hunger. Being not satiated msc += $interface:You finish taking off msc += $interface:appears from thin air msc += $interface:You feel more attuned to msc += $interface:(Attack!|Fall back!|Follow me!|Stop fighting!|Wait here!) msc += $interface:You have finished your manual msc += $interface:Expect minor deviation msc += $interface:You have no appropriate body parts free msc += $interface:Your cloak prevents you from wearing the armour msc ^= $interface:You finish putting on msc += $interface:You can't carry that much weight msc += $interface:isn't holding a weapon that can be rebranded msc += $interface:You feel the dreadful sensation subside msc += $interface:You feel an oppressive heat about you msc += $interface:You travel at normal speed msc += $interface:Your reserves of magic are already full msc += $interface:There are no corpses nearby msc += $interface:No target in view msc += $interface:It (is|was) a (potion|scroll) msc += $interface:Aborting msc += $interface:Created macro msc += $interface:Saving macro msc += $interface:you cannot use those schools of magic # 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|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 --These don't seem to work, maybe a bug? msc ^= boring:disappears without a glow msc ^= boring:disappears without a sign msc ^= boring:disappears into the void msc ^= boring:glow with a rainbow of weird colours and disappear msc ^= boring:glows slightly and disappears msc ^= boring:is slowly consumed by flames msc ^= boring:slowly burns to ash msc ^= boring:slowly crumbles into the ground msc ^= boring:shimmers? and breaks? into pieces msc ^= boring:stares at you suspiciously for a moment msc += boring:trembles before you msc += boring:You feel mildly nauseous msc += boring:Multicoloured lights dance around message_colour += mute:you're not good enough to have a special ability message_colour += mute:@corpse ############# # Autofight # ############# # Do/don't throw stuff when autofighting autofight_throw = true autofight_throw_nomove = true # If true. items are autofired stopping at the monsters feet (same as firing using .) autofight_fire_stop = true fire_order = launcher #fire_order = launcher, return #fire_order += rock, javelin, tomahawk, stone # Prevent me from tab-fighting to death by keeping this high autofight_stop = 75 # Enables automagic attacks automagic_enable = true automagic_slot = u # Percentage of MP to stop automagic at automagic_stop = 40 # If set to true, resort to melee when automagic_stop is active automagic_fight = false ############## # Autopickup # ############## # Used # $ = gold # ? = scroll # ! = potion # : = book # " = jewellery # / = wand # % = food # } = miscellaneous # \ = rods # | = staves : if (you.god():find("Trog")) then autopickup += $?!:"/%}\ : else autopickup += $?!:"/%}\| : end # Unused # ) = weapon # ( = missiles # [ = armour # X = corpses # Allows easily dropping multiple items drop_mode += multi # Always show the full list of items when you pick up a stack pickup_mode += multi # Allows followers to pick up ANYTHING (take care not to lose artefacts) default_friendly_pickup += all # Set Alias for Autopickup Exceptions ae := autopickup_exceptions ae += useless_item, dangerous_item, evil_item # Don't pick up potion(s) of [coagulated] blood if you are not a vampire : if you.race() ~= "Vampire" then ae += potions? of.*blood : end # Autopickup artefacts ae += ','')) end -- Uses the getMonsterList and escape functions above function SpoilerAlert() local mobwarnings = {} --Add dangerous monsters to this table by using their name as the key, (as a lua pattern) --Set the value to the warning string you want to display, where it will formatted like: --"[The] Monster_Name Warning_Message" --If the Monster_Name includes a capital letter, the message will be prepended with [The] local xl = you.xl() local no_rP = you.res_poison() == 0 local no_rF = you.res_fire() == 0 local no_rC = you.res_cold() == 0 local no_rN = you.res_draining() == 0 local no_rE = you.res_shock() == 0 local no_Sustab = false local no_rMut = you.res_mutation() == 0 local you_are_flying = you.flying() local no_see_invis = not you.see_invisible() local no_rCorr = not you.res_corr() local race = you.race() local form = you.transform() local you_are_undead = (race:find("ghoul") or race:find("vampire") or race:find("mummy") or form:find("lich")) local you_rTorment = (race:find("ghoul") or race:find("mummy") or form:find("lich")) --crawl.mpr(string.format("you.res_mutation() is: %s", you.res_mutation())) --crawl.mpr(string.format("no_rMut is: %s", no_rMut and "True" or "False")) if xl < 3 then if no_rP then mobwarnings["giant mite"] = "can poison!" end mobwarnings["ball python"] = "can constrict!" mobwarnings["giant cockroach"] = "is fast!" mobwarnings["giant gecko"] = "is fast!" mobwarnings["jackal"] = "is fast!" end if xl < 5 then if no_rP then mobwarnings["adder"] = "is fast and can poison!" mobwarnings["scorpion"] = "can poison!" end mobwarnings["worm"] = "can hit for moderate damage in melee!" end if xl < 9 then if no_rP then mobwarnings["worker ant"] = "is fast and can poison!" end if no_see_invis then if no_rP then mobwarnings["Natasha"] = "can cast Slow, Mephitic Cloud, Call Imp, and go Invisible!" else mobwarnings["Natasha"] = "can cast Slow, Call Imp, and go Invisible!" end if no_rF and no_rC then mobwarnings["Blork"] = "can cast Haste, Throw Frost, Throw Flame, and go Invisible!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, Throw Flame, Throw Frost, or go Invisible!" mobwarnings["Sigmund"] = "can cast Slow, Confuse, Throw Flame, and go Invisible!" elseif no_rF then mobwarnings["Blork"] = "can cast Haste, Throw Flame, and go Invisible!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, Throw Flame, or go Invisible!" mobwarnings["Sigmund"] = "can cast Slow, Confuse, Throw Flame, and go Invisible!" elseif no_rC then mobwarnings["Blork"] = "can cast Haste, Throw Frost, and go Invisible!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, Throw Frost, or go Invisible!" mobwarnings["Sigmund"] = "can cast Slow, Confuse, and go Invisible!" else mobwarnings["Blork"] = "can cast Haste and go Invisible!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, or go Invisible!" mobwarnings["Sigmund"] = "can cast Slow, Confuse, and go Invisible" end else if no_rP then mobwarnings["Natasha"] = "can cast Slow, Mephitic Cloud, and Call Imp!" else mobwarnings["Natasha"] = "can cast Slow and Call Imp!" end if no_rF and no_rC then mobwarnings["Blork"] = "can cast Haste, Throw Frost, and Throw Flame!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, Throw Flame, or Throw Frost!" mobwarnings["Sigmund"] = "can cast Slow, Confuse, and Throw Flame!" elseif no_rF then mobwarnings["Blork"] = "can cast Haste, and Throw Flame!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, or Throw Flame!" mobwarnings["Sigmund"] = "can cast Slow, Confuse, and Throw Flame!" elseif no_rC then mobwarnings["Blork"] = "can cast Haste and Throw Frost!" mobwarnings["orc wizard"] = "might cast Slow, Confuse, or Throw Frost!" mobwarnings["Sigmund"] = "can cast Slow and Confuse!" else mobwarnings["Blork"] = "can cast Haste!" mobwarnings["orc wizard"] = "might cast Slow or Confuse!" mobwarnings["Sigmund"] = "can cast Slow and Confuse!" end end mobwarnings["big kobold"] = "will probably throw things at you!" mobwarnings["Crazy Yiuf"] = "can hit for high damage in melee!" mobwarnings["Dowan"] = "can Haste Duvessa, and will become Hasted and cast Throw Icicle when Duvessa dies!" mobwarnings["Duvessa"] = "can hit for moderate damage in melee, and goes Berserk when Dowan dies!" mobwarnings["Eustachio"] = "can summon minor creatures and blink!" mobwarnings["gnoll"] = "can hit for moderate damage in melee, and throws nets!" mobwarnings["Ijyb"] = "will often zap you with wands!" mobwarnings["mummy"] = "can hit for moderate damage in melee!" mobwarnings["ogre"] = "can hit for high damage in melee!" mobwarnings["phantom"] = "can hit for moderate damage in melee and blinks!" end if xl < 14 then if no_rN then mobwarnings["Grinder"] = "can cast Paralyse and Pain!" mobwarnings["shadow imp"] = "can cast Pain and Animate Dead!" mobwarnings["wight"] = "can drain you in melee!" else mobwarnings["Grinder"] = "can cast Paralyse!" mobwarnings["shadow imp"] = "can Animate Dead!" mobwarnings["wight"] = "can hit for moderate damage in melee!" end if no_rC then mobwarnings["ice beast"] = "can hit for moderate damage in melee!" mobwarnings["simulacr"] = "can hit for high damage in melee!" mobwarnings["white imp"] = "can cast Throw Frost!" mobwarnings["white ugly thing"] = "is fast and can hit for high cold damage in melee!" else mobwarnings["simulacr"] = "can hit for moderate damage in melee!" mobwarnings["white ugly thing"] = "is fast and can hit for moderate damage in melee!" end if no_rF then mobwarnings["fire drake"] = "can breathe blasts of flame!" mobwarnings["red ugly thing"] = "is fast and can hit for high fire damage in melee!" mobwarnings["steam dragon"] = "breathes balls of steam!" if no_see_invis and no_rP then mobwarnings["Erica"] = "can hit for moderate fire damage in melee, can cast Venom Bolt, IMB, Confuse, Slow, go Invisible, and teleport away!" elseif no_rP then mobwarnings["Erica"] = "can hit for moderate fire damage in melee, can cast Venom Bolt, IMB, Confuse, Slow, and teleport away!" elseif no_see_invis then mobwarnings["Erica"] = "can hit for moderate fire damage in melee, can cast IMB, Confuse, Slow, go Invisible, and teleport away!" else mobwarnings["Erica"] = "can hit for moderate fire damage in melee, can cast IMB, Confuse, Slow, and teleport away!" end else mobwarnings["red ugly thing"] = "is fast and can hit for moderate damage in melee!" if no_see_invis and no_rP then mobwarnings["Erica"] = "can cast Venom Bolt, IMB, Confuse, Slow, go Invisible, and teleport away!" elseif no_rP then mobwarnings["Erica"] = "can cast Venom Bolt, IMB, Confuse, Slow, and teleport away!" elseif no_see_invis then mobwarnings["Erica"] = "can cast IMB, Confuse, Slow, go Invisible, and teleport away!" else mobwarnings["Erica"] = "can cast IMB, Confuse, Slow, and teleport away!" end end if no_rC or no_rF or no_rP then mobwarnings["Joseph"] = "shoots branded sling bullets!" end if no_rP then mobwarnings["black mamba"] = "is very fast, can hit for high damage in melee, and can poison!" mobwarnings["green ugly thing"] = "is fast and can hit for high poison damage in melee!" mobwarnings["killer bee"] = "is very fast and can poison!" mobwarnings["naga"] = "can constrict and spit poison!" mobwarnings["queen ant"] = "can berserk other ants, and can poison!" mobwarnings["redback"] = "is fast and can poison!" mobwarnings["soldier ant"] = "is fast and can poison!" mobwarnings["spiny frog"] = "is fast, can hit for high damage in melee, and can poison!" mobwarnings["swamp drake"] = "breathes Mephitic clouds!" mobwarnings["water moccasin"] = "is fast and can poison!" else mobwarnings["black mamba"] = "is very fast and can hit for high damage in melee!" mobwarnings["green ugly thing"] = "is fast and can hit for moderate damage in melee!" mobwarnings["killer bee"] = "is very fast!" mobwarnings["naga"] = "can constrict!" mobwarnings["queen ant"] = "can berserk other ants!" mobwarnings["redback"] = "is fast!" mobwarnings["soldier ant"] = "is fast!" mobwarnings["spiny frog"] = "is fast and can hit for high damage in melee!" mobwarnings["water moccasin"] = "is fast!" end if no_rE then mobwarnings["cyan ugly thing"] = "can hit for high electric damage in melee!" mobwarnings["electric eel"] = "can hit for high damage at range!" else mobwarnings["cyan ugly thing"] = "is fast and can hit for moderate damage in melee!" end if no_rCorr then mobwarnings["jelly"] = "can corrode equipment in melee!" end mobwarnings["blink frog"] = "is fast, can hit for moderate damage in melee, and blinks!" mobwarnings["centaur"] = "is fast and can hit for moderate damage at range!" mobwarnings["draconian"] = "can hit for high damage in melee!" mobwarnings["elephant"] = "can hit for high damage in melee, and can trample!" mobwarnings["gargoyle"] = "can cast Stone Arrow!" mobwarnings["gnoll shaman"] = "can heal itself and can heal or Haste other gnolls!" mobwarnings["goliath beetle"] = "can hit for high damage in melee!" mobwarnings["hill giant"] = "can hit for high damage in melee!" mobwarnings["hippogriff"] = "can hit for high damage in melee!" mobwarnings["Maud"] = "can hit for high damage in melee!" mobwarnings["orc warrior"] = "can hit for high damage!" mobwarnings["Pikel"] = "can hit for high damage in melee!" mobwarnings["Prince Ribbit"] = "is fast and can hit for high damage in melee!" mobwarnings["Psyche"] = "might banish you in melee!" mobwarnings["raven"] = "is very fast and can hit for moderate damage in melee!" mobwarnings["slave"] = "means Pikel is nearby!" mobwarnings["slime creature"] = "can hit for high damage in melee!" mobwarnings["small abomination"] = "might be fast and can hit for high damage in melee!" mobwarnings["troll"] = "can hit for high damage in melee, and regenerates quickly!" mobwarnings["two-headed ogre"] = "can hit for high damage in melee!" mobwarnings["warg"] = "is fast and can hit for moderate damage in melee!" mobwarnings["wolf"] = "is very fast and can hit for moderate damage in melee!" mobwarnings["wraith"] = "can slow you in melee!" mobwarnings["wyvern"] = "is fast and can hit for high damage in melee!" mobwarnings["yak"] = "can hit for moderate damage in melee!" end if you.xl() < 21 then local orcsorcwarn = "" local tenguconjwarn = "" if no_rF then if no_see_invis and no_rP then mobwarnings["Erica"] = "can cast Venom Bolt, IMB, go Invisible, and teleport away!" elseif no_rP then mobwarnings["Erica"] = "can cast Venom Bolt, IMB, and teleport away!" elseif no_see_invis then mobwarnings["Erica"] = "can cast IMB, go Invisible, and teleport away!" else mobwarnings["Erica"] = "can cast IMB and teleport away!" end mobwarnings["deep elf mage"] = "can cast Fireball and Slow!" mobwarnings["efreet"] = "can cast Bolt of Fire and Fireball!" mobwarnings["Harold"] = "can throw nets and cast Bolt of Fire!" mobwarnings["lindwurm"] = "has a nasty fire breath attack!" mobwarnings["red very ugly thing"] = "can hit for high fire damage in melee!" mobwarnings["salamander"] = "uses fire branded attacks!" orcsorcwarn = orcsorcwarn .. ", Bolt of Fire" tenguconjwarn = tenguconjwarn .. ", Bolt of Magma" else if no_see_invis and no_rP then mobwarnings["Erica"] = "can cast Venom Bolt, IMB, go Invisible, and teleport away!" elseif no_rP then mobwarnings["Erica"] = "can cast Venom Bolt, IMB, and teleport away!" elseif no_see_invis then mobwarnings["Erica"] = "can cast IMB, go Invisible, and teleport away!" else mobwarnings["Erica"] = "can cast IMB, and teleport away!" end mobwarnings["deep elf mage"] = "can cast slow!" mobwarnings["Harold"] = "can throw nets!" mobwarnings["lindwurm"] = "can hit for high damage in melee!" mobwarnings["red very ugly thing"] = "can hit for high damage in melee!" end if no_rP then mobwarnings["green very ugly thing"] = "is fast and can hit for high poison damage in melee!" mobwarnings["naga mage"] = "can cast IMB and Poison Arrow, and spits poison!" mobwarnings["naga ritualist"] = "can give poison vulnerability, and do poison damage over time with toxic radiance!" mobwarnings["naga warrior"] = "can constrict you and hit for high damage in melee, and spits poison!" mobwarnings["redback"] = "is fast and can poison!" mobwarnings["Sonja"] = "shoots Curare needles and will probably banish you in melee!" mobwarnings["wolf spider"] = "is fast and can hit for high damage in melee, and can poison!" tenguconjwarn = tenguconjwarn .. ", Venom Bolt" else mobwarnings["green very ugly thing"] = "is fast and can hit for high damage in melee!" mobwarnings["naga mage"] = "can cast IMB and Poison Arrow!" mobwarnings["naga ritualist"] = "can remove poison resistance, and do damage over time with toxic radiance!" mobwarnings["naga warrior"] = "can constrict you and hit for high damage in melee!" mobwarnings["Sonja"] = "will probably banish you in melee!" mobwarnings["wolf spider"] = "is fast and can hit for high damage in melee!" end if no_rE then mobwarnings["cyan very ugly thing"] = "is fast and can hit for high electric damage in melee!" mobwarnings["raiju"] = "is fast and can Lightning Bolt itself at you!" tenguconjwarn = tenguconjwarn .. ", Lightning Bolt" else mobwarnings["cyan very ugly thing"] = "is fast and can hit for high damage in melee!" mobwarnings["raiju"] = "is fast and blinks around!" end if no_rC then mobwarnings["bog body"] = "can cast Slow and Bolt of Cold!" mobwarnings["Fannar"] = "can cast Bolt of Cold, Ozo's Refrigeration, Summon Ice Beast, and Blink!" mobwarnings["freezing wraith"] = "can hit for high cold damage and slow you in melee!" mobwarnings["simulacr"] = "can hit for high damage in melee!" mobwarnings["white very ugly thing"] = "is fast and can hit for high cold damage in melee!" else mobwarnings["bog body"] = "can cast Slow!" mobwarnings["Fannar"] = "can Blink and Summon Ice Beasts!" mobwarnings["freezing wraith"] = "can slow you in melee!" mobwarnings["white very ugly thing"] = "is fast and can hit for high damage in melee!" end if no_rN then orcsorcwarn = orcsorcwarn .. ", Bolt of Draining" mobwarnings["Nergalle"] = "can cast Bolt of Draining, Summon Spectral Orcs, Haste Other, and Death's Door!" if you_are_undead then mobwarnings["Josephine"] = "can cast Ghostly Fireball, Vampiric Draining, Animate Dead, and Dispel Undead!" else mobwarnings["Josephine"] = "can cast Ghostly Fireball, Vampiric Draining, and Animate Dead!" end else mobwarnings["Nergalle"] = "can Summon Spectral Orcs, cast Haste Other, and Death's Door!" if you_are_undead then mobwarnings["Josephine"] = "can cast Animate Dead, and Dispel Undead!" else mobwarnings["Josephine"] = "can cast Animate Dead!" end end if no_rCorr then mobwarnings["brown ugly thing"] = "is fas and can hit for high damage in melee, corroding equipment!" mobwarnings["brown very ugly thing"] = "is fast and can hit for high damage in melee, corroding equipment!" mobwarnings["oklob"] = "can corrode equipment at range!" else mobwarnings["brown ugly thing"] = "is fast and can hit for moderate damage in melee!" mobwarnings["brown very ugly thing"] = "is fast and can hit for high damage in melee!" end if no_see_invis then mobwarnings["Kirke"] = "can summon Monstrous Menageries, go invisible, turn you into a pig, and deflects missiles!" mobwarnings["Maurice"] = "can steal items, go invisible, and teleport away!" else mobwarnings["Kirke"] = "can summon Monstrous Menageries, turn you into a pig, and deflects missiles!" mobwarnings["Maurice"] = "can steal items, and teleport away!" end mobwarnings["anaconda"] = "is very fast and can constrict you!" mobwarnings["centaur warrior"] = "can hit for high damage at range!" mobwarnings["cyclops"] = "can throw large rocks!" mobwarnings["death yak"] = "can hit for high damage in melee!" mobwarnings["dire elephant"] = "can hit for high damage in melee, and can trample!" mobwarnings["enormous slime creature"] = "can hit for high damage in melee!" mobwarnings["Erolcha"] = "might cast banishment, paralyse, or LCS!" mobwarnings["firefly"] = "is very fast, can hit for moderate damage, and flashes a warning beacon!" mobwarnings["harpy"] = "is very fast and can hit for high damage in melee!" mobwarnings["hydra"] = "can hit for high damage in melee!" mobwarnings["kobold demonologist"] = "can summon minor demons!" mobwarnings["komodo dragon"] = "can hit for high damage in melee!" mobwarnings["large abomination"] = "might be fast and can hit for high damage in melee!" mobwarnings["large slime creature"] = "can hit for high damage in melee!" mobwarnings["manticore"] = "can hit for high damage at range, and Barbs causes damage when you move!" mobwarnings["naga sharpshooter"] = "can shoot you with portal projectiles!" mobwarnings["orc knight"] = "can hit for high damage!" mobwarnings["orc sorcerer"] = "can cast Paralyse, Summon Demon, Animate Dead"..orcsorcwarn.."!" mobwarnings["purple ugly thing"] = "can hit for high damage in melee!" mobwarnings["skeletal warrior "] = "can hit for high damage in melee!" mobwarnings["Snorg"] = "can berserk and hit for high damage!" mobwarnings["spriggan"] = "is very fast and can hit for moderate damage!" mobwarnings["tarantella"] = "is fast and can cause confusion in melee!" mobwarnings["tengu conjurer"] = "is fast and can cast Force Lance, IMB"..tenguconjwarn.."!" mobwarnings["tengu warrior"] = "is fast and can hit for high damage in melee!" mobwarnings["thorn lotus"] = "can hit for high damage at range!" end if you.xl() < 27 then local tengureaverwarn = "" if no_rF then mobwarnings["fire dragon"] = "has a nasty fire breath attack!" mobwarnings["fire giant"] = "can cast Fireball and Bolt of Fire!" mobwarnings["flaming corpse"] = "is fast, can cause sticky flames in melee!" mobwarnings["mottled draconian"] = "can spit sticky flames at range!" mobwarnings["red very ugly thing"] = "is fast, can cause sticky flames in melee!" mobwarnings["salamander firebrand"] = "is fast and melee attacks will surround you with flame clouds!" mobwarnings["salamander mystic"] = "can haste allies, and casts Bolt of Magma and IMB!" tengureaverwarn = tengureaverwarn .. ", can cast Bolt of Magma, Fireball" else mobwarnings["fire dragon"] = "can hit for high damage in melee!" mobwarnings["fire giant"] = "can hit for high damage in melee!" mobwarnings["flaming corpse"] = "is fast!" mobwarnings["red very ugly thing"] = "is fast!" mobwarnings["salamander firebrand"] = "is fast and melee attacks will surround you with flame clouds!" mobwarnings["salamander mystic"] = "can haste allies and casts IMB!" end if no_rC then mobwarnings["frost giant"] = "can cast Bolt of Cold!" mobwarnings["ice dragon"] = "has a nasty cold breath attack!" tengureaverwarn = tengureaverwarn .. ", can cast Freezing Cloud" else mobwarnings["frost giant"] = "can hit for high damage in melee!" mobwarnings["ice dragon"] = "can hit for high damage in melee!" end if no_rN then mobwarnings["eidolon"] = "can cast Bolt of Draining and Fear!" else mobwarnings["eidolon"] = "can cast Fear!" end if no_rE then tengureaverwarn = tengureaverwarn .. ", can cast Lightning Bolt" end if no_rP then mobwarnings["Aizul"] = "is very fast and casts Sleep, Poison Arrow, and Venom Bolt!" mobwarnings["greater naga"] = "is strong in melee, and casts Venom Bolt, Poison Arrow, IMB, and spits poison!" else mobwarnings["Aizul"] = "is very fast and casts Sleep and Poison Arrow!" mobwarnings["greater naga"] = "is strong in melee, and can cast Poison Arrow and IMB!" end if no_see_invis then mobwarnings["wizard"] = "might cast banishment, paralyse, LCS, or go Invisible!" if no_rN then if no_rC and no_rF then mobwarnings["necromancer"] = "can cast Agony, Animate Dead, Bolt of Fire, Bolt of Cold, or go Invisible!" elseif no_rF then mobwarnings["necromancer"] = "can cast Agony, Animate Dead, Bolt of Fire, or go Invisible!" elseif no_rC then mobwarnings["necromancer"] = "can cast Agony, Animate Dead, Bolt of Cold, or go Invisible!" else mobwarnings["necromancer"] = "can cast Agony, Animate Dead, or go Invisible!" end end else mobwarnings["wizard"] = "might cast banishment, paralyse, or LCS!" if no_rN then if no_rC and no_rF then mobwarnings["necromancer"] = "can cast Agony, Animate Dead, Bolt of Fire, or Bolt of Cold!" elseif no_rF then mobwarnings["necromancer"] = "can cast Agony, Animate Dead, or Bolt of Fire!" elseif no_rC then mobwarnings["necromancer"] = "can cast Agony, Animate Dead, or Bolt of Cold!" else mobwarnings["necromancer"] = "can cast Agony and Animate Dead!" end end end mobwarnings["deep troll earth mage"] = "can cast LRD and dig!" mobwarnings["ettin"] = "can hit for very high damage in melee!" mobwarnings["great orb of eyes"] = "can cast paralyse, disintegrate, slow, confuse, and teleport you!" mobwarnings["ironheart preserver"] = "can absorb the damage of its allies and heal itself!" mobwarnings["Lernaean hydra"] = "don't fight it in melee! Just don't!" mobwarnings["Louise"] = "can cast banishment!" mobwarnings["minotaur"] = "can hit for very high damage!" mobwarnings["ogre mage"] = "might cast banishment, paralyse, or LCS!" mobwarnings["orc warlord"] = "can hit for high damage!" mobwarnings["purple draconian"] = "can dispel your buffs!" mobwarnings["purple very ugly thing"] = "is fast and can cause rotting in melee!" mobwarnings["Rupert"] = "can paralyse you in fear!" mobwarnings["stone giant"] = "throws large rocks and can hit for very high damage!" mobwarnings["tengu reaver"] = "is fast"..tengureaverwarn.."!" mobwarnings["titanic slime creature"] = "can hit for high damage in melee!" mobwarnings["vampire knight"] = "can cast paralyse!" mobwarnings["vampire mage"] = "can Summon Undead and Animate Dead!" mobwarnings["Vashnia"] = "can blink herself and allies away!" mobwarnings["vault sentinel"] = "can mark you and blow a signal horn!" mobwarnings["vault warden"] = "can lock down doors and staircases!" mobwarnings["water nymph"] = "can create water, teleport to other water, and Waterstrike you!" mobwarnings["Wiglaf"] = "can cast might and haste on himself!" mobwarnings["yaktaur"] = "can hit for high damage at range!" end if no_rP then mobwarnings["red wasp"] = "is very fast and can Paralyse and poison in melee!" mobwarnings["yellow wasp"] = "is very fast and can Slow and poison in melee!" else mobwarnings["red wasp"] = "is very fast and can Slow in melee!" end if no_rF then mobwarnings["deep elf mage"] = "can cast fireball and slow!" mobwarnings["fire dragon"] = "has a nasty fire breath attack!" mobwarnings["fire giant"] = "can cast fireball and bolt of fire!" mobwarnings["merfolk aquamancer"] = "can cast Primal Wave, Steam Ball, Throw Icicle, and Blink!" else mobwarnings["merfolk aquamancer"] = "can cast Primal Wave, Throw Icicle, and Blink!" end if no_rN then mobwarnings["shadow dragon"] = "has a nasty draining breath attack!" end mobwarnings["electric golem"] = "is fast, has electric attacks, and blinks!" mobwarnings["Nikola"] = "casts Lightning Bolt, Chain Lightning and blinks!" mobwarnings["shock serpent"] = "is fast, casts Bolt of Lightning, does electric damage, and causes electric damage when injured!" mobwarnings["Sojobo"] = "is fast and can cast Airstrike and Lightning Bolt!" mobwarnings["storm dragon"] = "can hit for high damage in melee and has a nasty electric breath attack!" mobwarnings["titan"] = "can cast Lightning Bolt and Airstrike!" local electricwarning = "" if no_rE then electricwarning = " You are not wearing rElec!" mobwarnings["electric golem"] = mobwarnings["electric golem"] .. electricwarning mobwarnings["Nikola"] = mobwarnings["Nikola"] .. electricwarning mobwarnings["shock serpent"] = mobwarnings["shock serpent"] .. electricwarning mobwarnings["Sojobo"] = mobwarnings["Sojobo"] .. electricwarning mobwarnings["storm dragon"] = mobwarnings["storm dragon"] .. electricwarning mobwarnings["titan"] = mobwarnings["titan"] .. electricwarning end mobwarnings["giant orange brain"] = "can cast Shadow Creatures, and drain your Int!" mobwarnings["neqoxec"] = "can mutate you, and drain your Int!" mobwarnings["Norris"] = "can cast Paralyse, Smite you, and drain your Int!" mobwarnings["orange crystal statue"] = "can cast Confuse, Drain MP, and drain your Int!" if no_Sustab then local statdrainwarning = " You are not wearing SustAb!" mobwarnings["brain worm"] = "can drain your Int!" .. statdrainwarning mobwarnings["giant orange brain"] = mobwarnings["giant orange brain"] .. statdrainwarning mobwarnings["neqoxec"] = mobwarnings["neqoxec"] .. statdrainwarning mobwarnings["Norris"] = mobwarnings["Norris"] .. statdrainwarning mobwarnings["orange crystal statue"] = mobwarnings["orange crystal statue"] .. statdrainwarning end mobwarnings["cacodemon"] = "can cast Energy bolts, Dig, and mutate you!" mobwarnings["orb of fire"] = "can cast Fireball and Bolt of Fire, and mutate you!" if no_rMut then local mutationwarning = " You are not wearing rMut!" mobwarnings["cacodemon"] = mobwarnings["cacodemon"] .. mutationwarning mobwarnings["neqoxec"] = mobwarnings["neqoxec"] .. mutationwarning mobwarnings["orb of fire"] = mobwarnings["orb of fire"] ..mutationwarning mobwarnings["pulsating lump"] = "can mutate you in melee!" .. mutationwarning mobwarnings["shining eye"] = "can temporarily mutate you!" .. mutationwarning end local gdwarn = "can hit for high damage in melee" local alichwarn = "" if (no_rF or no_rP or no_rC or no_rN or no_see_invis) then if no_rF then gdwarn = gdwarn .. ", breathe Bolts of Fire" alichwarn = alichwarn .. ", cast Bolt of Fire" end if no_rC then gdwarn = gdwarn .. ", breathe freezing blasts" alichwarn = alichwarn .. ", cast Bolt of Cold" end if no_rN then alichwarn = alichwarn .. ", cast Bolt of Draining" end if no_rP then gdwarn = gdwarn .. ", breathe poison clouds" end if no_see_invis then alichwarn = alichwarn .. ", or go Invisible" end end mobwarnings["ancient lich"] = "might cast Banishment, Paralyse, SGD, IOOD, or LCS" .. alichwarn .. "!" mobwarnings["golden dragon"] = gdwarn .. "!" mobwarnings["lich"] = "might cast Banishment, Paralyse, Summon Demon, IOOD, or LCS!" if no_rF then mobwarnings["Xtahua"] = "does high damage in melee and has a nasty fire breath attack" else mobwarnings["Xtahua"] = "does high damage in melee!" end mobwarnings["air mage"] = "can cast Airstrike!" mobwarnings["blizzard demon"] = "can cast Airstrike!" mobwarnings["Gastronok"] = "can cast Airstrike!" mobwarnings["wind drake"] = "can cast Airstrike and push you away!" if you_are_flying then local flightwarning = " You are in flight!" mobwarnings["air mage"] = mobwarnings["air mage"] .. flightwarning mobwarnings["blizzard demon"] = mobwarnings["blizzard demon"]..flightwarning mobwarnings["Gastronok"] = mobwarnings["Gastronok"]..flightwarning mobwarnings["Sojobo"] = mobwarnings["Sojobo"]..flightwarning mobwarnings["titan"] = mobwarnings["titan"]..flightwarning mobwarnings["wind drake"] = mobwarnings["wind drake"]..flightwarning end if no_see_invis then mobwarnings["boggart"] = "can cast Shadow Creatures and go Invisible!" else mobwarnings["boggart"] = "can cast Shadow Creatures!" end if no_rCorr then mobwarnings["yellow draconian"] = "can corrode your equipment at range!" end if no_rP and no_rE then mobwarnings["draconian annihilator"] = "can cast LCS, Poison Arrow, Lightning Bolt, and Iron Shot!" elseif no_rP then mobwarnings["draconian annihilator"] = "can cast LCS, Poison Arrow, and Iron Shot!" elseif no_rE then mobwarnings["draconian annihilator"] = "can cast LCS, Lightning Bolt, and Iron Shot!" else mobwarnings["draconian annihilator"] = "can cast Lehudib's Crystal Spear or Iron Shot!" end if you_rTorment then mobwarnings["Brimstone Fiend"] = "can cast line-of-sight Hellfire!" mobwarnings["curse skull"] = "can cast Summon Undead!" mobwarnings["curse toe"] = "can cast Summon Fungus!" mobwarnings["Ereshkigal"] = "can cast Paralyse!" mobwarnings["greater mummy"] = "can smite you!" mobwarnings["Khufu"] = "can smite you!" mobwarnings["mummy priest"] = "can smite you!" mobwarnings["Shadow Fiend"] = "can cast Dispel Undead!" else mobwarnings["Brimstone Fiend"] = "can cast Torment and line-of-sight Hellfire!" mobwarnings["curse skull"] = "can cast Torment and Summon Undead!" mobwarnings["curse toe"] = "can cast Torment and Summon Fungus!" mobwarnings["Ereshkigal"] = "can cast Torment and Paralyse!" mobwarnings["Gloorx Vloq"] = "can cast Torment!" mobwarnings["greater mummy"] = "can cast Torment and smite you!" mobwarnings["Ice Fiend"] = "can cast Torment!" mobwarnings["Khufu"] = "can cast Torment and smite you!" mobwarnings["Menkaure"] = "can cast Torment!" mobwarnings["mummy priest"] = "can cast Torment and smite you!" mobwarnings["Shadow Fiend"] = "can cast Torment and Dispel Undead!" mobwarnings["tormentor"] = "can cast Torment!" end mobwarnings["apocalypse crab"] = "is fast and has a chaos cloud breath attack!" mobwarnings["Arachne"] = "can ensnare you in her webs!" mobwarnings["Asmodeus"] = "can cast line-of-sight Hellfire and Summon Greater Demons!" mobwarnings["Azrael"] = "can cast smite-targeted Hellfire!" mobwarnings["balrug"] = "can smite you, and cast fireball!" mobwarnings["black sun"] = "can give allies a dangerous black mark which gives melee effects!" mobwarnings["blood saint"] = "can cast LCS and other Legendary Destruction!" mobwarnings["catoblepas"] = "can petrify you with its breath!" mobwarnings["Cerebov"] = "can cast Fire Storm, Iron Shot, and Summon Greater Demons!" mobwarnings["chaos champion"] = "can dispel buffs, entrap you, and other chaotic effects!" mobwarnings["corrupter"] = "can summon allies from various branches!" mobwarnings["daeva"] = "can smite you!" mobwarnings["deep elf annihilator"] = "can cast Lehudib's Crystal Spear or Iron Shot!" mobwarnings["deep elf demonologist"] = "can cast banishment or summon Greater Demons!" mobwarnings["deep elf high priest"] = "can cast smite-targeted Hellfire or smite you!" mobwarnings["deep elf priest"] = "can smite you!" mobwarnings["deep elf sorcerer"] = "can cast banishment or line-of-sight Hellfire!" mobwarnings["deep troll shaman"] = "can cast haste and might on allies!" mobwarnings["Dispater"] = "can cast line-of-sight Hellfire, Iron Shot, and summon Greater Demons!" mobwarnings["draconian caller"] = "can summon Dragons and Death Drakes!" mobwarnings["draconian scorcher"] = "can cast smite-targeted Hellfire!" mobwarnings["draconian shifter"] = "can block teleports, blink allies encircling you, or cause you to blink!" mobwarnings["draconian zealot"] = "can cast smite-targeted Hellfire or smite you!" mobwarnings["Enchantress"] = "is very fast and can cast Dimension Anchor, Slow, Haste, Mass Confusion, and Strip Resistance!" mobwarnings["eye of draining"] = "will drain your Magic!" mobwarnings["flayed ghost"] = "can Flay you to shreds!" mobwarnings["Frances"] = "can smite you!" mobwarnings["Frederick"] = "can cast Iron Shot!" mobwarnings["ghost moth"] = "will drain your Magic!" mobwarnings["giant eyeball"] = "can paralyse you!" mobwarnings["golden eyeball"] = "can confuse you!" mobwarnings["guardian serpent"] = "can blink allies encircling you!" mobwarnings["Hell Sentinel"] = "can cast line-of-sight Hellfire and Iron Shot!" mobwarnings["hellion"] = "can cast smite-targeted Hellfire!" mobwarnings["Ignacio"] = "can cast Agony!" mobwarnings["ironbrand convoker"] = "can recall allies and cast might on them!" mobwarnings["Jorgrun"] = "can cast petrify and shatter!" mobwarnings["Jory"] = "can mesmerise, cast LCS and blink close!" mobwarnings["jumping spider"] = "is fast and can ensnare you in webs!" mobwarnings["mana viper"] = "is fast and has an antimagic bite!" mobwarnings["Mennas"] = "can cast silence and confuse!" mobwarnings["Mnoleg"] = "cast Summon Eyes and smite you!" mobwarnings["moth of wrath"] = "is fast and can enrage both enemies and you!" mobwarnings["octopode crusher"] = "can cast Iron Shot and throw you in melee!" mobwarnings["orb spider"] = "is fast and can cast Orb of Destruction!" mobwarnings["orc high priest"] = "can smite you!" mobwarnings["orc priest"] = "can smite you!" mobwarnings["phantasmal warrior"] = "can bypass armour and shields, and lowers MR!" mobwarnings["quicksilver dragon"] = "can dispel your buffs!" mobwarnings["rakshasa"] = "can cast IMB, Phantom Mirror, duplicating itself and allies, and blinks!" mobwarnings["Roxanne"] = "can cast LCS and Iron Shot at you, or shift your position!" mobwarnings["shadow demon"] = "can cast Shadow Creatures!" mobwarnings["smoke demon"] = "can smite you, and cast ranged sticky flame!" mobwarnings["sphinx"] = "can cast paralyse, slow, confuse, and smite you!" mobwarnings["spriggan druid"] = "is very fast, can awaken trees, recall animals, and cast Stone Arrow!" mobwarnings["starcursed mass"] = "can smite you!" mobwarnings["tentacled monstrosity"] = "has dangerous constriction in melee!" mobwarnings["thorn hunter"] = "can throw a nasty volley of thorns, and create brambles!" mobwarnings["warmonger"] = "can sap your magic and summon a grand avatar!" mobwarnings["ynoxinul"] = "can cast Iron Shot!" -- Holds the overall alert message and count of dangers local alerts = "" local short_alert = " " local total_dangers = 0 -- For each type of monster you can see, using getMonsterList() -- This goes through each monster in the mobwarnings table above and -- Checks to see if it matches the description of each mob in sight -- Excluding forms that can't cast: zombie, skeleton, simulcrum, but not incapacitated forms for mons, count in pairs(getMonsterList()) do for mob, message in pairs(mobwarnings) do if string.find(mons, mob) and not string.find(mons, "zombie") and not string.find(mons, "skeleton") and not string.find(mons, "shaped block of ice") and not string.find(mons, "spectral") and not (string.find(mons, "simulacr") and mob ~= "simulacr") and not (string.find(mons, "orc") and mob == "wizard") and not (string.find(mons, "ancient lich") and mob == "lich") and not (string.find(mons, "death yak") and mob == "yak") and not (string.find(mons, "gnoll shaman") and mob == "gnoll") and not (string.find(mons, "gnoll captain") and mob == "gnoll") and not (string.find(mons, "mottled draconian") and mob == "mottled") and not (string.find(mons, "dire elephant") and mob == "elephant") and not (string.find(mons, "elephant slug") and mob == "elephant") and not (string.find(mons, "salamander mystic") and mob == "salamander") and not (string.find(mons, "Josephine") and mob == "Joseph") then --Used to format the string for Unique/Named mobs local is_fiend = (string.find(mons, "Fiend") ~= nil) local is_uppercase = (string.find(mons, "%u") ~= nil) local is_unique = is_uppercase and not is_fiend --Holds this mobs alert message local alert = "" local mob_name = "" --Formatting for uniques if is_unique then alert = "" .. mons .. " " .. message mob_name = mons --For more than 1 of the same monster elseif (count > 1) then alert = "The ".. mons .. " " .. message .. " x" .. count mob_name = mons .. " x" .. count --For a single non-unique monster else alert = "The " .. mons .. " " .. message mob_name = mons end --Keeps a count of all the found matches total_dangers = total_dangers + count --Adds the created alert string to the full string of alerts alerts = alerts .. " " .. alert short_alert = short_alert .. mob_name .. ", " end end end short_alert = string.sub(short_alert, 1, -3) .. "!" --If there is an alert and it was not displayed in the last six messages then display the warning if not ((alerts == "") or string.find(crawl.messages(6), escape(alerts))) then --For a single monster if total_dangers == 1 then crawl.mpr("Spoiler Alert:" .. alerts .. "") --For 2 or 3 elseif total_dangers < 4 then crawl.mpr("Warning x"..total_dangers .. ":" .. alerts .. "") --For 4 to 7 elseif total_dangers < 8 and (not string.find(crawl.messages(6), escape(short_alert))) then crawl.mpr("Danger x" ..total_dangers .. ":" .. short_alert .. "") --For 8 or more elseif not string.find(crawl.messages(6), escape(short_alert)) then crawl.mpr("PANIC x" ..total_dangers .. ":" .. short_alert .. "") end end end local previous_hp = 0 local previous_mp = 0 local previous_form = "" local was_berserk_last_turn = false function AnnounceDamage() local current_hp, max_hp = you.hp() local current_mp, max_mp = you.mp() --Things that increase hp/mp temporarily really mess with this local current_form = you.transform() local you_are_berserk = you.berserk() local max_hp_increased = false local max_hp_decreased = false if (current_form ~= previous_form) then if (previous_form:find("dragon") or previous_form:find("statue") or previous_form:find("tree") or previous_form:find("ice")) then max_hp_decreased = true elseif (current_form:find("dragon") or current_form:find("statue") or current_form:find("tree") or current_form:find("ice")) then max_hp_increased = true end end if (was_berserk_last_turn and not you_are_berserk) then max_hp_decreased = true elseif (you_are_berserk and not was_berserk_last_turn) then max_hp_increased = true end --crawl.mpr(string.format("previous_form is: %s", previous_form)) --crawl.mpr(string.format("current_form is: %s", current_form)) --crawl.mpr(string.format("max_hp_increased is: %s", max_hp_increased and "True" or "False")) --crawl.mpr(string.format("max_hp_decreased is: %s", max_hp_decreased and "True" or "False")) --crawl.mpr(string:format("you_are_berserk is: %s", you_are_berserk and "True" or "False")) --crawl.mpr(string:format("was_berserk_last_turn is: %s", was_berserk_last_turn and "True" or "False")) --Skips message on initializing game if previous_hp > 0 then local hp_difference = previous_hp - current_hp local mp_difference = previous_mp - current_mp if max_hp_increased or max_hp_decreased then if max_hp_increased then crawl.mpr("You now have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You now have " .. current_hp .. "/" .. max_hp .. " hp.") end else --On losing health if (current_hp < previous_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") end if hp_difference > (max_hp * 0.20) then crawl.mpr("MASSIVE DAMAGE!!") end end --On gaining more than 1 health if (current_hp > previous_hp) then --Removes the negative sign local health_inturn = (0 - hp_difference) if (health_inturn > 1) and not (current_hp == max_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") end end if (current_hp == max_hp) then crawl.mpr("Health restored: " .. current_hp .. "") end end --On gaining more than 1 magic if (current_mp > previous_mp) then --Removes the negative sign local mp_inturn = (0 - mp_difference) if (mp_inturn > 1) and not (current_mp == max_mp) then if current_mp < (max_mp * 0.25) then crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") elseif current_mp < (max_mp * 0.50) then crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") else crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") end end if (current_mp == max_mp) then crawl.mpr("MP restored: " .. current_mp .. "") end end --On losing magic if current_mp < previous_mp then if current_mp <= (max_mp / 5) then crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") elseif current_mp <= (max_mp / 2) then crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") else crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") end end end end --Set previous hp/mp and form at end of turn previous_hp = current_hp previous_mp = current_mp previous_form = current_form was_berserk_last_turn = you_are_berserk end --- Common code function array_to_set(a, v) local s = {} if v == nil then v = true end for _, k in ipairs(a) do s[k] = v end return s end --- Automation code local manual_only_force_mores = { "You miscast", "Your shroud begins to fray at the edges.", "Your shroud unravels.", "Your transformation is almost over", "You have a feeling this form", "Your skin feels tender", "You feel yourself come back to life", "Your icy armour starts to melt", "Your icy armour evaporates", "Your icy armour melts away" }-- local dangerous_statuses = array_to_set({"about to teleport", "death's door", "doom-hounded", "petrifying", "mesmerised", "constricted", "engulfed"}) -- these will or might become worse by resting local temporary_ambivalent_statuses = array_to_set({"liquefying", "cloud trail"}) local temporary_negative_statuses = array_to_set({"short of breath", "confused", "exhausted", "liquid flames", "vulnerable", "paralysed", "petrified", "slimy", "sleeping", "afraid", "marked", "flayed", "weakened", "fire vulnerable", "barbed spikes", "poison vulnerable", "sap magic", "magic sapped", "very magic sapped", "extremely magic sapped", "no potions", "corroded", "horrified", "no scrolls", "vertigo", "slow", "sluggish", "horrified", "extremely horrified", "overwhelmed with horror", "can't hop"}) local no_hands_forms = array_to_set({"spider", "blade", "ice", "dragon", "bat", "pig", "porcupine", "wisp", "jelly", "fungus", "hydra"}) local nonbleeding_forms = array_to_set({"lich", "spider", "statue", "ice", "tree", "wisp", "jelly", "fungus", "shadow"}) local weaponless_races = array_to_set({"Felid"}) function you_are_undead() return you.transform() == "lich" or you.race() == "Mummy" end function you_are_lifeless() if you_are_undead() then return true end local race = you.race() if race == "Ghoul" then return true elseif race == "Vampire" then return you_are_hungry() else return false end end local manual_only_force_mores_enabled = false function enable_manual_only_force_mores(v) --crawl.mpr((v and "Enable" or "Disable") .. " force mores") if not v ~= not manual_only_force_mores_enabled then manual_only_force_mores_enabled = v local op if v then op = "+=" else op = "-=" end for _, msg in ipairs(manual_only_force_mores) do crawl.setopt("force_more_message " .. op .. " " .. msg) end end end for _, msg in ipairs(manual_only_force_mores) do crawl.setopt("runrest_stop_message += " .. msg) end enable_manual_only_force_mores(true) function sendkeys(keys) --crawl.mpr("sendkeys: " .. keys) crawl.flush_input() crawl.sendkeys(keys) crawl.flush_input() --crawl.process_keys(keys) --crawl.process_command() end function inventory() return iter.invent_iterator:new(items.inventory()) end function floor_items() return iter.invent_iterator:new(you.floor_items()) end function number_of_chunks() for it in inventory() do if food.ischunk(it) and food.can_eat(it, false) and not food.dangerous(it) then return it.quantity end end return 0 end local function you_spells() local spell_list = {} local spell_letters = you.spell_letters() for i, spell_name in ipairs(you.spells()) do spell_list[spell_name] = spell_letters[i] end return spell_list end local function you_abilities() local ability_list = {} local ability_letters = you.ability_letters() for i, ability_name in ipairs(you.abilities()) do ability_list[ability_name] = ability_letters[i] end return ability_list end function findlast(s, p) local i = s:find(p) if i == nil then return -1 end while true do local ni = s:find(p, i + 1) if ni == nil then break end i = ni end return i end function you_can_bleed() local form = you.transform() if form and not nonbleeding_forms[form] then return false end return not you_are_lifeless() end function you_can_starve() return not you_are_undead() and you.race() ~= "Vampire" end function you_can_use_chunks() return you_can_starve() and you.mutation("herbivore") < 3 end function you_expiring(expiring, extended, cast) local messages = crawl.messages(100) return findlast(messages, expiring) > math.max(findlast(messages, extended), findlast(messages, cast)) end function you_transform_expiring(form, cast) return you.transform() == form and you_expiring("Your transformation is almost over.", "You extend your transformation's duration.", cast) end function you_transform_expiring_or_absent(form, cast) return you.transform() ~= form or you_transform_expiring(form, cast) end function you_have_dangerous_effect() if you.poisoned() then local hp, max_hp = you.hp() local threshold = 75 if AUTOFIGHT_STOP and AUTOFIGHT_STOP > 0 then threshold = AUTOFIGHT_STOP end if 100 * you.poison_survival() <= max_hp * threshold then return "poisoned" end end for status in string.gmatch(you.status(), '([^,]+)') do if dangerous_statuses[status] then return status end end return false end function you_have_temporary_ambivalent_effect() if you.berserk() or you.anchored() or you.silencing() then return true end for status in string.gmatch(you.status(), '([^,]+)') do if temporary_ambivalent_statuses[status] then return status end end return false end function you_have_temporary_negative_effect() if you.slowed() or you.poisoned() or you.confused() or you.exhausted() or you.contaminated() > 0 or you.breath_timeout() or you.on_fire() or you.sick() or you.asleep() or you.petrifying() then return true end for status in string.gmatch(you.status(), '([^,]+)') do if temporary_negative_statuses[status] then return status end end return false end function you_have_temporary_nonpositive_effect() return you_have_temporary_negative_effect() or you_have_temporary_ambivalent_effect() end function you_are_hungry() return you.race() ~= "Vampire" and you.hunger() < 4 end function you_are_starving() return you.race() ~= "Vampire" and you.hunger() <= 0 end function you_are_near_starving() return you.race() ~= "Vampire" and you.hunger() <= 1 end function you_can_cast() return not (you.silenced() or you.confused() or you.berserk() or you_are_starving()) end function autoexplore() sendkeys('o') end function rest() sendkeys('5') end function is_in_inventory(str) for it in inventory() do if string.find(it.name(), str) then return true end end return false end function weapon_in_slot(slot) local it = items.inslot(items.letter_to_index(slot)) if it then local cls = it.class(true) return string.find(cls, "weapon") or string.find(cls, "magical staff") else return false end end function equipped_weapon_slot() local eq = items.equipped_at("Weapon") if not eq then return nil end return items.index_to_letter(eq.slot) end function find_item_letter(str) for i = 0,51 do it = items.inslot(i) if it then if string.find(it.name(), str) then return items.index_to_letter(i) end end end return false end function on_corpses() for it in iter.invent_iterator:new(you.floor_items()) do if string.find(it.name(), "corpse") and not string.find(it.name(), "rotting") and not string.find(it.name(), "plague") then return true end end return false end function on_chunks() for it in floor_items() do if string.find(it.name(), "chunk") then return true else return false end end end function you_can_switch_weapon() if you.berserk() then return false end local form = you.transform() if form and no_hands_forms[form] then return false end if weaponless_races[you.race()] then return false end local weapon = items.equipped_at("Weapon") if weapon then if weapon.cursed or weapon.is_melded or (weapon.weap_skill and (string.find(weapon.name(), "distort") or string.find(weapon.name(), "vamp"))) then return false end end return true end function is_weapon(str) local weapon = items.equipped_at("Weapon") if weapon then return string.find(weapon.name(), str) else return false end end function is_equipped(str) for i=0,32 do local item = items.equipped_at(i) if item and string.find(item.name(), str) then return true end end return false end function you_clarity() return you.mutation("clarity") > 0 or (you.god() == "Ashenzari" and you.piety_rank() >= 4) or is_equipped("amulet of clarity") or is_equipped("Clar") end function is_item_corpse_or_skeleton(it) local name = it.name() return string.find(name, "corpse") or string.find(name, "skeleton") end function item_in_view(f) local x,y for x = -8,8 do for y = -8,8 do if not (x == 0 and y == 0) then local pile = items.get_items_at(x,y) if pile ~= nil and you.see_cell_no_trans(x,y) then for it in iter.invent_iterator:new(pile) do local r = f(it, x, y) if r then return r end end end end end end return nil end --Escapes the special characters in a string for pattern matching function escape(str) --Escapes parens and dash "()-" local escaped = str:gsub('(['..("%^$().[]*+-?"):gsub("(.)", "%%%1")..'])','%%%1') --Removes any coloration parts of the string return (escaped:gsub('<[^<]*>','')) end function my_fight() if AUTOMAGIC_ACTIVE and you.spell_table()[AUTOMAGIC_SPELL_SLOT] then sendkeys("\t") else local fight_weapon_letter = 'a' local it = items.letter_to_index() if is_weapon("!a") and you_can_switch_weapon() and equipped_weapon_slot() ~= fight_weapon_letter then if not fight_weapon_letter then crawl.mpr("Switching to unarmed.") sendkeys('w-') else crawl.mpr("Switching to fight weapon.") sendkeys('w' .. fight_weapon_letter) end else sendkeys("\t") end end end function cmd_fight() my_fight() end function HDArest() my_rest() end function HDAtravel() my_explore() end local auto_activity = nil local auto_where local auto_hp local auto_expect_hp_loss function do_auto_update() auto_where = you.where() auto_hp = you.hp() auto_expect_hp_loss = false end function auto_check_safety() if you.where() ~= auto_where then crawl.mpr("Unexpected level teleport during automation!") return false elseif you.hp() < auto_hp and not auto_expect_hp_loss then crawl.mpr("Unexpected HP loss during automation: " .. auto_hp .. " -> " .. you.hp() .. "!") return false elseif you_are_starving() then crawl.mpr("You are starving!") return false elseif you_have_dangerous_effect() then local s = you_have_dangerous_effect() crawl.mpr("You have a dangerous status effect: " .. (type(s) == "string" and s or "unknown") .. "!") return false elseif not you.feel_safe() then rest() return false end return true end function do_auto_ready() if auto_activity == nil then return false end -- stop if something unexpected happens if not auto_check_safety() then auto_activity = nil return false end do_auto_update() local result = auto_activity() if result ~= nil then auto_activity = nil end return result end function auto_ready() enable_manual_only_force_mores(auto_activity == nil) local r = do_auto_ready() enable_manual_only_force_mores(auto_activity == nil) return r end function do_auto(f) auto_activity = f do_auto_update() return auto_ready() end function my_explore() local state = 0 function f() --crawl.mpr("explore " .. state) if state == 0 then local r = my_rest_step(true) if r == true then state = 1 r = nil end return r elseif state == 1 then autoexplore() state = 2 return nil else return true end end do_auto(f) end function my_rest() function f() --crawl.mpr("rest") return my_rest_step(false) end if do_auto(f) == true then crawl.mpr("Resting is unnecessary.") end end function my_rest_step(move) local known_spells = you_spells() local known_abilities = you_abilities() local mp, max_mp = you.mp() local hp, max_hp = you.hp() local can_switch_weapon = you_can_switch_weapon() local chunks_are_useful = you_can_use_chunks() local want_to_eat_chunks = (you_are_hungry() or (you.hunger() < (you.gourmand() and 7 or 4 + you.mutation("carnivore")) and not you.race() == "Ghoul") or (you.race() == "Ghoul" and ((hp < (max_hp - 5)) or you.rot() > 0))) and chunks_are_useful local int, max_int = you.intelligence() local clarity = you_clarity() local auto_wucad_mu = (you.res_statdrain and you.res_statdrain()) -- or ((int + 1) >= max_int) local channeling_staff = nil if is_in_inventory("staff of Wucad Mu") and (clarity and auto_wucad_mu) then channeling_staff = "staff of Wucad Mu" elseif is_in_inventory("staff of energy") then channeling_staff = "staff of energy" end local channeling_staff_is_equipped = is_weapon("staff of energy") or is_weapon("staff of Wucad Mu") local staff_of_wizardry_is_equipped = is_weapon("staff of wizardry") local channeling_staff_letter = channeling_staff and find_item_letter(channeling_staff) or nil local staff_of_wizardry_letter = find_item_letter("staff of wizardry") local default_weapon_letter = find_item_letter("@w1") local spell_threshold = 20 if can_switch_weapon and staff_of_wizardry_letter ~= nil and not staff_of_wizardry_is_equipped then spell_threshold = 35 end local can_cast = you_can_cast() local weapon_slot = 'a' if true then local autocast_spell = nil local autocast_mp = 0 if can_cast then function autocast(s, mp, f) if known_spells[s] and f() and spells.fail(s) < spell_threshold then autocast_spell = s autocast_mp = mp return true end return false end function autocast_expiring(s, mp, status, f) return autocast(s, mp, function() return you.status(status .. " (expiring)") and (not f or f()) end) end function autocast_status(s, mp, status, f) return autocast(s, mp, function() return not you.status(status) and (not f or f()) end) end local _ = false or autocast_expiring("Spider Form", 3, "spider-form") or autocast_expiring("Ice Form", 4, "ice-form") or autocast_expiring("Hydra Form", 6, "hydra-form") or autocast_expiring("Statue Form", 6, "statue-form") or autocast_expiring("Dragon Form", 7, "dragon-form") or autocast_expiring("Necromutation", 8, "lich-form", function() return not you.good_god() and you.race() ~= "Mummy" and you.race() ~= "Ghoul" and you.race() ~= "Vampire" end) or autocast_expiring("Shroud of Golubria", 2, "shrouded") or autocast_expiring("Ozocubu's Armour", 3, "icy armour") or autocast_expiring("Ring of Flames", 7, "ring of flames") or autocast("Sublimation of Blood", 2, function() return mp < 0.60 * max_mp and hp > 0.95 * max_hp and not you.good_god() and you_can_bleed() and not you.race() ~= "Vampire" end) or autocast("Regeneration", 3, function() return not you.regenerating() and hp < 0.80 * max_hp and not you.good_god() and not you_are_undead() end) or autocast_status("Deflect Missiles", 6, "deflect missiles") or autocast_status("Repel Missiles", 2, "repel missiles", function() return not you.status("deflect missiles") end) or autocast_status("Delayed Fireball", 7, "delayed fireball") end if autocast_spell and mp >= autocast_mp then if can_switch_weapon and spells.fail(autocast_spell) > 1 and staff_of_wizardry_letter ~= nil and not staff_of_wizardry_is_equipped then crawl.mpr("Switching to staff of wizardry.") sendkeys('w' .. staff_of_wizardry_letter) else if autocast_spell == "Sublimation of Blood" then auto_expect_hp_loss = true end crawl.mpr("Autocasting " .. autocast_spell .. ".") sendkeys('z' .. known_spells[autocast_spell]) end elseif channeling_staff_letter ~= nil and mp < max_mp and (not you_can_starve() or (number_of_chunks() > 0 and not you_are_hungry())) and (equipped_weapon_slot() == channeling_staff_letter or can_switch_weapon) then if equipped_weapon_slot() ~= channeling_staff_letter then crawl.mpr("Switching to " .. channeling_staff .. ".") sendkeys('w' .. channeling_staff_letter) else crawl.mpr("Autochanneling using " .. channeling_staff .. ".") sendkeys('v') end elseif equipped_weapon_slot() ~= default_weapon_letter and (staff_of_wizardry_is_equipped or channeling_staff_is_equipped or is_weapon("chunk")) and can_switch_weapon then if not default_weapon_letter then crawl.mpr("Switching to unarmed.") sendkeys('w-') else crawl.mpr("Switching to main weapon.") sendkeys('w' .. default_weapon_letter) end elseif want_to_eat_chunks and number_of_chunks() > 0 then crawl.mpr("Autoeating chunks.") sendkeys('e') elseif chunks_are_useful and on_corpses() and not on_chunks() then crawl.mpr("Autochopping corpse.") sendkeys('c') elseif you_are_near_starving() then crawl.mpr("You are near starving!") return false elseif autocast_spell and mp < autocast_mp then sendkeys('.') elseif you.race() == "Vampire" and you.hunger() <= 0 and hp < max_hp and is_in_inventory("potions? of blood") then crawl.mpr("Autoquaffing potion of blood.") sendkeys('q' .. find_item_letter("potions? of blood")) elseif mp < max_mp or (hp < max_hp and you.race() ~= "Deep Dwarf" and you.hunger_name() ~= "bloodless") or you_have_temporary_nonpositive_effect() then rest() elseif false and want_to_eat_chunks and not (on_chunks() or on_corpses() or string.find(crawl.messages(10), escape("Can't find anything matching that")) or string.find(crawl.messages(10), escape("You may need something to eat soon")) or string.find(crawl.messages(10), escape("know how to get there")) or string.find(crawl.messages(10), escape("Have to go through"))) then crawl.mpr("You may need something to eat soon, looking for food.") if move then local exclude_this = "" if you.god() == "The Shining One" then exlude_this = you.race() end sendkeys(string.char(6) .. "@corpse&&!!rott&&!!skel&&!!sky&&!!necrop&&!!ugly&&!!vampire&&!!corpse rot&&!!botono" .. exclude_this .. "\ra\r") end elseif can_cast and known_abilities["Animate Dead"] and (item_in_view(is_item_corpse_or_skeleton) or on_corpses()) and not string.find(crawl.messages(10), escape("Autocasting Mass Animate Dead")) then crawl.mpr("Autocasting Animate Dead.") sendkeys('a' .. known_abilities["Animate Dead"]) elseif can_cast and known_spells["Animate Dead"] and (item_in_view(is_item_corpse_or_skeleton) or on_corpses()) and (spells.fail("Animate Dead") < spell_threshold) and not you.good_god() and mp > 4 and not string.find(crawl.messages(10), escape("There is nothing here that can be animated")) and not string.find(crawl.messages(20), escape("Autocasting Animate Dead")) then crawl.mpr("Autocasting Animate Dead.") sendkeys('z' .. known_spells["Animate Dead"]) elseif can_cast and known_spells["Animate Skeleton"] and on_corpses() and (spells.fail("Animate Skeleton") < spell_threshold) and not you.good_god() and mp > 1 and not string.find(crawl.messages(10), escape("There is nothing here that can be animated")) then crawl.mpr("Autocasting Animate Skeleton.") sendkeys('z' .. known_spells["Animate Skeleton"]) elseif can_cast and known_abilities["Animate Remains"] and on_corpses() then crawl.mpr("Autocasting Animate Remains.") sendkeys('a' .. known_abilities["Animate Remains"]) else --This does the general travelling return true end end return nil end -- autopickup -- don't pickup low-priority items if we have this or less than this number of slots left (plus one slot for chunks if not in inventory) local inventory_available_slots = 1 local connected_branches = array_to_set({"D", "Temple", "Orc", "Elf", "Lair", "Swamp", "Shoals", "Snake", "Spider", "Slime", "Vaults", "Crypt", "Tomb", "Hell", "Dis", "Geh", "Coc", "Tar", "Zot", "Depths"}) local infinite_disconnected_branches = array_to_set({"Abyss", "Pan", "Zig"}) local subtypes_with_plus = array_to_set({"amulet of reflection", "ring of evasion", "ring of protection", "ring of strength", "ring of intelligence", "ring of dexterity", "ring of slaying"}) local strategic_scrolls = array_to_set({"enchant armour", "enchant weapon", "brand weapon", "amnesia", "acquirement", "recharging"}) local strategic_potions = array_to_set({"cure mutation", "beneficial mutation", "experience"}) local armour_patterns = {"crystal plate mail", "troll leather armour", "animal skin", "robe", "%a+ mail", "%a+ armour", "dragon %a+", "cloak", "gloves", "helmet", "hat", "boots", "%a+ barding", "buckler", "large shield", "shield"} local ring_limits = {["ring of poison resistance"] = 1, ["ring of resist corrosion"] = 1, ["ring of see invisible"] = 1, ["ring of teleportation"] = 1, ["ring of flight"] = 1, ["ring of positive energy"] = 1} -- no limit on rC and rF due to vulnerabilities local melee_skills = array_to_set({"Short Blades", "Long Blades", "Axes", "Maces & Flails", "Polearms", "Staves", "Unarmed Combat"}) local ranged_skills = array_to_set({"Bows", "Crossbows", "Throwing", "Slings"}) local missile_skills = {["throwing net"] = "Throwing", ["tomahawk"] = "Throwing", ["javelin"] = "Throwing", ["stone"] = "Throwing", ["needle"] = "Throwing", ["large rock"] = "Throwing", ["bullet"] = "Slings", ["arrow"] = "Bows", ["bolt"] = "Crossbows", ["large rock"] = "Throwing"} local launcherless_ranged_skills = array_to_set({"Throwing"}) local large_missiles = array_to_set({"large rock"}) local large_races = array_to_set({"Ogre", "Troll"}) local utility_weapon_skills = array_to_set({"Polearms"}) local race_ring_limits = {["Octopode"] = 8} local inventory_size = 52 function item_stripped_and_stemmed_name(it) local name = it.name() if not name then return nil end return name:gsub("^cursed ", ""):gsub("^uncursed ", ""):gsub("^enchanted ", ""):gsub("^[+-][0-9]+ ", ""):gsub("^pair of ", ""):gsub("^glowing ", ""):gsub("^runed ", ""):gsub("^embroidered ", ""):gsub("^shiny ", ""):gsub("^dyed ", ""):gsub("ies+ ", "y"):gsub("ies+$", "y"):gsub("s+ ", ""):gsub("s+$", "") end local my_pickup_trace_enabled = false function my_pickup_debug() my_pickup_trace_enabled = not my_pickup_trace_enabled crawl.mpr("Auto pickup debug " .. (my_pickup_trace_enabled and "enabled" or "disabled")) end function my_pickup_trace(s) if my_pickup_trace_enabled then crawl.mpr(s) end end function classify_item(it) local trace = my_pickup_trace local r = {} -- strategic means it's useful when out of combat and fully rested local attrs = {} local class = it.class(true) if not it.stacks() then attrs.limit = 1 end if class == "armour" then local name = it.name() local key for _, p in ipairs(armour_patterns) do local m = string.match(name, "%f[%a]" .. p .. "%f[%A]") if m then key = m end end local ego = it.ego() if it.artefact or (it.branded and ego == nil) then key = nil elseif key == nil then key = item_stripped_and_stemmed_name(it) crawl.mpr("Unclassified armour in autopickup Lua code: " + name + " - assuming it's a " .. key .. "") end local plus = it.plus local low, high = plus, plus if plus == nil then low = -3 high = 0 end if key ~= nil and ego ~= nil then table.insert(r, {key = key .. ":" .. ego, attrs = attrs, low = low, high = high}) end table.insert(r, {key = key, attrs = attrs, low = low, high = high}) elseif class == "weapon" then local key = it.weap_skill .. ":" .. it.damage .. ":" .. it.accuracy local plus = it.plus local low, high = plus, plus --local name = it.name() --name and string.sub(name, 1, 10) == "enchanted " if plus == nil then low = -3 high = 0 end low = low + (it.damage or 0) high = high + (it.damage or 0) local ego = it.ego() if it.artefact or (it.branded and ego == nil) then key = nil low = -100 if it.artefact and it.fully_identified then -- HACK: identified artifacts could be known to be really bad, assume they are high = -100 else high = 100 end end if key ~= nil and ego ~= nil then table.insert(r, {key = key .. ":" .. ego, attrs = attrs, low = low, high = high}) end if key == nil or (ego ~= "distortion" and ego ~= "vampirism") then table.insert(r, {key = key, attrs = attrs, low = low, high = high}) end table.insert(r, {key = it.weap_skill, attrs = attrs, low = low, high = high}) else local subtype = it.subtype() local key if it.artefact then key = nil trace("classify_item " .. (it.name() or "nil") .. " -> nil (from being artefact)") elseif subtype == nil then -- unpluralize key = item_stripped_and_stemmed_name(it) trace("classify_item " .. (it.name() or "nil") .. " -> " .. (key or "nil") .. " (from name)") else key = subtype trace("classify_item " .. (it.name() or "nil") .. " -> " .. (key or "nil") .. " (from subtype)") end local plus = it.plus local low, high = plus, plus if plus == nil then -- TODO: use the correct ranges if class == "jewellery" and (not subtype or subtypes_with_plus[subtype]) then low = -6 high = 6 elseif class == "rod" then low = -3 high = 9 else low = 0 high = 0 end end if class == "scroll" then attrs.limit = nil -- enchant scrolls are potentially useful for felids too due to troves if strategic_scrolls[subtype] then attrs.strategic = true end elseif class == "potion" then attrs.limit = nil if strategic_potions[subtype] then attrs.strategic = true end elseif class == "rod" or class == "wand" or class == "food" or class == "missile" then attrs.limit = nil elseif class == "staff" then attrs.limit = 1 elseif class == "jewellery" then if it.equip_type == 101 then -- ring attrs.limit = race_ring_limits[you.race()] if attrs.limit == nil then attrs.limit = 2 end -- TODO: add 1 if we have seen macabre amulet else attrs.limit = 1 end local ring_limit = ring_limits[subtype] if ring_limit ~= nil then if attrs.limit > ring_limit then attrs.limit = ring_limit end end elseif class == "book" then if it.spells then -- don't need the book itself, only spells, unless we want to burn it if you.god() == "Trog" then key = "book" attrs.limit = nil attrs.low_priority = true else attrs.limit = 0 attrs.strategic = true end elseif subtype and subtype:find("^manual ") then attrs.limit = nil attrs.strategic = true else -- unid books; id books are handled above by spell attrs.limit = 1 attrs.strategic = true end elseif class == "miscellaneous" then if subtype:find("^deck ") then attrs.limit = nil attrs.strategic = true -- TODO: which decks are strategic? end if subtype == "figurine of a ziggurat" then attrs.limit = nil attrs.strategic = true end end table.insert(r, {key = key, attrs = attrs, low = low, high = high}) if class == "missile" then local missile_skill = get_missile_skill(it) if missile_skill then table.insert(r, {key = "missile:" .. missile_skill, attrs = attrs, low = low, high = high}) end end if it.spells then local sp_limit = 1 -- still track spells in case Trog is abandoned if you.god() == "Trog" then sp_limit = 0 end local sp_attrs = {limit = sp_limit, strategic = true} for _, sp in ipairs(it.spells) do table.insert(r, {key = "spell:" .. sp, attrs = sp_attrs, low = 0, high = 0}) end end end return r end local inventory_classification local inventory_is_full local inventory_item_record local floor_item_record function record_items(iter) local item_count = 0 local item_set = {} for it in iter do local name = it.name() if name then item_set[name] = true item_count = item_count + 1 end end return {n = item_count, set = item_set} end function same_items(rec, iter) if rec == nil then return false end local set = rec.set local item_count = 0 for it in iter do local name = it.name() if name then item_count = item_count + 1 if not set[name] then return false end end end if item_count ~= rec.n then return false end return true end local my_pickup_ready_turn function my_pickup_ready() local trace = my_pickup_trace local turn = you.turns() if my_pickup_ready_turn == turn then return end my_pickup_ready_turn = turn if not same_items(inventory_item_record, iter.invent_iterator:new(items.inventory())) then inventory_item_record = record_items(iter.invent_iterator:new(items.inventory())) inventory_classification = {} local num_items = 0 local have_temp_food = false for it in iter.invent_iterator:new(items.inventory()) do local cs = classify_item(it) if cs ~= nil then for _, c in ipairs(cs) do if c.key ~= nil then if inventory_classification[c.key] == nil then inventory_classification[c.key] = {} end table.insert(inventory_classification[c.key], c) if c_persist and c_persist.best_item_value then local best_item_value = c_persist.best_item_value[c.key] if best_item_value ~= nil and c.high >= best_item_value then trace("Unpersist " .. (it.name() or "nil") .. " with " .. c.key .. " = " .. c.high) c_persist.best_item_value[c.key] = nil end end end end end if you.race() == "Vampire" then if it.class(true) == "potion" and it.subtype() == "blood" then have_temp_food = true end else if food.ischunk(it) and food.edible(it) and not food.dangerous(it) then have_temp_food = true end end num_items = num_items + 1 end -- leave one slot for chunks and inventory_available_slots available local free_slots = inventory_size - num_items inventory_is_full = free_slots <= inventory_available_slots or free_slots == (inventory_available_slots + 1) and you.race() ~= "Mummy" and not have_temp_food end -- must be after updating inventory classification if not connected_branches[you.branch()] then floor_item_record = nil elseif not same_items(floor_item_record, iter.invent_iterator:new(you.floor_items())) then floor_item_record = record_items(iter.invent_iterator:new(you.floor_items())) for it in iter.invent_iterator:new(you.floor_items()) do if it.dropped then trace("Dropped " .. (it.name() or "nil")) local class = it.class(true) local cs = classify_item(it) if cs ~= nil then for _, c in ipairs(cs) do if c.key ~= nil then local item_value = c.high local better_in_inventory = 0 local ics = inventory_classification[c.key] if ics ~= nil then for _, ic in ipairs(ics) do if c.key == ic.key and ic.high >= item_value then better_in_inventory = better_in_inventory + 1 end end end if better_in_inventory == 0 then if not c_persist.best_item_value then c_persist.best_item_value = {} end local best_item_value = c_persist.best_item_value[c.key] if best_item_value == nil or item_value > best_item_value then trace("Persist " .. (it.name() or "nil") .. " with " .. c.key .. " = " .. c.high) c_persist.best_item_value[c.key] = item_value end end end end end end end end end function my_pickup_weapons() c_persist.pickup_no_weapons = not c_persist.pickup_no_weapons or nil crawl.mpr("Auto pickup weapons " .. (c_persist.pickup_no_weapons and "disabled" or "enabled")) end function get_missile_skill(it) if it.class(true) ~= "missile" then return nil end local name = it.name() for k, v in pairs(missile_skills) do if name:find(k) then if large_missiles[k] and not large_races[you.race()] then return nil else return v end end end end function my_pickup_func(it, name) local trace = my_pickup_trace my_pickup_ready() trace("AUTOPICKUP: " .. (it.name() or "nil")) local class = it.class(true) local name = it.name() if class == "orb" or name == "Orb of Zot" then trace("let's not autopickup the orb...") return false end if it.is_useless then if (class == "potion" or class == "food") and you.transform() == "lich" then else trace("reject useless item") return false end end if class == "weapon" and not it.artefact then if c_persist.pickup_no_weapons then trace("reject due to disabled weapons") return false end if it.weap_skill and inventory_classification[it.weap_skill] == nil then local is_ranged = false for sk, _ in pairs(ranged_skills) do if it.weap_skill == sk then is_ranged = true end end if is_ranged then if not launcherless_ranged_skills[it.weap_skill] and not inventory_classification["missile:" .. it.weap_skill] then local skill_base = you.base_skill(it.weap_skill) for sk, _ in pairs(ranged_skills) do if you.base_skill(sk) > skill_base then trace("reject launcher due to having trained another skill") return false end end end -- polearm reach can be useful even at 0 elseif utility_weapon_skills[it.weap_skill] then local skill_base = you.base_skill(it.weap_skill) for sk, _ in pairs(melee_skills) do if you.base_skill(sk) > skill_base then trace("reject melee weapon due to having trained another skill") return false end end end end elseif class == "missile" then local skill = get_missile_skill(it) local subtype = it.subtype() if skill and not launcherless_ranged_skills[skill] and inventory_classification[skill] == nil and (subtype == nil or inventory_classification[subtype] == nil) then local skill_base = you.base_skill(skill) for sk, _ in pairs(ranged_skills) do if you.base_skill(sk) > skill_base then trace("reject missile due to having trained another skill") return false end end end end local cs = classify_item(it) if cs ~= nil then local is_primary = true local branch = you.branch() local on_singleton_transient_level = not connected_branches[branch] and not infinite_disconnected_branches[branch] for _, c in ipairs(cs) do trace("classify " .. (it.name() or "nil") .. ": " .. (c.key or "nil") .. "(" .. (c.attrs.limit or "oo") .. (c.attrs.strategic and " s" or "") .. ") = [" .. (c.low or "nil") .. "," .. (c.high or "nil") .. "]") -- if we have some in inventory, and it stacks, there's no reason to not take it (even if we dropped some) if is_primary and c.key ~= nil and inventory_classification[c.key] ~= nil and it.stacks() then trace("accept because it stacks") return true end local useful = true -- if we dropped a potentially equal or better item and it's not strategic, assume we don't want it if not c.attrs.strategic and c.key ~= nil and (not on_singleton_transient_level or c.attrs.limit == 1) and c_persist and c_persist.best_item_value then local best_item_value = c_persist.best_item_value[c.key] if best_item_value ~= nil and c.high <= best_item_value then if is_primary then trace("reject due to primary persist: " .. c.key .. " = " .. best_item_value) return false else trace("no accept due to persist: " .. c.key .. " = " .. best_item_value) useful = false end end end if c.limit == 0 then useful = false end -- if we have enough in inventory, we don't need it if useful and c.key ~= nil and c.attrs.limit ~= nil then local better_in_inventory = 0 local similar_in_inventory = 0 local ics = inventory_classification[c.key] if ics ~= nil then for _, ic in ipairs(ics) do if c.high <= ic.low then trace("better in inventory: " .. (c.key or "nil") .. " = " .. ic.low) better_in_inventory = better_in_inventory + 1 elseif c.high <= ic.high then similar_in_inventory = similar_in_inventory + 1 end end end if better_in_inventory >= c.attrs.limit then trace("no accept due to inventory: " .. (c.key or "nil")) useful = false elseif similar_in_inventory >= c.attrs.limit and inventory_is_full then trace("no accept due to similar in full inventory: " .. (c.key or "nil")) useful = false end end if useful and c.low_priority and inventory_is_full then trace("no accept due to inventory full") useful = false end if useful then trace("accept: " .. (c.key or "nil")) return true end is_primary = false end trace("reject classified") return false else trace("accept because it's unclassified") return true end end function clear_persist() c_persist.best_item_value = nil c_persist.pickup_no_weapons = nil end local first_turn_done = false function first_turn() -- XL 1 check so we don't load a dump multiple times in case we save and restart at turn 0 if you.turns() == 0 and you.xl() == 1 and not first_turn_done then clear_persist() first_turn_done = true if you.name() == "test" then sendkeys("&yes\r\r&#test.txt\r\r\r\r\r") else sendkeys("m") end end end local ready_function = false function my_ready() if not ready_function then crawl.mpr("Custom ready function enabled") ready_function = true end AnnounceDamage() SpoilerAlert() first_turn() auto_ready() my_pickup_ready() end function ready() my_ready() end enable_manual_only_force_mores(true) add_autopickup_func(my_pickup_func) crawl.mpr("Custom Lua code initialized") }