########################################
# Timbabwe - Crawl.rc - Version 0.22 #
########################################
<
function ready()
AnnounceDamage()
end
>
#################
# Damage Calc #
#################
<
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
>
################
# 3. Interface #
################
# (1.) Starting screen
default_manual_training = true
# 3-a. Dropping and Picking up
# See AUTOPICKUP
# 3-g. Command enhancements
# See SPELLSLOTS
allow_self_target = prompt
sort_menus = true
easy_confirm = all
easy_eat_chunks = true
confirm_butcher = never
auto_eat_chunks = true
auto_drop_chunks = yes
auto_butcher = true
easy_eat_contaminated = true
equip_unequip = true
show_more = false
small_more = true
show_game_turns = true
autofight_throw = false
autofight_throw_nomove = false
autofight_fire_stop = true
autofight_stop = 68
automagic_stop = 68
automagic_enable = false
automagic_slot = a
automagic_fight = true
# 3-e. Viewport Display Options
msg_min_height=7
msg_max_height=10
# 3-f. Travel and Exploration
# See AUTOTRAVEL, AUTOEXCLUDE
wall_jump_move = false
# 3-h. Message and Display Improvements
# See FORCEMORE
#hp_warning = 25 -- Damage Calc overrides these
#mp_warning = 25 -- Damage Calc overrides these
#hp_colour = 100:green, 99:lightgrey, 75:yellow, 50:lightred, 25:red -- Default 50:yellow, 25:red
#mp_colour = 100:green, 99:lightgrey, 75:yellow, 50:lightred, 25:red -- Default 50:yellow, 25:red
#stat_colour = 3:red, 7:lightred -- Default 1:lightred, 3:red
# 3-i. Colours (messages and menus)
#menu_colour, message_colour
# 3-j. Missiles
fire_order = launcher, return
fire_order += rock, javelin, tomahawk, stone
# 3-l. Inscriptions
#autoinscribe
# 3-m. Macro related Options
bindkey = [g] CMD_AUTOFIGHT_NOMOVE
#######################
# 4. Character Dump #
#######################
dump_item_origins = all
dump_item_origin_price = 100
dump_message_count = 100
#dump_order = header,hiscore,stats,misc,mutations,skills,spells,overview,inventory
#dump_order += screenshot,monlist,messages,action_counts,vaults,notes,kills
dump_order += vaults, turns_by_place, kills_by_place
dump_book_spells = false
note_hp_percent = 25
note_all_skill_levels = true
note_chat_messages = false
note_xom_effects = true
note_items += of Zot,rod,acquirement
note_messages += Your scales start
note_messages += protects you from harm
note_messages += You fall through a shaft
note_messages += [bB]anish.*Abyss
note_monsters += orb of fire,silver star,pearl dragon,ancient lich
################
# SPELLSLOTS #
################
spell_slot += Conjure Flame:f
spell_slot += Ozocubu's Armour:o
spell_slot += Regeneration:r
spell_slot += Sticks to Snakes:s
spell_slot += Blink:B
spell_slot += Control Teleport:C
spell_slot += Deflect Missiles:D
spell_slot += Sticky Flame:F
spell_slot += Haste:H
spell_slot += Repel Missiles:R
spell_slot += Swiftness:S
spell_slot += Silence:S
#################
# AUTOEXCLUDE #
#################
# Dangerous monsters
auto_exclude += ancient lich, death drake, hydra, ice statue, jelly, orb of fire
# Paralysing monsters and uniques
auto_exclude += [^c] wizard, ancient lich, Ereshkigal, Erolcha, eyeball, Grinder, Jory, lich
auto_exclude += Norris, ogre-mage, orb of eyes, orc sorcerer, Rupert, sphinx, vampire knight
# Other uniques and unique followers
auto_exclude += Agnes, Aizul, Arachne, Asterion, Blork, Boris, Crazy Yiuf, Donald, Dowan
auto_exclude += Duvessa, Edmund, Erica, Eustachio, Fannar, Frances, Frederick, Gastronok
auto_exclude += Grum, Harold, Ijyb, Jessica, Jorgrun, Joseph, Kirke, Louise, Mara, Maud
auto_exclude += Maurice, Menkaure, Mennas, Natasha, Nergalle, Nessos, Nikola, Pikel
auto_exclude += Polyphemus, Prince Ribbit, Psyche, Roxanne, Saint Roka, Sigmund, Snorg
auto_exclude += Sojobo, Sonja, Terence, Urug, Wiglaf, Xtahua, hog, slave
################
# AUTOTRAVEL #
################
# Set travel delay to -1 for instant-travel, set to 1 to see travel paths
travel_delay = 10
explore_stop = glowing_items,artefacts,greedy_pickup_smart
explore_stop += greedy_visited_item_stack,stairs,shops
explore_stop += altars,portals,branches,runed_doors,greedy_sacrificeable
# Adjusts how much autoexplore favours attempting to discover room perimeters and corners.
# At values higher than 0, autoexplore will more heavily favour visiting squares that are next to walls
# reasonable values range from 0 to 10 maybe?
explore_wall_bias = 3
# Make auto travel sacrifice corpses
sacrifice_before_explore = true
auto_sacrifice = true
# Disables/enables key press from stopping autoexplore
travel_key_stop = true
runrest_ignore_poison = 3:30
runrest_ignore_monster += butterfly:1
trapwalk_safe_hp = dart:15,needle:25,arrow:25,bolt:30,spear:20,axe:40,blade:50
# Only stop resting when both HP/MP are full
rest_wait_both = true
# Set Alias'
stop := runrest_stop_message
ignore := runrest_ignore_message
ignore += You regained.*mp
# Annoyances -- Don't stop autotravel for these events
ignore += A.*toadstool withers and dies
ignore += disappears in a puff of smoke
ignore += engulfed in a cloud of smoke
ignore += engulfed in white fluffiness
ignore += grinding sound
ignore += in your inventory.*rotted away
ignore += safely over a trap
ignore += standing in the rain
ignore += toadstools? grow
ignore += You feel.*sick
ignore += You walk carefully through the
# Jiyva Messages
ignore += Jiyva appreciates your sacrifice
ignore += Jiyva gurgles merrily
ignore += Jiyva says: Divide and consume
ignore += You hear.*splatter
# Qazlal
ignore += The plant is engulfed
ignore += You destroy the (bush|fungus|plant)
ignore += You displace your
# Bad things -- Stop autotravel for these events (duplicates some of HDAForceMore)
stop += (blundered into a|invokes the power of) Zot
stop += (devoid of blood|starving)
stop += A huge blade swings out and slices into you[^r]
stop += An alarm trap emits a blaring wail
stop += flesh start
stop += found a zot trap
stop += hear a soft click
stop += lose consciousness
stop += sense of stasis
stop += Wait a moment
stop += wrath finds you
stop += You fall through a shaft
# Expiring spells effects -- Stop to allow recasts (duplicates some of HDAForceMore)
# 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 += You feel yourself slow down
# Phase Shift
more += You feel closer to the material plane
# Repel/Deflect
stop += missiles spell is about to expire
# Shroud of Golubria
stop += shroud begins to fray
stop += shroud unravels
more += Your shroud falls apart
# Swiftness
stop += start to feel a little slower
# Transmutations
more += Your transformation is almost over
more += You have a feeling this form
more += Your skin feels tender
more += You feel yourself come back to life
# Ghouls (Not part of HDAForceMore)
: if you.race() == "Ghoul" then
stop += smell.*(rott(ing|en)|decay)
stop += something tasty in your inventory
: end
# Good things - Bad things wearing off (Duplicates some of HDAForceMore)
stop += contamination has completely
stop += You are no longer firmly anchored in space
#Ally actions?
#ignore += pray:
#ignore += friend_spell:
#ignore += friend_enchant:
#ignore += friend_action:
#ignore += sound:
################
# 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 += 2) or armourname:find("dragon") or armourname:find("troll") then
return it.artefact
else
return it.artefact or it.branded or it.ego
end
end
return true
end
if (sub_type == "shield") then
if equipped_item then
return it.artefact or it.branded or it.ego
end
end
end
if (class == "weapon") then
if it.is_useless then return false end
if (you.xl() < 12) or (you.god():find("Nemelex")
or (you.god():find("Yred"))
or (you.god():find("Beogh"))) then
if it.branded and not (it.name() == "club") then
return false
end
end
local weapon = items.equipped_at("Weapon")
if weapon then
if (weapon.branded or weapon.artefact) then return false
else
local weapon_name = weapon.name()
local sb = you.skill("Short Blades")
local lb = you.skill("Long Blades")
local axe = you.skill("Axes")
local mf = you.skill("Maces & Flails")
local pole = you.skill("Polearms")
local staff = you.skill("Staves")
if sb > 6 then
if name:find("quick blade") then return true end
end
if lb > 8 then
if name:find("demon blade") then return true end
if name:find("bastard sword") then return true end
if name:find("double sword") then return true end
end
if lb > 14 then
if name:find("claymore") then return true end
if name:find("triple sword") then return true end
end
if axe > 8 and mf <= 8 then
if name:find("battleaxe") then return true end
if name:find("broad axe") then return true end
if name:find("war axe") then return true end
if name:find("executioner") then return true end
end
if axe > 18 then
if name:find("executioner") then return true end
end
if mf > 8 and staff <= 8 and axe <= 8 then
if name:find("eveningstar") then return true end
if name:find("demon whip") then return true end
if name:find("sacred scourge") then return true end
if name:find("dire flail") then return true end
end
if mf > 14 and staff <= 14 and axe <= 14 then
if name:find("great mace") then return true end
end
if pole > 8 and staff <= 8 then
if name:find("demon trident") then return true end
if name:find("trishula") then return true end
end
if pole > 14 and staff <= 14 then
if name:find("glaive") then return true end
if name:find("bardiche") then return true end
end
if staff > 8 then
if name:find("lajatang") then return true end
end
end
elseif (you.skill("Unarmed Combat") < 1) then
return true
end
end
end)
}
###############
# FORCEMORE #
###############
# 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
# 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 += You miscast
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 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 += 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
# Ozocubu's Armour and Condensation Shield
more += Your icy (shield|armour) evaporates
more += Your.*(shield|armour) melts away
# Phase Shift
more += You feel closer to the material plane
more += You are firmly grounded in the material plane once more
# Repel/Deflect
stop += missiles spell is about to expire
more += You feel less protected from missiles
# Shroud of Golubria
stop += shroud begins to fray
stop += shroud unravels
more += Your shroud falls apart
# Silence
more += Your hearing returns
# Swiftness
stop += start to feel a little slower
more += You feel sluggish
# Transmutations
more += Your transformation is almost over
more += You have a feeling this form
more += Your skin feels tender
more += You feel yourself come back to life
# 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
# Gaining new abilities
: if you.god() ~= "Uskayaw" then
more += You can now
more += Your?.*can no longer
: end
# 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)