##### 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
#TEAMCAPTAIN ww7
# 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
>
###############
# 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("Danger: You now have " .. current_mp .. "/" ..max_mp .." mp.")
elseif current_mp <= (max_mp / 2) then
crawl.mpr("Warning: 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
>
###############
# Spell slots #
###############
# Set Alias for Spell Slots
slot := spell_slot
# Try to keep in alphabetic order (by keybind)
slot += Freeze:a
slot += Blink:f
slot += Confuse:c
slot += Conjure Flame:c
slot += Control Undead:c
slot += Spider Form:c
slot += Deflect Missiles:p
slot += Repel Missiles:p
slot += Fireball:f
slot += Apportation:a
slot += Haste:w
slot += Sublimation of Blood:x
slot += Regeneration:z
slot += Condensation Shield:t
slot += Shroud of Golubria:b
slot += Stoneskin:q
slot += Blade Hands:v
slot += Mephitic Cloud:f
slot += Spectral Weapon:c
slot += Ozocubu's Armour:r
slot += Controlled Blink:g
slot += Summon Butterflies:v
slot += Phase Shift:q
slot += Song of Slaying:e
iSlot := item_slot
iSlot += blowgun:w
iSlot += scroll of identify:r
iSlot += troll hide:z
iSlot += amulet of regeneration:p
iSlot += amulet of resist mutation:P
iSlot += bread ration:d
###############
# Auto Travel #
###############
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
# 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:
default_manual_training = true
use_animations += beam, range, hp, monster_in_sight, pickup, monster, player, branch_entry
view_delay = 150
#travel_delay = 10
#fake_lang = butt,grunt
#tile_show_player_species = true
language = ko
easy_eat_chunks = true
#$ lab_chat_redirect = true
#$ lab_ability_window_translate = true
#$ lab_interface_translate = true
#$ lab_skill_window_translate = true
#$ lab_magic_window_translate = true
#$ lab_apply_font = true
tile_Player_tile = mons:elf_blademaster
confirm_butcher = never
auto_eat_chunks = true
auto_drop_chunks = yes
easy_eat_contaminated = true
autofight_stop = 50
auto_butcher = true