#Increased font size in dungeon crawl
#INCLUDE THIS IN OR EQUIVALENT FOLDER: /usr/share/crawl/settings/init.txt
#(without the # in the include = custom_settings.txt)
#include = custom_settings.txt
#fullscreen
#tile_full_screen = false
#if you wanna use a custom font, you need to
#copy the *.ttf file in this directory:
#usr/share/crawl/dat/tiles/
#im currently using DroidSansMono.ttf
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
#FontSizes (my current settings)
#crt - non-map screens (menus, message history, etc.)
tile_font_crt_size = 20
#stat - stat area (hit points, AC, etc.)
tile_font_stat_size = 20
#msg - message area
tile_font_msg_size = 18
#tip - tooltips (mouseover information)
tile_font_tip_size = 15
#lbl - item/monster names in inventory/main map
tile_font_lbl_size = 14
tile_cell_pixels = 50
tile_window_width = 0
tile_window_height = 0
tile_filter_scaling = true
tile_force_overlay = true
default_manual_training = true
autofight_stop = 50
auto_butcher = true
auto_eat_chunks = true
show_more = false
explore_auto_rest = true
travel_delay = -1
show_travel_trail = true
note_chat_messages = true
# Set Alias
more := force_more_message
# Item Use
more += drinks a potion
more += evokes.*(amulet|ring)
more += reads a scroll
more += zaps a (wand|rod)
######## Autoexplore Interruption Messages ########################
stop := runrest_stop_message
stop += Your transformation is almost over
## Dangerous messages ##
flash_screen_message += You are slowing down
flash_screen_message += your limbs are stiffening
flash_screen_message += The floating eye seems to glare at you
flash_screen_message += The floating eye's stare focuses on you
flash_screen_message += The floating eye's view fixates on you
flash_screen_message += A sentinel's mark forms upon you
flash_screen_message += distant snort
flash_screen_message += unleashes a terrible howl
flash_screen_message += engulfs you in water
flash_screen_message += The ushabti shakes and rattles deafeningly!
flash_screen_message += You hear strange and distant voices.
flash_screen_message += finished your manual
flash_screen_message += The spriggan druid calls out to the beasts of the wild!
flash_screen_message += Found a gateway to a bazaar.
flash_screen_message += You are engulfed in seething chaos.
# Terrible Monsters
more += giant eyeball.*comes? into view
more += A player ghost.*(comes? into view|opens the)
more += floating eye.*comes? into view
more += juggernaut.*comes? into view
more += ghost moth.*comes? into view
# Malmutate
more += Cacodemon.*comes? into view
more += Neqoxec.*comes? into view
more += Orb of fire.*comes? into view
more += Shining eye.*comes? into view
# 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)
# Special block for a Ghoul
: if you.race() == "Vampire" or you.race() == "Mummy"
: or you.race() == "Ghoul" then
more += (comes? into view|opens the).*Holy wrath
more += Anubis guard.*(comes? into view|opens the)
more += Black sun.*(comes? into view|opens the)
more += Revenant.*(comes? into view|opens the)
more += Tzitzimitl.*(comes? into view|opens the)
more += Josephine.*(comes? into view|opens the)
: end
# Special block for a Tengu(airstrikes)
# : if you.race() == "Tengu" then
# more += Wind drake.*(comes? into view|opens the)
# more += Blizzard demon.*(comes? into view|opens the)
# more += Spriggan air mage.*(comes? into view|opens the)
# more += Cloud mage.*(comes? into view|opens the)
# more += Titan.*(comes? into view|opens the)
# : end
more += finished your manual
more += The mighty Pandemonium lord .* resides here
as := ability_slot
as ^= End Trans: h
as ^= Evoke Invis: i
as ^= Turn Visibl: j
as ^= Evoke Fligh: l
as ^= Fly: l
as ^= Stop Flying: m
as ^= Evoke Telep: t
as ^= Spit: q
as ^= Breath: q
#spell_slot += Alistair's intoxication:aisn
spell_slot += Apportation:n
#spell_slot += Airstrike:ae
#spell_slot += Agony:aygn
#spell_slot += Animate dead:adet
#spell_slot += Animate skeleton:asen
spell_slot += Beastly appendage:baye
spell_slot += Blade hands:bhes
spell_slot += Blink:BKLN
spell_slot += Bolt of magma:bmta
spell_slot += Borgnjor's revivification:BRSN
spell_slot += Borgnjor's vile clutch:b
spell_slot += Call canine familiar:cflr
spell_slot += Call imp:cilp
spell_slot += Cause fear:cfer
spell_slot += Controlled blink:cbdk
spell_slot += Corona:carn
spell_slot += Chain lightning:clng
spell_slot += Confusing touch:ctgh
spell_slot += Conjure flame:cfej
spell_slot += Corpse rot:cret
spell_slot += Dazzling Flash:dfgh
spell_slot += Darkness:aed
spell_slot += Death channel:d
# Upper-case to prevent miskeys.
spell_slot += Death's door:DROT
spell_slot += Discord:DCSR
spell_slot += Disjunction:iuoe
spell_slot += Dispel undead:ndp
spell_slot += Dispersal:iea
spell_slot += Dragon form:dgrf
spell_slot += Dragon's call:dcl
spell_slot += Ensorcelled hibernation:ehnd
spell_slot += Eringya's Toxic Bog:bteg
spell_slot += Excruciating wounds:ewgx
spell_slot += Fire storm:fsmt
spell_slot += Fireball:flbr
spell_slot += Foxfire:fxro
spell_slot += Freezing cloud:fcgd
spell_slot += Freeze:zfezr
spell_slot += Frozen Ramparts:frnt
spell_slot += Fulminant prism:fpmt
spell_slot += Gell's Gravitas:glvt
spell_slot += Haunt:htna
spell_slot += Ice form:crmf
spell_slot += Ignition:ntg
spell_slot += Iron shot:s
spell_slot += Inner flame:frn
spell_slot += Invisibility:iyvb
spell_slot += Irradiate:i
spell_slot += Iskenderun's battlesphere:ibne
spell_slot += Leda's Liquefaction:lanq
spell_slot += Lee's rapid deconstruction:ldr
spell_slot += Lesser Beckoning:lbg
spell_slot += Lehudib's crystal spear:lcsb
spell_slot += Lightning bolt:lbgt
spell_slot += Magic dart:zmdtc
spell_slot += Malign gateway:mgy
spell_slot += Manifold Assault:madt
spell_slot += Maxwell's Capacitive Coupling:mclp
spell_slot += Mephitic cloud:mcdp
spell_slot += Metabolic englaciation:mcn
spell_slot += Monstrous menagerie:mst
spell_slot += Necromutation:Y
spell_slot += Olgreb's toxic radiance:oia
spell_slot += Orb of destruction:dbn
spell_slot += Ozocubu's armour:oau
spell_slot += Ozocubu's refrigeration:c
spell_slot += Pain:pnai
spell_slot += Passage of golubria:z
spell_slot += Passwall:aeu
spell_slot += Petrify:pyt
spell_slot += Poisonous vapours:pvs
spell_slot += Portal projectile:oei
spell_slot += Sandblast:zst
spell_slot += Searing ray:sry
spell_slot += Shadow creatures:scw
# Upper-case to prevent miskeys.
spell_slot += Shatter:sth
spell_slot += Shock:zok
spell_slot += Simulacrum:scm
spell_slot += Silence:SLC
spell_slot += Slow:swlh
spell_slot += Spellforged servitor:spvt
spell_slot += Spider form:sprf
spell_slot += Static discharge:tdc
spell_slot += Statue form:I
spell_slot += Sticky flame:yfk
spell_slot += Sting:zptg
spell_slot += Stone arrow:wtn
spell_slot += Storm form:Y
spell_slot += Summon forest:ftms
spell_slot += Summon guardian golem:gds
spell_slot += Summon horrible things:hts
spell_slot += Summon hydra:hsy
spell_slot += Summon ice beast:bct
spell_slot += Summon lightning spire:lst
spell_slot += Summon mana viper:vms
spell_slot += Summon small mammal:zsm
spell_slot += Swiftness:ieao
spell_slot += Teleport other:tprh
spell_slot += Tornado:tdn
spell_slot += Tukima's Dance:dkc
spell_slot += Vampiric draining:vnd
spell_slot += Wereblood:wbld
spell_slot += Yara's violent unraveling:yvgl
spell_slot += Iskenderun's Mystic Blast:ximb
# Default letters
# spell_slot += .*:XYZ
##################
### Item slots ###
##################
## Rings, in order of letter used.
item_slot += ring of dexterity : Dd
item_slot += ring of evasion : Ee
item_slot += ring of .*fire : Ff
item_slot += ring of (ice|protection from cold) : Cc
item_slot += ring of intelligence : Ii
item_slot += ring of flight : L
item_slot += ring of magical power : Mm
item_slot += ring of positive energy : Nn
item_slot += ring of poison resistance : P
item_slot += ring of resist corrosion : R
item_slot += ring of strength : Ss
item_slot += ring of see invisible : v
item_slot += ring of willpower: Ww
# Need numeric match to not trigger for rF/rC rings
item_slot += \+[0-9]+ ring of protection : Tt
item_slot += ring of slaying : Yy
item_slot += ring of wizardry : Zz
######## Function Section ########################
{
function ready()
OpenSkills()
hp_percent()
mp_percent()
AnnounceDamage()
Ruoffer()
end
}
{
function hp_percent()
a,b=you.hp() return 100*a/b
end
}
{
function mp_percent()
a,b=you.mp() return 100*a/b
end
}
{
function Petrifying_Check()
if you.petrifying() then
crawl.yesno("You are now petrifying so your action will be checked. (Y or N to confirm.)", false, false, true, true)
crawl.mpr("Consider to using tele/blink, Yara, cancellation or other emergency measures......", 5)
end
end
}
{
local need_skills_opened = true
function OpenSkills()
if you.turns() == 0 and need_skills_opened then
need_skills_opened = false
crawl.sendkeys("m")
crawl.mpr("Don't forget about skills", 3)
end
end
}
{
local early = true
function hpWarning_Early()
if you.hp() < 21 and hp_percent() < 30 and you.xl() < 9 and early then
crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true)
crawl.mpr("The dice are ABSOLUTELY not on your side......", 5)
early = false
end
if you.hp() > 20 and hp_percent() > 29 and you.xl() < 9 then
early = true
end
end
}
{
local mid = true
function hpWarning_Mid()
if you.hp() < 35 and you.xl() < 20 and you.xl() > 8 and mid then
crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true)
crawl.mpr("Consider to using tele/blink, potion or other emergency measures......", 5)
mid = false
end
if you.hp() > 34 and you.xl() < 20 and you.xl() > 8 then
mid = true
end
end
}
{
local late = true
function hpWarning_Late()
if you.hp() < 60 and you.xl() == 27 and not you.status("death's door") and not you.status("death's door (expiring)") and late then
crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true)
crawl.mpr("Keep playing discreetly even on late-game......", 5)
late = false
end
if you.hp() > 59 and you.xl() == 27 then
late = true
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
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
}
{
local veh = true
function Vehumetoffer()
if string.find(crawl.messages(4), "Vehumet offers") and veh then
crawl.yesno("Vehumet offers a spell for you! (Y or N to confirm.)", false,
false, true, true)
veh = false
end
if string.find(crawl.messages(4), "Vehumet accepts") then
veh = true
end
end
}
{
local ru = true
function Ruoffer()
if string.find(crawl.messages(4), "Ru believes") and ru then
crawl.yesno("Ru offers sacrifice for you! (Y or N to confirm.)", false, false, true, true)
ru = false
end
if string.find(crawl.messages(6), "Ru asks you to") or
string.find(crawl.messages(6), "Ru will take longer") then
ru = true
end
end
}
######## Non-ready() Function Section ########################
{
function custom_rest()
if hp_percent() == 100 and mp_percent() == 100 then
if crawl.yesnoquit("Really wait turns while hp and mp are full?", true, 'n') == 1 then
crawl.process_keys("5")
end
else
crawl.process_keys("5")
end
end
}
local aft = false
function toggle_autothrow()
if aft then
crawl.setopt("autofight_throw = false")
crawl.mpr("Autofight_throw is off.")
else
crawl.setopt("autofight_throw = true")
crawl.mpr("Autofight_throw is on.")
end
aft = not aft
end
always_show_zot = true
#crawl.setopt("macros += M 1 zzf")
#autopickup_exceptions = $
#default_autopickup = false