# Crawl Init file # # On Unix systems (such as Mac OS X, Linux and the BSDs), you must copy # init.txt to ~/.crawlrc or ~/.crawl/init.txt as: # cp init.txt ~/.crawlrc # # 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. # # For descriptions concerning an option consult the file # options_guide.txt # in your /docs directory. Also note that the ordering of the options # is taken from that file; this is for presentational reasons only. # # Note that all boolean options (i.e. values of 'true' or 'false') have # their non-default value commented out. You can toggle these by just # uncommenting. # Options with several values, e.g. # confirm_butcher = (auto | always | never), # usually have the first value as default. # # The options for monster glyphs and item colours don't matter for Tiles. # Similarily, tile options are ignored in console games. ##### 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 # target_unshifted_dirs = true # clear_messages = true # # 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 ##### 1- Starting Screen ############################################ # # name = Yuof # remember_name = true # weapon = (short sword | falchion | quarterstaff | hand axe | spear | mace # | trident | unarmed | random) # species = (Human |...| Vampire | random) # job = (Fighter |...| Wanderer | random) # random_pick = true # good_random = false restart_after_game = true default_manual_training = true ##### 2- File System ############################################### # # crawl_dir = # morgue_dir = morgue # save_dir = saves # macro_dir = settings/ # sound = : ##### 3- Interface ################################################# # ##### 3-a Picking up and Dropping ############### # # Rods are \ here. # autopickup = $?!:"/% # #drop_filter += useless_item # # default_autopickup = false # autopickup_no_burden = false # pickup_thrown = false chunks_autopickup = false # assign_item_slot = (forward | backward) # # pickup_menu = true # pickup_menu_limit = 4 # drop_filter += skeleton, corpse, useless_item # default_friendly_pickup = (none | friend | player | all) pickup_mode = multi autopickup = $?!:"/%|\ ae := autopickup_exceptions #ae +=< buckler #ae +=< shield ae +=< artefact #ae +=< glaive #ae +=< *chain mail #ae +=< *long sword* #ae +=< *great sword* #ae +=< *Claymore* #ae +=< *scimitar* #ae +=< *battleaxe* #ae +=< *plate armour ae +=< *dragon armour ae += useless_item ae += (amulet|ring|staff|rod|tome) of ae += scrolls? of (fear|immolation|torment|noise|curse) ae += potions? of (invisibility|flight|.*blood) ae += potions? of (paralysis|.*poison|slowing|decay|degeneration) ae += wand of (confusion|enslavement|flame|frost|invisibility) ae += wand of (magic darts|random effects|slowing) ae += <(phial|lamp|stone|fan) of : local branch = you.branch() : if branch == "Pan" or branch:find("Zig") then autopickup = $ ae += 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 } ################## # Lua autopickup # ################## # Disabled/unfinished { local function autopickup(it, name) local class = it.class(true) local branch = you.branch() -- For multi-Zig runs. local zigscumming = false if it.is_useless then return false end -- For Pan runs. if branch == "Pandemonium" or branch:find("Zig") then if class == "wand" and not zigscumming then if name:find("heal wounds") or name:find("hasting") or name:find("teleportation") then return true end end if class == "scroll" then if name:find("acquirement") or name:find("identify") or name:find("magic mapping") then return true end if not zigscumming and (name:find("amnesia") or name:find("blinking") or name:find("enchant armour") or name:find("enchant weapon") or name:find("fog") or name:find("holy word") or name:find("recharging") or name:find("remove curse") or name:find("teleportation")) then return true end end if class == "jewellery" and not it.identified then return true end if class == "potion" then if name:find("cure mutation") or name:find("experience") or name:find("gain") or name:find("magic") or name:find("restore abilities") then return true end if not zigscumming and (name:find("curing") or name:find("heal wounds") or name:find("porridge")) then return true end end if class == "food" then if name:find("ambrosia") or name:find("royal jelly") then return true end end -- For normal gameplay. elseif not zigscumming then -- Armour autopickup by rwbarton. if class == "armour" then local good_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots"} st, _ = it.subtype() if good_slots[st] ~= nil and items.equipped_at(good_slots[st]) == nil then return true end end if class == "wand" then if name:find("confusion") or name:find("enslavement") or name:find("flame") or name:find("frost") or name:find("magic dart") or name:find("random effects") or name:find("slowing") then return false else return true end end if class == "scroll" then if name:find("detect curse") or name:find("fear") or name:find("torment") or name:find("unholy creation") or name:find("vorpalise weapon") or name:find("vulnerability") then return false else return true end end if class == "jewellery" and not it.identified then return true end if class == "potion" then if name:find("blood") and you.race() ~= "Vampire" or name:find("levitation") or name:find("water") then return false else return true end end if class == "book" then if name:find("tome of Destruction") then return false else return true end end if class == "staff" and not it.identified then return true end if class == "food" then if name:find("ambrosia") or name:find("honeycomb") or name:find("ration") or name:find("royal jelly") then return true end end end if you.god() == "Nemelex Xobeh" and class == "miscellaneous" and name:find("deck") then return true end return false end -- add_autopickup_func(autopickup) } { local need_skills_opened = true function ready() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end } # Spellcasting spam reduction by monqy { 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 }