# ===================
# Crawl Init Settings
# ===================
# General Settings
autopickup = $!?/({*+%}:
autopickup_exceptions += manual
autopickup_exceptions += glowing
autopickup_exceptions += runed
autopickup_exceptions += artefact
autopickup_exceptions += wand
autopickup_exceptions += scroll
autopickup_exceptions += potion
autopickup_exceptions += ring
autopickup_exceptions += amulet
autopickup_exceptions += book
confirm_butcher = never
easy_butcher = true
confirm_action += explore
confirm_action += travel
easy_confirm = all
show_travel_trail = true
travel_delay = -1
rest_delay = -1
center_delay = -1
scroll_margin = 0
# Display Settings
view_delay = 300
hp_colour = 100:green, 99:lightgray, 75:yellow, 50:lightred, 25:red
mp_colour = 100:green, 99:lightgray, 75:yellow, 50:lightred, 25:red
hp_warning = 50
# Enhanced ASCII Display
feature += crystal wall {░}
feature += stone wall {▒}
feature += metal wall {▓}
feature += unnaturally hard rock wall {█}
feature += altar {⚑}
mons ^= * : ✱
mons ^= dancing weapon : cyan
# Interface Settings
equip_bar = true
item_stack_summary = true
show_god_gift = unident
tile_web_mouse_control = true
tile_show_player_species = true
tile_show_items = true
tile_show_equip_slot = true
tile_font_monospace = Consolas 14
tile_font_crt = false
tile_filter_scaling = true
tile_cursor_style = block
tile_opaque_scrollbars = true
tile_skip_title = true
tile_tooltip = detailed
nice_panels = true
display_charname = true
tile_player_coloured = true
# Map and Display
map_mode = explored
map_stat_scale = 1
map = relative
show_game_time = true
show_gold_turns = true
statue_hunt = false
flash_screen_message += You feel threatened
flash_screen_message += You are about to die
flash_screen_message += You fall through a shaft
# Combat and Autofight
autofight = true
autofight_stop = 25
autofight_fight_wait = 2
runrest_ignore_poison = true
runrest_ignore_monster = demonspawn
runrest_ignore_above = 1
force_targeter = true
# Autoplay Function - PRESS THE 'a' KEY TO ACTIVATE
{
function autoplay()
if you.feel_safe() then
-- If area is safe, auto-explore
crawl.sendkeys("o")
else
-- If enemies are visible, auto-fight
crawl.sendkeys("\t") -- Tab key for auto-fight
end
end
function force_fight()
-- Continue fighting regardless of HP
crawl.sendkeys("\t")
end
-- Cleaner spell casting prompts
local function generic_cast_spell(cmd)
crawl.mpr('Cast which spell?')
crawl.flush_prev_message()
crawl.process_keys(cmd)
end
function cast_spell() generic_cast_spell('z') end
function force_cast_spell() generic_cast_spell('Z') end
-- Auto-pickup useful equipment
local function pickup_equipment(it, name)
if it.is_useless then return false end
local class = it.class(true)
if class == "armour" then
local st = it.subtype()
local aux = { cloak=true, helmet=true, gloves=true, boots=true, barding=true }
if aux[st] then
if st == "gloves" and you.has_claws() > 0 then return false end
if it.artefact then return true end
local cur = items.equipped_at(st)
return not cur or (not cur.branded and not cur.artefact and it.branded)
end
end
return nil
end
add_autopickup_func(pickup_equipment)
}
macros += M a ===autoplay
macros += M f ===force_fight
macros += M z ===cast_spell
macros += M Z ===force_cast_spell
# Magic and Spellcasting
automagic_enable = true
automagic_auto_fire = true
automagic_auto_cast = true
safe_cast = true
default_manual_training = true
default_manual_training_skills = Spellcasting, Fighting, Dodging
default_manual_training_pray = true
spell_slot_colours = 5:lightred
spell_slot_colours = 6:lightmagenta
spell_slot_colours = 7:lightgreen
spell_noise_warning = 15
show_god_likes = true
# Common spell hotkeys
spell_slot += Fireball:flbr
spell_slot += Fire storm:fsmt
spell_slot += Shatter:STH
spell_slot += Dispel undead:ndp
spell_slot += Magic dart:mdtc
spell_slot += Iskenderun's battlesphere:ibne
spell_slot += Summon mana viper:vms
spell_slot += Summon lightning spire:lst
spell_slot += Freezing cloud:fcgd
spell_slot += Ozocubu's refrigeration:cbz
spell_slot += Dispersal:iea
spell_slot += Silence:SLC
# Travel
travel_avoid_terrain += shallow water
travel_avoid_terrain += lava
travel_avoid_terrain += deep water
travel_avoid_terrain += dangerous terrain
# Auto-Explore
explore_auto_rest = true
explore_auto_rest_perc = 95
rest_wait_both = true
explore_greedy = true
explore_stop = stairs, altars, shops, branches
explore_stop += items, shops, god, glyphs
explore_stop += greedy_items
explore_stop_unequip = true
explore_stop_interesting = true
# Monster and Item Display
item_slot_colours += jewellery:red
item_slot_colours += weapons:cyan
item_slot_colours += armour:lightgrey
item_slot_colours += unrand:lightmagenta
item_slot_colours += artefact:lightblue
item_slot_colours += rune:gold
monster_item_view_defaults = :!Cursed items
menu_colour = {randart}:green
menu_colour = artefact:lightcyan
menu_colour = +Blink:lightmagenta
menu_colour = (distortion|chaos):lightred
# Item slots - rings
item_slot += ring of dexterity:Dd
item_slot += ring of evasion:Ee
item_slot += ring of fire:Ff
item_slot += ring of ice:Cc
item_slot += ring of intelligence:Ii
item_slot += ring of magical power:Mm
item_slot += ring of positive energy:Nn
item_slot += ring of willpower:Ww
item_slot += \+[0-9]+ ring of protection:Tt
# Force More Important Events
force_more_message += You are about to teleport!
force_more_message += You fall through a shaft!
force_more_message += You feel yourself yanked
force_more_message += Found a gateway
force_more_message += Found a transporter
force_more_message += Your skin hardens
force_more_message += Your fur grows
force_more_message += Your scales thicken
force_more_message += Divine energy floods through you
force_more_message += Your god is mollified
force_more_message += You feel a surge of divine power
force_more_message += You feel a powerful force drawing you in
# Additional Message Alerts
more += enough magic points
more += You fail to use your ability
more += You are too berserk
more += too confused
more += A sentinel's mark forms upon you
more += watched by something
more += life is in your own hands
more += Your hearing returns
more += is no longer charmed
more += Ouch! That really hurt!
more += dispelling energy hits you
# Ignore spammy messages
ignore += contamination has completely
ignore += your breath back
ignore += talk:
ignore += sound:
# Messages and Highlighting
message_colour += /found.*runed.*door/:lightred
message_colour += /The.*air.*warps/:lightred
message_colour += /welcomes you back/:lightcyan
message_colour += /You enter a transporter portal/:lightmagenta
message_colour += /You feel a wave of retribution/:lightred
# Autoinscribe
ai := autoinscribe
ai += distortion:!w
ai += vampiric:!w
ai += chaotic:!w
ai += potion of experience:!q
ai += scroll of acquirement:!r
ai += scroll of brand weapon:!r
ai += potions? of curing:@q1
ai += potions? of heal wounds:@q2
ai += scrolls? of teleportation:@r2
ai += scrolls? of identify:@r1
ai += magical staff:!a
ai += (large rock|throwing net|curare|of dispersal):=f
# Autopickup exceptions for special items
ae := autopickup_exceptions
ae +=