# TEAMCAPTAIN bmfx -- https://github.com/crawl/crawl/blob/master/crawl-ref/docs/options_guide.txt default_manual_training = true show_travel_trail = false bold_brightens_foreground = true auto_butcher = very hungry message_colour += yellow:Training target message_colour += yellow:has recharged message_colour += red:as sick as possible sort_menus = true : equipped, art, curse, qty, qualname travel_avoid_terrain = deep water warn_hatches = true -- autofight autofight_throw = false bindkey = [^I] CMD_AUTOFIGHT_NOMOVE -- tiles stuff tile_viewport_scale = 1 menu_colour += cyan:brand weapon menu_colour += cyan:enchant weapon menu_colour += cyan:enchant armour menu_colour += cyan:recharging menu_colour += cyan:magic mapping menu_colour += green:potions? of might menu_colour += green:potions? of agility menu_colour += green:potions? of brilliance menu_colour += green:potions? of haste menu_colour += green:potions? of resistance menu_colour += green:potions? of berserk menu_colour += cyan:wand of para menu_colour += cyan:wand of conf menu_colour += cyan:wand of poly menu_colour += cyan:wand of ensl menu_colour += cyan:wand of dis item_slot ^= scroll of identify:r autoinscribe ^= scroll of silence:!r autoinscribe ^= magical staff:!a { -- Skill data format is: -- skill_data["Deep Elf Fire Elementalist"]["Fighting"] = {level, disable=0/enable=1/focus=2} -- if level is nil then no target will be set skill_data = {} skill_data["Tengu Air Elementalist"] = {} skill_data["Tengu Air Elementalist"]["Spellcasting"] = {nil, 2} skill_data["Tengu Air Elementalist"]["Dodging"] = {5, 0} skill_data["Tengu Air Elementalist"]["Fighting"] = {3, 0} skill_data["Tengu Air Elementalist"]["Stealth"] = {5, 0} skill_data["Deep Elf Air Elementalist"] = {} skill_data["Deep Elf Air Elementalist"]["Dodging"] = {3, 1} skill_data["Deep Elf Air Elementalist"]["Fighting"] = {1, 1} skill_data["Deep Elf Air Elementalist"]["Stealth"] = {3, 1} skill_data["Deep Elf Conjurer"] = skill_data["Deep Elf Air Elementalist"] skill_data["Deep Elf Earth Elementalist"] = skill_data["Deep Elf Air Elementalist"] skill_data["Deep Elf Fire Elementalist"] = skill_data["Deep Elf Air Elementalist"] skill_data["Deep Elf Ice Elementalist"] = skill_data["Deep Elf Air Elementalist"] skill_data["Deep Elf Wizard"] = skill_data["Deep Elf Air Elementalist"] skill_data["Minotaur Berserker"] = {} skill_data["Minotaur Berserker"]["Dodging"] = {nil, 0} -- Items inscribed with "ign" will be ignored when rearranging armour_lookup = {} armour_lookup["cloak"] = "A" armour_lookup["helmet"] = "B" armour_lookup["gloves"] = "C" armour_lookup["boots"] = "D" armour_lookup["shield"] = "E" armour_lookup["body"] = "F" item_lookup = {} item_lookup["ration"] = "c" item_lookup["poison dart"] = "d" -- item_lookup["identify"] = "r" item_lookup["large rock"] = "x" item_lookup["javelin"] = "y" item_lookup["silver javelin"] = "z" loaded = false function char_defaults() char = you.race() .. " " .. you.class() if skill_data[char] ~= nil then for sk,val in pairs(skill_data[char]) do if val[1] ~= nil then you.set_training_target(sk, val[1]) end you.train_skill(sk, val[2]) end end end function rearrange_items() for _,it in ipairs(items.inventory()) do index = it.subtype() if it.subtype() == "dart" or it.subtype() == "javelin" then if (it.ego() ~= nil) then index = it.ego() .. " " .. it.subtype() else index = it.subtype() end end armour = armour_lookup[index] item = item_lookup[index] -- Rearrange armour if it's equipped if armour ~= nil and it.inscription ~= "ign" then if it.equipped then dest_index = items.letter_to_index(armour_lookup[index]) if it.slot ~= dest_index then crawl.mpr("Moving slot " .. items.index_to_letter(it.slot) .. " to " .. armour_lookup[index] .. " (" .. it.name() .. ")") items.swap_slots(it.slot, dest_index) end end end -- Handle other item types if item ~= nil and it.inscription ~= "ign" then dest_index = items.letter_to_index(item_lookup[index]) if it.slot ~= dest_index then crawl.mpr("Moving slot " .. items.index_to_letter(it.slot) .. " to " .. item_lookup[index] .. " (" .. it.name() .. ")") items.swap_slots(it.slot, dest_index) end end end end function ready() if loaded or you.turns() ~= 0 then return end loaded = true char_defaults() rearrange_items() end }