#Defaults default_manual_training = true show_more = false autofight_stop = 80 hp_warning = 60 hp_color = 90:yellow, 70:red easy_eat_chunks = true confirm_butcher = never #Not spriggan auto_butcher = true #Sustainable caster #automagic_enable = true automagic_stop = 50 { ----------------------------- ---- Begin char_defaults ---- ----------------------------- -- See README.md for documentation. weapon_skills = {"Unarmed Combat", "Short Blades", "Long Blades", "Axes", "Maces & Flails", "Polearms", "Staves"} ranged_skills = {"Throwing", "Bows", "Crossbows", "Slings"} other_skills = {"Fighting", "Armour", "Dodging", "Shields", "Spellcasting", "Conjurations", "Hexes", "Charms", "Summonings", "Necromancy", "Translocations", "Transmutations", "Fire Magic", "Ice Magic", "Air Magic", "Earth Magic", "Poison Magic", "Invocations", "Evocations","Stealth"} skill_glyphs = { [1] = "+", [2] = "*" } chdat = nil char_combo = you.race() .. you.class() loaded_attempted = false -- Wrapper of crawl.mpr() that prints text in white by default. if not mpr then mpr = function (msg, color) if not color then color = "white" end crawl.mpr("<" .. color .. ">" .. msg .. "") end end function skill_message(prefix, skill, skill_type, value) local msg = "" if prefix then msg = prefix .. ";" end if skill_type then msg = msg .. skill_type .. "(" .. skill .. "):" .. value else msg = msg .. skill .. ":" .. value end return msg end function save_char_defaults(quiet) if you.class() == "Wanderer" then return end if not c_persist.char_defaults then c_persist.char_defaults = { } end c_persist.char_defaults[char_combo] = { } chdat = c_persist.char_defaults[char_combo] local msg = nil local have_weapon = false for _,sk in ipairs(weapon_skills) do if you.train_skill(sk) > 0 then chdat["Weapon"] = you.train_skill(sk) msg = skill_message(nil, sk, "Weapon", skill_glyphs[chdat["Weapon"]]) have_weapon = true break end end if not have_weapon then chdat["Weapon"] = nil end local have_ranged = false for _,sk in ipairs(ranged_skills) do if you.train_skill(sk) > 0 then chdat["Ranged"] = you.train_skill(sk) msg = skill_message(msg, sk, "Ranged", skill_glyphs[chdat["Ranged"]]) have_ranged = true break end end if not have_ranged then chdat["Ranged"] = nil end for _,sk in ipairs(other_skills) do if you.train_skill(sk) > 0 then chdat[sk] = you.train_skill(sk) msg = skill_message(msg, sk, nil, skill_glyphs[chdat[sk]]) else chdat[sk] = nil end end if not quiet then mpr("Saved default for " .. char_combo .. ": " .. msg) end end function have_defaults() return you.class() ~= "Wanderer" and c_persist.char_defaults ~= nil and c_persist.char_defaults[char_combo] ~= nil end function load_char_defaults(quiet) if not have_defaults() then return end local msg = nil local found_weapon = false chdat = c_persist.char_defaults[char_combo] for _,sk in ipairs(weapon_skills) do if you.base_skill(sk) > 0 and chdat["Weapon"] then you.train_skill(sk, chdat["Weapon"]) msg = skill_message(msg, sk, "Weapon", skill_glyphs[chdat["Weapon"]]) found_weapon = true else you.train_skill(sk, 0) end end if chdat["Weapon"] and not found_weapon then you.train_skill("Unarmed Combat", chdat["Weapon"]) msg = skill_message(msg, "Unarmed Combat", "Weapon", skill_glyphs[chdat["Weapon"]]) end local found_ranged = false for _,sk in ipairs(ranged_skills) do if you.base_skill(sk) > 0 and chdat["Ranged"] then you.train_skill(sk, chdat["Ranged"]) msg = skill_message(msg, sk, "Ranged", skill_glyphs[chdat["Ranged"]]) found_ranged = true else you.train_skill(sk, 0) end end if chdat["Ranged"] and not found_ranged then you.train_skill("Throwing", chdat["Ranged"]) msg = skill_message(msg, "Throwing", "Ranged", skill_glyphs[chdat["Ranged"]]) end for _,sk in ipairs(other_skills) do if chdat[sk] then you.train_skill(sk, chdat[sk]) msg = skill_message(msg, sk, nil, skill_glyphs[chdat[sk]]) else you.train_skill(sk, 0) end end if not quiet and msg ~= "" then mpr("Loaded default for " .. char_combo .. ": " .. msg) end end function char_defaults(quiet) if you.turns() ~= 0 then return end if not load_attempted then load_char_defaults(quiet) load_attempted = true -- Open the skill menu if we don't have settings to load. if not have_defaults() then crawl.sendkeys("m") end end end --------------------------- ---- End char_defaults ---- --------------------------- } { function ready() char_defaults() end } #Uniques force_more_message += (Agnes).*(comes? into view) force_more_message += (Aizul).*(comes? into view) force_more_message += (Asterion).*(comes? into view) force_more_message += (Azrael).*(comes? into view) force_more_message += (Bai Suzhen).*(comes? into view) force_more_message += (Blork).*(comes? into view) force_more_message += (Boris).*(comes? into view) force_more_message += (Crazy).*(comes? into view) force_more_message += (Donald).*(comes? into view) force_more_message += (Dowan).*(comes? into view) force_more_message += (Duvessa).*(comes? into view) force_more_message += (Edmund).*(comes? into view) force_more_message += (The Enchantress).*(comes? into view) force_more_message += (Erica).*(comes? into view) force_more_message += (Erolcha).*(comes? into view) force_more_message += (Eustachio).*(comes? into view) force_more_message += (Fannar).*(comes? into view) force_more_message += (Frances).*(comes? into view) force_more_message += (Frederick).*(comes? into view) force_more_message += (Gastronok).*(comes? into view) force_more_message += (Grinder).*(comes? into view) force_more_message += (Grum).*(comes? into view) force_more_message += (Harold).*(comes? into view) force_more_message += (Ijyb).*(comes? into view) force_more_message += (Jessica).*(comes? into view) force_more_message += (Jorgrun).*(comes? into view) force_more_message += (Jory).*(comes? into view) force_more_message += (Joseph).*(comes? into view) force_more_message += (Josephine).*(comes? into view) force_more_message += (Khufu).*(comes? into view) force_more_message += (Kirke).*(comes? into view) force_more_message += (Louise).*(comes? into view) force_more_message += (Mara).*(comes? into view) force_more_message += (Margery).*(comes? into view) force_more_message += (Maurice).*(comes? into view) force_more_message += (Menkaure).*(comes? into view) force_more_message += (Mennas).*(comes? into view) force_more_message += (Natasha).*(comes? into view) force_more_message += (Nergalle).*(comes? into view) force_more_message += (Nessos).*(comes? into view) force_more_message += (Nikola).*(comes? into view) force_more_message += (Pikel).*(comes? into view) force_more_message += ('s ghost).*(comes? into view) force_more_message += (player ghost).*(comes? into view) force_more_message += (Prince Ribbit).*(comes? into view) force_more_message += (Psyche).*(comes? into view) force_more_message += (Purgy).*(comes? into view) force_more_message += (Robin).*(comes? into view) force_more_message += (Roxanne).*(comes? into view) force_more_message += (Rupert).*(comes? into view) force_more_message += (Saint).*(comes? into view) force_more_message += (Sigmund).*(comes? into view) force_more_message += (Snorg).*(comes? into view) force_more_message += (Sojobo).*(comes? into view) force_more_message += (Sonja).*(comes? into view) force_more_message += (Terence).*(comes? into view) force_more_message += (Urug).*(comes? into view) force_more_message += (Xtahua).*(comes? into view) force_more_message += (Vashnia).*(comes? into view) force_more_message += (Arachne).*(comes? into view) force_more_message += (The Lernaean hydra).*(comes? into view) force_more_message += (Ilsuiw).*(comes? into view) force_more_message += (Polyphemus).*(comes? into view) force_more_message += (Dissolution).*(comes? into view) force_more_message += (The royal jelly).*(comes? into view) force_more_message += (Serpent of Hell).*(comes? into view) force_more_message += (Murray).*(comes? into view) force_more_message += (Geryon).*(comes? into view) force_more_message += (Antaeus).*(comes? into view) force_more_message += (Asmodeus).*(comes? into view) force_more_message += (Dispater).*(comes? into view) force_more_message += (Ereshkigal).*(comes? into view) force_more_message += (Ignacio).*(comes? into view) force_more_message += (Cerebov).*(comes? into view) force_more_message += (Gloorx).*(comes? into view) force_more_message += (Lom Lobon).*(comes? into view) force_more_message += (Mnoleg).*(comes? into view) force_more_message += (Tiamat).*(comes? into view) force_more_message += (Chuck).*(comes? into view) force_more_message += (Nellie).*(comes? into view) #Para Users force_more_message += (Orc sorcerer).*(comes? into view) force_more_message += (Vampire knight).*(comes? into view) force_more_message += (Great orb of eyes).*(comes? into view) force_more_message += (Sphinx).*(comes? into view) force_more_message += (Ogre mage).*(comes? into view) force_more_message += (A Wizard).*(comes? into view) #Don't match orc wizards pls. force_more_message += (Lich).*(comes? into view) force_more_message += (Ancient lich).*(comes? into view) force_more_message += (Antique lich).*(comes? into view) #Airstrike users (for flyers) force_more_message += (Wind drake).*(comes? into view) #force_more_message += (Blizzard demon).*(comes? into view) force_more_message += (Spriggan air mage).*(comes? into view) force_more_message += (Cloud mage).*(comes? into view) force_more_message += (Sojobo).*(comes? into view) force_more_message += (Titan).*(comes? into view) #Shatterers (for gargoyles) force_more_message += (Deep troll shaman).*(comes? into view) #Malmutators force_more_message += (Shining eye).*(comes? into view) force_more_message += (Neqoxec).*(comes? into view) force_more_message += (Orb of fire).*(comes? into view) force_more_message += (Cacodemon).*(comes? into view) #General causes for concern force_more_message += rages force_more_message += Your scales start force_more_message += Careful! force_more_message += Found a gateway leading out of the Abyss force_more_message += Found .* abyssal rune of Zot force_more_message += You are starting to lose your buoyancy force_more_message += You start to feel a little slower #force_more_message += Your transformation is almost over force_more_message += You have a feeling this form force_more_message += You feel yourself come back to life force_more_message += You fall through a shaft force_more_message += The alarm trap emits a blaring wail force_more_message += You lose control over your flight force_more_message += You start to feel a little uncertain force_more_message += time is quickly running out force_more_message += life is in your own hands #force_more_message += dispelling energy hits you force_more_message += You convulse force_more_message += god:(sends|finds|silent|anger) force_more_message += divine experience force_more_message += You have finished your manual force_more_message += You are (blasted|electrocuted)! force_more_message += Your surroundings flicker force_more_message += The writing blurs in front of your eyes force_more_message += Space warps.* around you force_more_message += Space bends around you #force_more_message += The blast of calcifying dust hits you force_more_message += Your shroud falls apart force_more_message += Your shroud unravels force_more_message += You feel less protected from missiles force_more_message += You have got your breath back force_more_message += Your divine stamina fades force_more_message += Your aura of abjuration force_more_message += You feel yourself slow down force_more_message += Your hands slow down force_more_message += You feel like a meek peon force_more_message += Your skin stops crawling macros += M \{-1011} zaf macros += M \{-1012} zbf macros += M \{-1013} zc macros += M \{-1014} zd ##### 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 # Alternative vi bindings for Neo users. # include = neo_command_keys.txt # 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 = 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