# csdc # 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 = Delilah # remember_name = false # 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 = false # pickup_menu_limit = 4 # drop_filter += skeleton, corpse, useless_item # default_friendly_pickup = (none | friend | player | all) ##### 3-b Targeting ############################ # # default_target = false # target_unshifted_dirs = true # darken_beyond_range = false ##### 3-c Passive Sightings ##################### # # detected_monster_colour = lightred # detected_item_colour = green # remembered_monster_colour = darkgrey # clean_map = true ##### 3-d Branding ############################## # # friend_brand = hi:green # neutral_brand = hi:lightgrey # stab_brand = hi:blue # may_stab_brand = hi:yellow # heap_brand = reverse # feature_item_brand = reverse # trap_item_brand = reverse ##### 3-e Level Map Functions ################### # # level_map_cursor_step = 7 # level_map_title = false # show_waypoints = false ##### 3-f Viewport Options ################### # # view_max_width = 33 # view_max_height = 21 # view_lock_x = false # view_lock_y = false # view_lock = false # center_on_scroll = true # symmetric_scroll = false # scroll_margin_x = 2 # scroll_margin_y = 2 # scroll_margin = 2 ##### 3-g Travel and Exploration ################# # # travel_delay = 20 (or -1 online) # explore_delay = -1 # rest_delay = 0 (or -1 online) # travel_avoid_terrain = shallow water # # explore_greedy = false # explore_stop = items,stairs,shops,altars,portals,branches,runed_doors # explore_stop += greedy_pickup_smart,greedy_visited_item_stack # explore_stop += greedy_sacrificeable # sacrifice_before_explore = true # explore_improved = true # explore_wall_bias = 0 # travel_key_stop = false # auto_sacrifice = true # # explore_stop_pickup_ignore += curare # auto_exclude += oklob,statue,curse skull,roxanne,hyperactive,lightning spire # auto_exclude += mimic # tc_reachable = blue # tc_dangerous = cyan # tc_disconnected = darkgrey # tc_excluded = lightmagenta # tc_exclude_circle = red # Interrupting run and rest compound commands: # runrest_ignore_poison = 2:30 # runrest_ignore_monster ^= butterfly:1 # runrest_ignore_monster ^= swamp worm:3 # runrest_stop_message += You hear a.* slurping noise # runrest_ignore_message += Jiyva's power touches on your attributes # A good number of runrest_messages are defined by default; you may want to # clear them or override some. # trapwalk_safe_hp = dart:20,needle:15,arrow:35,bolt:45,spear:40,blade:95 #rest_wait_both = true ##### 3-h Command Enhancements ################## # # auto_list = false # auto_switch = true # easy_open = false # easy_unequip = false # equip_unequip = true # easy_confirm = (none | safe | all) # allow_self_target = (yes | no | prompt) # confirm_butcher = (auto | always | never) # easy_eat_chunks = true # auto_eat_chunks = true # auto_drop_chunks = (never | rotten | yes) # prompt_for_swap = false # easy_quit_item_prompts = false # easy_exit_menu = true # sort_menus = pickup: true : art, ego, basename, qualname, curse, qty # sort_menus = inv: true : equipped, freshness, charged # autofight_stop = 30 # automagic_enable = false # automagic_stop = 0 # automagic_fight = false ##### 3-i Messages and Display Enhancements ##### # # hp_warning = 30 # mp_warning = 0 # hp_colour = 50:yellow, 25:red # mp_colour = 50:yellow, 25:red # stat_colour = 1:lightred, 3:red # status_caption_colour = yellow # mlist_min_height = 4 # msg_min_height = 7 # msg_max_height = 10 # mlist_allow_alternate_layout = true # messages_at_top = true # mlist_targeting = true # show_gold_turns = false # show_game_turns = false # show_newturn_mark = false # clear_messages = true # small_more = true # show_more = false # show_inventory_weights = false # item_stack_summary_minimum = 5 # msg_condense_repeats = false # msg_condense_short = false # skill_focus = false # show_travel_trail = false (true for online) ##### 3-j Colours (messages and menus) ########## # # Food is colour coded by default as follows: # # yellow = preferred food # darkgrey = cannot be eaten at all # lightred = causes rot # magenta = dangerous to use, mutagenic # red = considered "evil" by your deity # lightgreen = poisonous # brown = contaminated, may cause nausea # # You can change colours by using something like # menu_colour ^= magenta:contaminated # You can redefine inventory items like this: # menu_colour ^= inventory:magenta:shillelagh # or ones in pick-up dialogs: # menu_colour ^= pickup:green:god gift # Colouring of messages # Messages are colour coded as follows: # # lightred = really important messages # yellow = significant messages # lightred = item damaged/destroyed # darkgrey = boring, message clutter # # Notes also use, quite misnamed, menu_colour: # menu_colour ^= notes:white:Reached XP level # These lines will suppress extra feedback messages from travel/shift-running. # # message_colour ^= mute:warning:comes into view # message_colour ^= mute:You start (searching|resting) # message_colour ^= mute:Done searching # message_colour ^= mute:(HP|Magic) restored # message_colour ^= mute:warning:Not with.*(in view|monsters around) # You can also enforce a --more-- prompt for messages ## Avoid wasting turns with aborted actions: # force_more_message += There are no visible monsters within range # force_more_message += This wand has no charges ##### 3-k Firing Commands ####################### # # fire_items_start = a # fire_order = launcher, return # fire_order += javelin / tomahawk / dart / stone / rock / net # fire_order += inscribed ##### 3-l Channels ############################## # # channel.multiturn = mute ##### 3-m Inscriptions ########################## # # autoinscribe += bad_item.*potion:!q # autoinscribe += potion.*mutation:!q # autoinscribe_cursed = false # autoinscribe += fruit:!e # show_god_gift = yes|unident|no ##### 3-n Macro related Options ################# # # flush.failure = false # flush.command = true # flush.message = true ##### 3-o Tile related Options ################## # # tile_show_items = !?/%=([)x}:|\ # tile_skip_title = true # tile_menu_icons = false ### The following lines define the colours of various objects within the ### tiles minimap. See options_guide.txt for more details. # tile_player_col = white # tile_monster_col = red # tile_neutral_col = red # tile_peaceful_col = lightred # tile_friendly_col = lightred # tile_plant_col = darkgreen # tile_item_col = green # tile_unseen_col = black # tile_floor_col = lightgrey # tile_wall_col = darkgrey # tile_mapped_wall_col = blue # tile_door_col = brown # tile_downstairs_col = magenta # tile_upstairs_col = blue # tile_feature_col = cyan # tile_trap_col = yellow # tile_water_col = grey # tile_lava_col = grey # tile_excluded_col = darkcyan # tile_excl_centre = darkblue # tile_window_col = yellow # If Crawl's response rate is too slow, try increasing the update rate. # tile_update_rate = 1000 # If Crawl is lagging when running or resting, try increasing this number. # tile_runrest_rate = 100 # tile_key_repeat_delay = 200 # tile_tooltip_ms = 500 # tile_tag_pref = enemy ### Note: setting window, map or font sizes to '0' implies auto-sizing. # tile_full_screen = true # tile_window_width = 1024 # tile_window_height = 768 # tile_use_small_layout = true # tile_map_pixels = 3 # tile_cell_pixels = 32 # tile_filter_scaling = true # tile_force_overlay = true # tile_layout_priority = minimap, inventory, gold_turn, command, spell # tile_layout_priority += ability, monster # tile_font_crt_file = VeraMono.ttf # tile_font_crt_size = 15 # tile_font_stat_file = VeraMono.ttf # tile_font_stat_size = 16 # tile_font_msg_file = VeraMono.ttf # tile_font_msg_size = 14 # tile_font_tip_file = VeraMono.ttf # tile_font_tip_size = 15 # tile_font_lbl_file = Vera.ttf # tile_font_lbl_size = 14 # tile_font_ft_light = false # tile_show_minihealthbar = false # tile_show_minimagicbar = false ### WebTiles only # tile_realtime_anim = true # tile_display_mode = glyph ##### 4- Dump File ################################################# # ##### 4-a Saving ################################ # # dump_on_save = false ##### 4-b Items and Kill List ################### # # kill_map = friend:you, other:you # dump_kill_places = (single | all | none) # dump_kill_breakdowns = true # dump_item_origins = all,artifacts,ego_arm,ego_weap,jewellery,runes # dump_item_origin_price = -1 # dump_message_count = 20 # dump_order = header, hiscore, stats, misc, notes, inventory, # dump_order += turns_by_place, skills, spells, overview, mutations, # dump_order += messages, screenshot, monlist, kills_by_place, kills # dump_order += action_counts # dump_book_spells = false ##### 4-c Notes ################################# # # user_note_prefix=@@@ # note_hp_percent = 5 # note_skill_levels = 1,5,10,15,27 # note_all_skill_levels = true # note_skill_max = false # note_xom_effects = false # note_chat_messages = false # note_items += rod of, acquirement, preservation, running, of Zot # note_monsters += orb of fire, ancient lich, Sigmund ##### 5- Miscellaneous ############################################# # ##### 5-a All OS ################################ # # mouse_input = true # wiz_mode = no # char_set = ascii # use_fake_player_cursor = false # # Translation to use (descriptions only for now). # language = pl|fr|zh|ko|fi|ru|el|da|li|pt|de|lv|cs|hu # # Joke translations (complete!). # language = dwarven|jagerkin|kraut|runes|wide # # colour.lightgray = black # colour.lightcyan = cyan # colour.yellow = brown # # show_player_species = true # See options_guide.txt for the options # cset, feature, mon_glyph, item_glyph ## Highlight the edge of unexplored terrain. # feature = explore horizon {',,green} ##### 5-b Windows console ####################### # # dos_use_background_intensity = true # background = black ##### 5-c Unix console ########################## # # use_fake_cursor = false ##### 5-d Alternative keybinding files ########## # # Alternative vi bindings for Dvorak users. # include = dvorak_command_keys.txt # # Alternative vi bindings for Colemak users. # include = colemak_command_keys.txt # # Override the vi movement keys with a non-command. # include = no_vi_command_keys.txt ## ## magus.rc ################################################################################################ ## ## BEGIN ################################################################################################ : rc_msg("Initializing magus.rc ...") : crawl.enable_more(false) ## ## Globals.rc ################################################################################################ # PAUSE variable for ForceMorePrompts.rc $PAUSE_MORE := PAUSE { -- Pause for AnnounceDamage.lua PAUSE_MORE = "PAUSE" -- Standard Colors (ignoring black, not visible) COLORS = { ["darkgrey"] = "darkgrey", ["lightgrey"] = "lightgrey", ["white"] = "white", ["blue"] = "blue", ["lightblue"] = "lightblue", ["green"] = "green", ["lightgreen"] = "lightgreen", ["cyan"] = "cyan", ["lightcyan"] = "lightcyan", ["red"] = "red", ["lightred"] = "lightred", ["magenta"] = "magenta", ["lightmagenta"] = "lightmagenta", ["yellow"] = "yellow", ["brown"] = "brown"} } ## ## Utils.lua ################################################################################################ { function withColor(color, str) return string.format("<%s>%s", color, str, color) end function rc_out(symbol, color, msg) crawl.mpr(string.format("%s <%s>%s", symbol, color, msg, color)) end function rc_msg(msg) rc_out("🤖", "blue", msg) end function rc_scs(msg) rc_out("✅", "green", msg) end function rc_err(msg) rc_out("❌", "lightred", msg) end function table_has(table, match) for index, value in ipairs(table) do if value == match then return true end end return false end } ## ## Lua Setup ################################################################################################ ## ## AnnounceDamage.lua ################################################################################################ { local Messages = { ["HPSimple"] = function(delta) return withColor(COLORS.white, string.format("HP[%s]", delta_color(0 - delta)) ) end, ["HPMax"] = function (color, hp, hpm, delta) crawl.mpr( withColor(COLORS.lightgreen, string.format("You now have %s max hp (%s).", hpm, delta_color(delta)) ) ) end, ["HPLoss"] = function (color, hp, hpm, loss) crawl.mpr( string.format("%s%s", withColor(COLORS.red, string.format("You take %s damage,", loss)), withColor(color, string.format(" and now have %s/%s hp.", hp, hpm)) ) ) end, ["HPGain"] = function (color, hp, hpm, gain) crawl.mpr( string.format("%s%s", withColor(COLORS.lightgreen, string.format("You regained %s hp,", gain)), withColor(color, string.format(" and now have %s/%s hp.", hp, hpm)) ) ) end, ["HPFull"] = function (color, hp) crawl.mpr( withColor(COLORS.lightgreen, string.format("Your hp is fully restored (%s).", hp) ) ) end, ["HPMassivePause"] = function () crawl.mpr( withColor(COLORS.lightred, string.format("MASSIVE DAMAGE!! (%s)", PAUSE_MORE) ) ) end, ["MPSimple"] = function(delta) return withColor(COLORS.white, string.format("MP[%s]", delta_color(0 - delta)) ) end, ["MPLoss"] = function (color, mp, mpm, loss) crawl.mpr( string.format("%s%s", withColor(COLORS.cyan, string.format("You lost %s mp,", loss)), withColor(color, string.format(" and now have %s/%s mp.", mp, mpm)) ) ) end, ["MPGain"] = function (color, mp, mpm, gain) crawl.mpr( string.format("%s%s", withColor(COLORS.cyan, string.format("You regained %s mp,", gain)), withColor(color, string.format(" and now have %s/%s mp.", mp, mpm)) ) ) end, ["MPFull"] = function (color, mp) crawl.mpr( withColor(COLORS.cyan, string.format("Your mp is fully restored (%s).", mp)) ) end, [""]=""} local prev_hp = 0 local prev_hp_max = 0 local prev_mp = 0 local prev_mp_max = 0 function delta_color(delta) local color = delta < 0 and COLORS.red or COLORS.green local signDelta = delta < 0 and delta or "+"..delta return string.format("<%s>%s", color, signDelta, color) end -- Simplified condensed HP and MP output -- Print a single condensed line showing HP & MP change -- e.g.😨 HP[-2] MP[-1] function simple_announce_damage(curr_hp, max_hp, hp_diff, mp_diff) local emoji = "" local message = nil -- MP[-1] if hp_diff == 0 and mp_diff ~= 0 then message = Messages.MPSimple(mp_diff) -- HP[-2] elseif hp_diff ~= 0 and mp_diff == 0 then message = Messages.HPSimple(hp_diff) -- HP[-2] MP[-1] elseif hp_diff ~= 0 and mp_diff ~= 0 then message = string.format("%s %s", Messages.HPSimple(hp_diff), Messages.MPSimple(mp_diff)) else -- No changes end if message ~= nil then if curr_hp <= (max_hp * 0.25) then emoji = "😱" elseif curr_hp <= (max_hp * 0.50) then emoji = "😨" elseif curr_hp <= (max_hp * 0.75) then emoji = "😮" elseif curr_hp < max_hp then emoji = "😕" else emoji = "😎" end crawl.mpr(string.format("\n%s %s", emoji, message)) end end -- Try to sync with colors defined in Interface.rc function color_by_max(message_func, curr, max, diff) if curr <= (max * 0.25) then message_func(COLORS.red, curr, max, diff) elseif curr <= (max * 0.50) then message_func(COLORS.lightred, curr, max, diff) elseif curr <= (max * 0.75) then message_func(COLORS.yellow, curr, max, diff) else message_func(COLORS.lightgrey, curr, max, diff) end end function announce_damage() -- TODO Define Colors.Red, Colors.Green, etc. -- TODO Move current/previous into array pair -- Save previous as last_hp -- Shift current into previous -- Early return if last_hp was == 0 local curr_hp, max_hp = you.hp() local curr_mp, max_mp = you.mp() --Skips message on initializing game if prev_hp > 0 then local hp_diff = prev_hp - curr_hp local max_hp_diff = max_hp - prev_hp_max local mp_diff = prev_mp - curr_mp local max_mp_diff = max_mp - prev_mp_max -- Simplified condensed HP and MP output simple_announce_damage(curr_hp, max_hp, hp_diff, mp_diff) -- HP Max if max_hp_diff > 0 then Messages.HPMax(COLORS.green, curr_hp, max_hp, max_hp_diff) elseif max_hp_diff < 0 then Messages.HPMax(COLORS.yellow, curr_hp, max_hp, max_hp_diff) end -- HP Loss -- Ensure we lost MORE than the change in max hp -- i.e. a change in max hp should not be considered damage if (hp_diff > 0 and hp_diff > math.abs(max_hp_diff)) then color_by_max(Messages.HPLoss, curr_hp, max_hp, hp_diff) if hp_diff > (max_hp * 0.20) then Messages.HPMassivePause() end end -- HP Gain -- More than 1 HP gained if (hp_diff < 0) then -- Remove the negative sign by taking absolute value local hp_gain = math.abs(hp_diff) if (hp_gain > 1) and not (curr_hp == max_hp) then color_by_max(Messages.HPGain, curr_hp, max_hp, hp_gain) end if (curr_hp == max_hp) then Messages.HPFull(nil, curr_hp) end end -- MP Gain -- More than 1 MP gained if (mp_diff < 0) then -- Remove the negative sign by taking absolute value local mp_gain = math.abs(mp_diff) if (mp_gain > 1) and not (curr_mp == max_mp) then color_by_max(Messages.MPGain, curr_mp, max_mp, mp_gain) end if (curr_mp == max_mp) then Messages.MPFull(nil, curr_mp) end end -- MP Loss -- Ensure we lost MORE than the change in max mp -- i.e. a change in max mp should not be considered loss if (mp_diff > 0 and mp_diff > math.abs(max_mp_diff)) then color_by_max(Messages.MPLoss, curr_mp, max_mp, mp_diff) end end --Set previous hp/mp and form at end of turn prev_hp = curr_hp prev_hp_max = max_hp prev_mp = curr_mp prev_mp_max = max_mp end } ## ## OpenSkills.lua ################################################################################################ { -- Open skills menu at start of runs local need_skills_opened = true local function start_open_skills() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end -- Runs once when parsed during rc init start_open_skills() } ## ## PickupEquipment.lua ################################################################################################ { local function should_pickup_equip(cur, i2) -- always pickup god gift equipment if i2.god_gift then return true end -- not wearing any item in the slot? pickup! if cur == nil then return true end -- items names are the same, pickup higher plus if cur.name("qual") == i2.name("qual") then if i2.plus ~= nil and i2.plus > cur.plus then return true end end -- wearing artefact/ego/branded? skip pickup if cur.branded or cur.ego() or cur.artefact then return end -- wearing dragon scales? skip pickup if string.find(cur.name("qual"), "dragon scale") then return end -- if we got to this point we are not wearing dragon scales/artefact/ego/branded -- pickup if item is ego/branded/plus local plus = i2.plus and i2.plus > 0 if i2.branded or i2.ego() or plus then return true end return false end -- Equipment autopickup (by Medar and various others) -- Source http://crawl.berotato.org/crawl/rcfiles/crawl-0.23/Freakazoid.rc local armour_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots", shield="Shield"} local two_handed_always = { "great sword", "triple sword", "battleaxe", "executioner's axe", "dire flail", "great mace", "giant club", "giant spiked club", "halberd", "scythe", "glaive", "bardiche", "quarterstaff", "lajatang", "shortbow", "longbow", "arbalest", "triple crossbow"} local function pickup_equipment(it, name) local class = it.class(true) -- get currently equipped item in slot local currentWeapon = items.equipped_at("weapon") -- DEBUG -- rc_msg(string.format("[pickup_equipment] name: %s", name)) -- rc_msg(string.format("[pickup_equipment] currentWeapon.subtype: %s", currentWeapon.subtype())) -- do not pickup forbidden items if string.match(name, "forbidden") then return end -- do not pickup useless items if it.is_useless then return end -- always pickup artefacts if it.artefact then return true end if class == "weapon" then -- when using unarmed combat, we want to skip the should_pickup_equip for weapons if currentWeapon == nil and you.skill("Unarmed Combat") >= 3 then -- always pickup god gift equipment if it.god_gift then return true end return false end if should_pickup_equip(currentWeapon, it) then return true end elseif class == "armour" then local sub_type = it.subtype() if sub_type == "gloves" and you.has_claws() > 0 then return end -- skip picking up shields, when if sub_type == "shield" then -- using 2 handed weapons if currentWeapon then if table_has(two_handed_always, currentWeapon.subtype()) then return end end -- shield skill less than 3 if you.skill("Shields") <= 3 then return end end local armor_slot = armour_slots[sub_type]; if armor_slot ~= nil then -- get currently equipped item in slot local equipped_item = items.equipped_at(armor_slot) if should_pickup_equip(equipped_item, it) then return true end end end return end -- Runs once when parsed during rc init add_autopickup_func(pickup_equipment) } ## ## NoteVersion.lua ################################################################################################ { local didRun = false function note_version() if didRun then return end local version = "magus.rc [v1.9.6]" crawl.take_note(version) didRun = true end } ## ## TurnReady.lua ################################################################################################ { -- Run every player turn function ready() -- rc_msg("Running ready function...") -- Display damage taken in log announce_damage() note_version() end } ## ## RC Options (http://crawl.akrasiac.org/docs/options_guide.txt) ################################################################################################ ## ## Init.rc ################################################################################################ # When set to `true` or `full`, the game will pregenerate the entire # connected dungeon when starting a new character. This leads to # deterministic dungeon generation relative to a particular game seed, at # the cost of a slow game start. If set to `incremental`, the game will # generate levels as needed so that it always generates them in the same # order, also producing a deterministic dungeon. You still may encounter # variation in bazaars, the abyss, pandemonium, and ziggurats, and for # incremental pregeneration, artefacts. When set to `false` or `classic`, # the game will generate all levels on level entry, as was the rule before # 0.23. Some servers may disallow full pregeneration. # https://github.com/crawl/crawl/blob/master/crawl-ref/docs/options_guide.txt#L421 # # `incremental` produces deterministic results and `full` is not supported # by webtiles, so we set this to `incremental` here for the best result pregen_dungeon = incremental ## ## Travel.rc ################################################################################################ autofight_stop = 75 autofight_caught = true # Prevent travel from routing through deep water. # By default, this option is commented out. For merfolk and/or characters with # permanent levitation, this will prevent travel or explore from going through any water # travel_avoid_terrain = deep water # Wait until your HP and MP are both at rest_wait_percent before moving rest_wait_percent = 100 explore_auto_rest = true # Set to -1 for instant-travel, set to 1 to see travel paths travel_delay = -1 explore_delay = 1 # Adjusts how much autoexplore favours attempting to discover room perimeters and corners. # At higher values, autoexplore will more heavily favour visiting squares that are next to walls; # at 0 it will not favour them at all. explore_wall_bias = 3 # auto explore stop defaults explore_stop = stairs,shops,altars,portals,branches,runed_doors,runes explore_stop += artefacts,glowing_items,greedy_pickup_smart,greedy_visited_item_stack # do not stop exploring for hungry # activity_interrupt_names # https://github.com/crawl/crawl/blob/9bf6f1401de0176e0e695ad85b3e9fc7e42da3ab/crawl-ref/source/delay.cc#L1306 ## ## Interface.rc ################################################################################################ # hp and mp bar coloring view_delay = 300 hp_colour = 100:lightgreen, 99:lightgray, 75:yellow, 50:lightred, 25:red mp_colour = 100:cyan, 99:lightgray, 75:yellow, 50:lightred, 25:red hp_warning = 50 # monster colors monster_list_colour = monster_list_colour += friendly:green,neutral:brown monster_list_colour += good_neutral:brown monster_list_colour += trivial:darkgrey,easy:lightgrey monster_list_colour += tough:yellow,nasty:lightred # new characters start with manual skill (instead of automatic) default_manual_training = true # Unequip already equipped items by selecting in equip menus (i.e. w, W, P) equip_unequip = true # Cannot target self with risky magic allow_self_target = no # mini map size, [X] pixels per tile tile_map_pixels = 8 # Zot count status # If you spend the indicated number of turns in this branch without descending to # a new floor, Zot will find and consume you. # always_show_zot determines whether to show the "Zot" status light at all times # even when you've got plenty of time left. defaults to `false` always_show_zot = false ## ## Bindkey.rc ################################################################################################ # All commands and their key binds # https://github.com/jmbjr/dcss/blob/master/crawl-ref/docs/keybind.txt # CTRL+N will autofight without moving bindkey = [^N] CMD_AUTOFIGHT_NOMOVE ## ## AutoInscribe.rc ################################################################################################ show_god_gift = unident ai := autoinscribe # Inscribe forbidden items for PickupEquipment ai += forbidden:forbidden ai += (bad|dangerous)_item.*potion:!q ai += (bad|dangerous)_item.*scroll:!r ai += potions? of berserk rage:!q ai += scrolls? of (blinking|immolation|magic mapping|silence|vulnerability):!r ai += of faith:!P ai += manual of:!d # Inscribe distortion weapons if you are not worshipping Lugonu : if you.god() ~= "Lugonu" then ai += distortion:!w ai += (Sonja|Psyche):!w : end # Prevent auto quivering and cycling ammo ai += (large rock|throwing net|curare|of dispersal):=f # Warn before throwing ai += (throwing net|of dispersal):!f # Convenient shortcuts ai += curing:@q1 ai += potions? of heal wounds:@q2 ai += potions? of haste:@q3 ai += scrolls? of teleportation:@r4 ai += identify:@r1 ai += remove curse:@r2 ai += chunks of flesh:@e1 # match ration but not wand of disinteg(ration) ai += (?javelin : end # Only Troll & Ogre pickup large rocks : if not table_has({"Ogre", "Troll"}, you.race()) then ae += >large rock : end # Jewellery ae += >amulets? of (inaccuracy) ae += >rings? of (teleportation|attention) : if table_has({"Gargoyle", "Vampire", "Mummy", "Ghoul"}, you.race()) then ae += >rings? of (poison resistance) : end : if table_has({"Deep Dwarf"}, you.race()) then ae += >amulets? of (regeneration) : end # Scrolls : if table_has({"Vampire", "Mummy", "Ghoul"}, you.race()) then ae += >scrolls? of (holy word) : else ae += scrolls? of (teleportation) : else ae += scrolls? of (amnesia|noise|random uselessness) ae += potions? of (degeneration|stabbing) # Miscellaneous ae += <(tins of tremorstones) # Pickup runes but not 'runed' anything ae += > note_items += artefact note_items += experience,of Zot,acquirement,Archmagi note_items += crystal plate,pearl dragon scales,gold dragon scales # note some auto inscribes # do not match curare note_messages += (?> 🤖 colortest <%s>%s", color, color, color)) -- end -- end -- colortest() -- rc_out("COLORS", COLORS.brown, COLORS.brown) } ## ## END ################################################################################################ : rc_scs("Successfully initialized magus.rc [v1.9.6]") : crawl.enable_more(true) always_show_gems = true more_gem_info = true