###################################################
### Tile options
# tile_map_scale = 0.8
#tile_skip_title = true
tile_window_width = -100
tile_window_height = -200
#tile_map_pixels = 1
#tile_cell_pixels = 64
tile_filter_scaling = false
tile_font_crt_size = 20
tile_font_stat_size = 20
tile_font_msg_size = 20
tile_font_tip_size = 20
tile_font_lbl_size = 20
# font change (the default one is ugly)
#tile_font_crt_family = Lucida Console
#tile_font_stat_family = Lucida Console
#tile_font_msg_family = Lucida Console
#tile_font_lbl_family = Lucida Console
#tile_font_crt_file = VeraMono.ttf
#tile_font_stat_file = VeraMono.ttf
#tile_font_msg_file = VeraMono.ttf
#tile_font_tip_file = VeraMono.ttf
#tile_font_lbl_file = Vera.ttf
#tile_font_ft_light = false
### Game options
tile_show_threat_levels = tough,nasty,unusual
explore_delay = -1
# travel_delay = 5
travel_delay = -1
rest_delay = -1
show_travel_trail = true
# explore_mode = yes
# wiz_mode = yes
remember_name = false
#travel_open_doors = false
explore_key_stop = true
# don't auto-explore over deep water
travel_avoid_terrain = deep water
# display low HP warning when [X]% HP or below
hp_warning = 60
# https://github.com/crawl/sequell/blob/master/docs/listgame.md
# !lg * win mibe -log -2
# DCSS stats :
# https://dcss-stats.vercel.app/
# Whether to show the "Zot" status light at all times, even when you've got plenty of time left.
always_show_zot = true
####
# https://crawl.xtahua.com/crawl/rcfiles/crawl-0.29/p0werm0de.rc
easy_confirm = all
autofight_caught = true
explore_auto_rest = true
rest_wait_percent = 100
# ability_slot ^=Heroism:b
# ability_slot ^=Finesse:d
dump_item_origins = all
easy_quit_item_prompts = true
bold_brightens_foreground = true
# This will stop autotravel if the Necromutation spell (lichform) is nearly over and
# allow you to recast it before it runs out.
runrest_ignore_message -= transformation is almost over\.
###################################################
## https://crawl.akrasiac.org/rcfiles/crawl-git/Zamiul.rc
# Call Functions
<
function ready()
AnnounceDamage()
end
>
# Skill menu at game start by rwbarton
<
local need_skills_opened = true
function ManualSkills()
if you.turns() == 0 and need_skills_opened then
need_skills_opened = false
crawl.sendkeys("m")
end
end
ManualSkills()
>
# 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
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
>
# Equipment autopickup (by Medar and various others)
<
local function pickup_equipment(it, name)
if it.is_useless then return end
local class = it.class(true)
if class == "armour" then
local good_slots = {cloak="Cloak", helmet="Helmet",
gloves="Gloves", boots="Boots"}
st, _ = it.subtype()
-- Autopickup found aux armour if 1) we don't have any or 2) it's artefact,
-- or 3) if we don't have artefact or ego armour, and the found armour is
-- ego.
if good_slots[st] ~= nil then
if good_slots[st] == "Gloves" and you.has_claws() > 0 then return end
if it.artefact then return true end
local cur = items.equipped_at(good_slots[st])
if cur == nil then return true end
if cur.branded or cur.artefact then return end
if it.branded then return true end
-- Autopickup found body armour of the same kind we're wearing, according
-- to conditions (2) and (3) above used for aux slots.
elseif st == "body" then
local cur = items.equipped_at("armour")
if cur == nil then return end
if cur.name("qual") ~= it.name("qual") then return end
if it.artefact then return true end
if cur.branded or cur.artefact then return end
if it.branded then return true end
end
end
return
end
add_autopickup_func(pickup_equipment)
>
# Zamiul's settings
default_manual_training = true
# default_show_all_skills = true
equip_unequip = true
show_more = false
always_show_zot = true
rest_wait_both = true
autofight_stop = 80
#explore_wall_bias = 3
#autopickup_exceptions ^=