# CRAWL.NEMELEX.CARDS ##### 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 #$ lab_magic_window_translate = true #$ lab_skill_window_translate = true #$ lab_interface_translate = true #$ lab_ability_window_translate = true #$ lab_apply_font = true #$ lab_gold_status = true #$ lab_transfer_chat_ingame=true #$ lab_hide_chat_control = true #$ lab_disable_mouse_move = false #$ lab_sound_on = true #$ lab_maintain_session = false #$ lab_disable_chat_clear = true ============================================================= ############## # Autopickup # ############## # Used # $ = gold # ? = scroll # ! = potion # : = book # " = jewellery # / = wand # % = food # } = miscellaneous # = rods # | = staves : if (you.god():find("Trog")) then autopickup += $?!:"/%} : else autopickup += $?!:"/%} : end ### --------------------------- ---- Begin force_mores ---- --------------------------- -- See README.md for documentation. -- Each entry must have a 'name' field with a descriptive name, a 'pattern' -- field, a 'cond' field giving the condition type, and a 'cutoff' field giving -- the max value for where the force_more will apply. Possible values for -- 'cond' are xl and maxhp. -- -- The 'pattern' field's value can be either a regexp string or array of regexp -- strings matching the appropriate monster(s). Any values are joined by "|" to -- make a new force_more of the form: -- -- ((?!spectral )VALUE1|VALUE2|...)(?! (skeleton|zombie|simularcrum)).*into view". -- -- To allow derived undead forms of a monster to match, include 'spectral ' at -- the beginning of and/or ' (skeleton|zombie|simularcrum)' at the end of your -- pattern for that monster. fm_patterns = { -- Fast, early game Dungeon problems for chars with low mhp. {name = "30mhp", cond = "maxhp", cutoff = 30, pattern = "adder|hound"}, -- Dungeon monsters that can damage you for close to 50% of your mhp with a -- ranged attack. {name = "40mhp", cond = "maxhp", cutoff = 40, pattern = "orc priest|electric eel"}, {name = "60mhp", cond = "maxhp", cutoff = 60, pattern = "acid dragon|steam dragon|manticore"}, {name = "70mhp", cond = "maxhp", cutoff = 70, pattern = "centaur(?! warrior)|meliai|yaktaur(?! captain)"}, {name = "80mhp", cond = "maxhp", cutoff = 80, pattern = "gargoyle|orc (warlord|knight)"}, {name = "90mhp", cond = "maxhp", cutoff = 90, pattern = {"centaur warrior", "deep elf archer", "efreet", "molten gargoyle", "tengu conjurer"} }, {name = "110mhp", cond = "maxhp", cutoff = 110, pattern = {"centaur warrior", "deep elf (mage|knight)", "cyclops", "efreet", "molten gargoyle", "tengu conjurer", "yaktaur captain", "necromancer", "deep troll earth mage", "hell knight", "stone giant"} }, {name = "160mhp", cond = "maxhp", cutoff = 160, pattern = {"(fire|ice|quicksilver|shadow|storm) dragon", "(fire|frost) giant", "war gargoyle", "draconian (knight|stormcaller"} }, } -- end fm_patterns active_fm = {} -- Set to true to get a message when the fm change notify_fm = 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 init_force_mores() for i,v in ipairs(fm_patterns) do active_fm[#active_fm + 1] = false end end function update_force_mores() local activated = {} local deactivated = {} local hp, maxhp = you.hp() for i,v in ipairs(fm_patterns) do local msg = nil if type(v.pattern) == "table" then for j, p in ipairs(v.pattern) do if msg == nil then msg = p else msg = msg .. "|" .. p end end else msg = v.pattern end msg = "(?= v.cutoff then action = "-" elseif not active_fm[i] and you.xl() < v.cutoff then action = "+" end elseif v.cond == "maxhp" then if active_fm[i] and maxhp >= v.cutoff then action = "-" elseif not active_fm[i] and maxhp < v.cutoff then action = "+" end end if action == "+" then activated[#activated + 1] = fm_name elseif action == "-" then deactivated[#deactivated + 1] = fm_name end if action ~= nil then local opt = "force_more_message " .. action .. "= " .. msg crawl.setopt(opt) active_fm[i] = not active_fm[i] end end if #activated > 0 and notify_fm then mpr("Activating force_mores: " .. table.concat(activated, ", ")) end if #deactivated > 0 and notify_fm then mpr("Deactivating force_mores: " .. table.concat(deactivated, ", ")) end end local last_turn = nil function force_mores() if last_turn ~= you.turns() then update_force_mores() last_turn = you.turns() end end init_force_mores() ------------------------- ---- End force_mores ---- ------------------------- # Unused # ) = weapon # ( = missiles # [ = armour # X = corpses # Allows easily dropping multiple items drop_mode += multi # Always show the full list of items when you pick up a stack pickup_mode += multi # Allows followers to pick up ANYTHING (take care not to lose artefacts) default_friendly_pickup += all # Set Alias for Autopickup Exceptions ae := autopickup_exceptions ae += useless_item, dangerous_item, evil_item # Autopickup artefacts ae += = 1 then crawl.setopt("tile_player_tile = tile:mons_crimson_imp") elseif you.mutation("passive freeze") >= 1 then crawl.setopt("tile_player_tile = tile:mons_white_imp") elseif you.mutation("black mark") >= 1 then crawl.setopt("tile_player_tile = tile:mons_shadow_imp") elseif you.mutation("augmentation") >= 3 then crawl.setopt("tile_player_tile = tile:mons_iron_imp") else crawl.setopt("tile_player_tile = tile:mons_ufetubus") end end } force_more_message = into view force_more_message += .*(Agnes|Aizul|Antaeus|Arachne|Asmodeus|Azrael|Bai suzhen|Blork the orc|Boris|Cerebov|Crazy Yiuf|Dispater|Dissolution|Donald|Dowan|Duvessa|Edmund|the Enchantress|Ereshkigal|Erica|Erolcha|Eustachio|Fannar|Frances|Frederick|Gastronok|Geryon|Gloorx Vloq|Grinder|Grum|Harold|Ignacio|Ijyb|Ilsuiw|Jessica|Jorgrun|Jory|Joseph|Josephine|Khufu|Kirke|the Lernaean hydra|Lom Lobon|Louise|Mara|Margery|Maurice|Menkaure|Mennas|Mnoleg|Murray|Nergalle|Natasha|Nessos|Nikola|Pan|Pikel|Polyphemus|Prince Ribbit|Psyche|Purgy|Roxanne|the royal jelly|Rupert|Saint Roka|the Serpent of Hell|Sigmund|Snorg|Sojobo|Sonja|Terence|Tiamat|Urug|Vashnia|Xtahua|Neqoxec|Cacodemon|Shining eye).*comes? into view language = ko autofight_stop = 70 ## 마법창 한글화 ## #$ lab_magic_window_translate = true ## 기술창 한글화 ## #$ lab_skill_window_translate = true ## 인터페이스 한글화 ## #$ lab_interface_translate = true ## 능력창 한글화 ## #$ lab_ability_window_translate = true ## 한글 고정폭 폰트 ## #$ lab_apply_font = true ## 골드 인터페이스 ## #$ lab_gold_status = true ## 채팅 리디렉트 (관전자 X) ## #$ lab_transfer_chat_ingame=true ## 채팅 컨트롤 숨기기 (관전자 X) ## #$ lab_hide_chat_control = true ## 마우스 클릭을 통한 이동 사용 안함 ## #$ lab_disable_mouse_move = true ## 사운드 자동 켜기 (관전자 X) ## #$ lab_sound_on = true { function ready() checkSpellFailRate() end } { safe = 10 spellTable = {} function checkSpellFailRate() for index,spellName in pairs(you.spells()) do fail = spells.fail(spellName) if rawget(spellTable, spellName) == nil then spellTable[spellName] = 0 end if rawget(spellTable, spellName) == 0 and fail < safe then crawl.mpr(string.format("%s 스펠 안정화 끝!",spellName)) spellTable[spellName] = 1 end end end } #$tile_display_mode = glyphs sound_on = false sound_pack += https://osp.nemelex.cards/build/latest.zip:["init.txt"] one_SDL_sound_channel = true sound_fade_time = 0.5