##### Crawl Init file ###############################################
# For descriptions of all options, as well as some more in-depth information
# on setting them, consult the file
# options_guide.txt
# in your /docs directory. If you can't find it, the file is also available
# online at:
# https://github.com/crawl/crawl/blob/master/crawl-ref/docs/options_guide.txt
#
# Crawl uses the first file of the following list as its option file:
# * init.txt in the -rcdir directory (if specified)
# * .crawlrc in the -rcdir directory (if specified)
# * init.txt (in the Crawl directory)
# * ~/.crawl/init.txt (Unix only)
# * ~/.crawlrc (Unix only)
# * ~/init.txt (Unix only)
# * settings/init.txt (in the Crawl directory)
##### Some basic explanation of option syntax #######################
# Lines beginning with '#' are comments. The basic syntax is:
#
# field = value or field.subfield = value
#
# Only one specification is allowed per line.
#
# The terms are typically case-insensitive except in the fairly obvious
# cases (the character's name and specifying files or directories when
# on a system that has case-sensitive filenames).
#
# White space is stripped from the beginning and end of the line, as
# well as immediately before and after the '='. If the option allows
# multiple comma/semicolon-separated terms (such as
# autopickup_exceptions), all whitespace around the separator is also
# trimmed. All other whitespace is left intact.
#
# There are three broad types of Crawl options: true/false values (booleans),
# arbitrary values, and lists of values. The first two types use only the
# simple =, with later options - which includes your options that are different
# from the defaults - overriding earlier ones. List options allow using +=, ^=,
# -=, and = to append, prepend, remove, and reset, respectively. Usually you will
# want to use += to add to a list option. Lastly, there is := which you can use
# to create an alias, like so:
# ae := autopickup_exceptions
# From there on, 'ae' will be treated as if it you typed autopickup_exceptions,
# so you can save time typing it.
#
##### Other files ###################################################
# You can include other files from your options file using the 'include'
# option. Crawl will treat it as if you copied the whole text of that file
# into your options file in that spot. You can uncomment some of the following
# lines by removing the beginning '#' to include some of the other files in
# this folder.
# Some useful, more advanced options, implemented in LUA.
# include = advanced_optioneering.txt
# Alternative vi bindings for Dvorak users.
# include = dvorak_command_keys.txt
# Alternative vi bindings for Colemak users.
# include = colemak_command_keys.txt
# Override the vi movement keys with a non-command.
# include = no_vi_command_keys.txt
# Turn the shift-vi keys into safe move, instead of run.
# include = safe_move_shift.txt
##### Ancient versions ##############################################
# If you're used to the interface of ancient versions of Crawl, you may
# get back parts of it by uncommenting the following options:
# include = 034_command_keys.txt
# And to revert monster glyph and colouring changes:
# include = 034_monster_glyphs.txt
# include = 052_monster_glyphs.txt
# include = 060_monster_glyphs.txt
# include = 071_monster_glyphs.txt
# include = 080_monster_glyphs.txt
# include = 0.9_monster_glyphs.txt
# include = 0.12_monster_glyphs.txt
# include = 0.13_monster_glyphs.txt
# include = 0.14_monster_glyphs.txt
{
function ready()
AnnounceDamage()
end
}
#Don't force --more message on full chat log
show_more = false
#Default Starting Options
default_manual_training = true
#UI
#########
#HDamage#
#########
# Ask HilariousDeathArtist to fix things
# To use this you must add have a call to AnnounceDamage() in the ready() function like below:
# This is important if you override this ready() function
<
>
###############
# 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
>
############
#HP MP Coloring
hp_colour = 100:green, 75:yellow, 50:lightred, 25:red
mp_colour = 100:green, 75:yellow, 50:lightred, 25:red
#Movement Options
#Slow down movement
explore_delay = -1
travel_delay = -1
#Autofight
#Prevents autofighting when HP(Current)<70%HP(Max)
autofight_stop = 70
#Forces Y/N prompts instead of y/n prompts
easy_confirm = none
#Prompts
force_more_message += Your scales start
force_more_message += Careful!
force_more_message += Found a gateway leading out of the Abyss
force_more_message += Found .* abyssal rune of Zot
force_more_message += You are starting to lose your buoyancy
force_more_message += You start to feel a little slower
force_more_message += Your transformation is almost over
force_more_message += You have a feeling this form
force_more_message += You feel yourself come back to life
force_more_message += You fall through a shaft
force_more_message += The alarm trap emits a blaring wail
force_more_message += You lose control over your flight
force_more_message += You start to feel a little uncertain
force_more_message += time is quickly running out
force_more_message += life is in your own hands
force_more_message += dispelling energy hits you
force_more_message += You convulse
force_more_message += god:(sends|finds|silent|anger)
force_more_message += divine experience
force_more_message += You have finished your manual
force_more_message += You are (blasted|electrocuted)!
force_more_message += Your surroundings flicker
force_more_message += The writing blurs in front of your eyes
force_more_message += Space bends around you
force_more_message += The blast of calcifying dust hits you
force_more_message += Your shroud falls apart
force_more_message += Your shroud unravels
force_more_message += You feel less protected from missiles
force_more_message += You have got your breath back
force_more_message += Your divine stamina fades
force_more_message += Your aura of abjuration
force_more_message += You feel yourself slow down
force_more_message += Your hands slow down
force_more_message += Your claws slow down
force_more_message += You feel like a meek peon
force_more_message += Your skin stops crawling
force_more_message += You don't have enough magic to cast that spell
force_more_message += You can't see any susceptible
force_more_message += You miscast
force_more_message += You regain access to
force_more_message += You feel less invigorated
force_more_message += Your surroundings suddenly
force_more_message += Your surroundings seem slightly
force_more_message += You now have enough gold
force_more_message += Your can now gain great
force_more_message += You fail to use your
force_more_message += Your corrosive artefact
force_more_message += The ironbrand convoker begins to recite a word of recall
force_more_message += A sentinel's mark forms upon you
force_more_message += You are confused
force_more_message += Your battlesphere expends
force_more_message += Your battlesphere is destroyed
force_more_message += Your battlesphere wavers
force_more_message += *corrodes you
force_more_message += Your song has ended.
force_more_message += You don't have enough magic
force_more_message += You feel strangely
force_more_message += You are contaminated with residual
force_more_message += You have no means
force_more_message += You cannot cast spells while unable to breathe
force_more_message += You can't do that in your present form
force_more_message += The entropic weave corrodes you
force_more_message += Your toxic aura wanes
force_more_message += You're already wearing
force_more_message += The Orb prevents this spell
force_more_message += You blink
force_more_message += The acid corrodes you!
force_more_message += Your unholy channel expires
force_more_message += You cannot read scrolls
force_more_message += The power of Zot is invoked
force_more_message += You flicker back into
force_more_message += You are yanked forward
force_more_message += You feel you are being watched
force_more_message += The rust devil corrodes
force_more_message += The wizard flickers and vanishes*
force_more_message += The death cob drains your
force_more_message += You feel weirdly uncertain
force_more_message += You feel angry
force_more_message += Strange energies course
force_more_message += Your dark mirror aura
force_more_message += Your body is wracked
force_more_message += You feel a little less
force_more_message += You're too hungry
force_more_message += You cannot throw anything
force_more_message += You focus on the
force_more_message += You cannot teleport because
force_more_message += You cannot blink
force_more_message += You are knocked back
force_more_message += You revert to your normal
force_more_message += You have no blood to
force_more_message += The winds around you
force_more_message += You cannot shoot
force_more_message += An iron grate slams
force_more_message += You are ready to recite again
force_more_message += A sentinel's mark forms
force_more_message += The klown pie hits you
force_more_message += Really read with blurry vision while enemies are nearby?
force_more_message += You're too confused to cast
force_more_message += That space is already occupied
# force "more" when these happen
# alias first
more := force_more_message
# nasty monsters in sight
more += (giant eyeball|shard shrike|shining eye|cacodemon|neqoxec|guardian serpent|flayed ghost|hell sentinel|fiend|tzitzimitl|tormentor|hellion|ancient lich|orb of fire|death cob|juggernaut|iron giant|caustic shrike|entropy weaver|moth of wrath|ghost moth|curse toe|curse skull|draconian shifter|draconian zealot|draconian scorcher|deep elf demonologist|greater mummy|ironbrand convoker|rakshasa|deep elf sorcerer|thorn hunter|doom hound).*into view
# unique or pan lord in sight
more += (?-i:[A-Z]).* comes? into view
# distortion weapon
more += Space warps horribly around you
more += Space bends around you
more += hits you.*distortion
more += warns you.*of distortion
more += is wielding.*of distortion
more += is wielding.*of chaos
more += is wielding.*of elec
#Skills
force_more_message += Your Fighting skill
force_more_message += Your Short Blades skill
force_more_message += Your Long Blades skill
force_more_message += Your Axes skill
force_more_message += Your Maces & Flails skill
force_more_message += Your Polearms skill
force_more_message += Your Staves skill
force_more_message += Your Unarmed Combat skill
force_more_message += Your Bows skill
force_more_message += Your Crossbows skill
force_more_message += Your Throwing skill
force_more_message += Your Slings skill
force_more_message += Your Armour skill
force_more_message += Your Dodging skill
force_more_message += Your Shields skill
force_more_message += Your Spellcasting skill
force_more_message += Your Conjurations skill
force_more_message += Your Hexes skill
force_more_message += Your Charms skill
force_more_message += Your Summonings skill
force_more_message += Your Necromancy skill
force_more_message += Your Translocations skill
force_more_message += Your Transmutations skill
force_more_message += Your Fire Magic skill
force_more_message += Your Ice Magic skill
force_more_message += Your Air Magic skill
force_more_message += Your Earth Magic skill
force_more_message += Your Poison Magic skill
force_more_message += Your Invocations skill
force_more_message += Your Evocations skill
force_more_message += Your Stealth skill
force_more_message += Your base*
#Autotravel Stops
runrest_stop_message += You now have enough gold
runrest_stop_message += Your skin stops
runrest_stop_message += appears from out of your range of vision
#Manual
force_more_message += You have finished your manual*
#Wyrmbane Levelup
force_more_message += The lance glows*
#CharDump
dump_item_origins = artefacts
dump_skill_gains = true
dump_vaults = true
dump_turns_by_place = true
dump_message_count = 60
#AutoInscriptions
##Set scroll of identify to r1, RC to r2, pot of curing to q1
ai := autoinscribe
ai += of identify:@r1
ai += remove curse:@r2
ai += curing:@q1
##Ask to throw throwing nets
autoinscribe += throwing net:!f
autoinscribe += curare*:!f
autoinscribe += needle of sleeping:!f
autoinscribe += needles of sleeping:!f
autoinscribe += needle of paralysis:!f
autoinscribe += needles of paralysis:!f
autoinscribe += dispersal*:!f
autoinscribe += atropa*:!f
#Autobutcher
auto_butcher=true
#Rest until full before autoexploring
explore_auto_rest = true
ability_slot += Berserk:B
#Autothrow
#autofight_throw = true
#Autoitem slots for throwing
item_slot += tomahawk : A
item_slot += tomahawk of returning : B
item_slot += poisoned tomahawk : C
item_slot += silver tomahawk : D
item_slot += steel tomahawk : E
item_slot += javelin : F
item_slot += poisoned javelin : G
item_slot += steel javelin : H
item_slot += large rock : I
item_slot += exploding tomahawk : W
item_slot += tomahawk of dispersal : X
item_slot += throwing net : Y
item_slot += javelin of penetration : Z
#Warn before taking hatches down
warn_hatches = true
#Keep tile size when using shift-x
tile_map_scale = 1
#Turn off monster threat outlines
tile_show_threat_levels =