# 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 Language = ko ##언어한글화## ##여기부터 마법안정화 체크 { function ready() checkSpellFailRate() end } { safe = 10 -- 실패율이 safe값 이하면 안정화가 된걸로 침 --만약 실패율이 5%이하인 것만 메세지를 나타나게 하고싶으면 10을 5로 바꾸면됨 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 } ##여기까지 마법안정화 체크 ##여기부터 탐험딜레이설정 rest_delay=-1 travel_delay=10 explore_delay=-1 show_travel_trail=1 ##여기까지 탐험딜레이설정 ##여기부터 자동m키(새게임시작시 자동으로 스킬창띄움) { 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 } ##여기까지 자동m키 ##여기부터 완전회복까지 휴식 (100턴휴식이아니라 체력,마력이100%가 될때까지 휴식) rest_wait_both = true rest_wait_percent = 100 ##여기까지 완전회복까지 휴식 ##여기부터 자동전투 제한(숫자정해둔퍼센테이지 아래로체력이 내려가면 탭키불가) autofight_stop = 40 ##여기까지 자동전투 제한 ## 마법창 한글화 ## $ lab_magic_window_translate = true ## 기술창 한글화 ## $ lab_skill_window_translate = true ## 인터페이스 한글화 ## $ lab_interface_translate = true ## 능력창 한글화 ## $ lab_ability_window_translate = true sound_on = true sound_pack += https://osp.nemelex.cards/build/latest.zip:["init.txt"] one_SDL_sound_channel = true sound_fade_time = 0.5 show_more = false default_manual_training = true force_more_message += .*(Agnes|Aizul|Amaemon|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|Grunn|Harold|Ignacio|Ijyb|Ilsuiw|Jessica|Jorgrun|Jory|Joseph|Josephina|Josephine|Khufu|Kirke|the Lernaean hydra|Lodul|Lom Lobon|Louise|Maggie|Mara|Margery|Maurice|Menkaure|Mlioglotl|Mennas|Mnoleg|Murray|Nergalle|Natasha|Nessos|Nikola|Pan|Parghit|Pikel|Polyphemus|Prince Ribbit|Psyche|Purgy|Robin|Roxanne|the royal jelly|Rupert|Saint Roka|the Serpent of Hell|Sigmund|Snorg|Sojobo|Sonja|Terence|Tiamat|Urug|Vashnia|Vv|Xtahua|Zenata).*comes? into view force_more_message += It is wielding.*of distortion force_more_message += She is wielding.*of distortion force_more_message += He is wielding.*of distortion force_more_message += wielding.* distortion.* comes? into view flash_screen_message += It is wielding.*of distortion flash_screen_message += She is wielding.*of distortion flash_screen_message += He is wielding.*of distortion flash_screen_message += wielding.* distortion.* comes? into view flash_screen_message += distortion.* comes? into view tile_show_threat_levels = tough nasty view_delay = 200 explore_wall_bias = 0 { local need_skills_opened = true local previous_hp = 0 local previous_mp = 0 local previous_form = '' local was_berserk_last_turn = false function announce_damage_ko() local current_hp, max_hp = you.hp() local current_mp, max_mp = you.mp() --Things that increase hp/mp temporarily really mess with this local current_form = you.transform() local you_are_berserk = you.berserk() local max_hp_increased = false local max_hp_decreased = false if (current_form ~= previous_form) then if (previous_form:find('dragon') or previous_form:find('statue') or previous_form:find('tree') or previous_form:find('ice')) then max_hp_decreased = true elseif (current_form:find('dragon') or current_form:find('statue') or current_form:find('tree') or current_form:find('ice')) then max_hp_increased = true end end if (was_berserk_last_turn and not you_are_berserk) then max_hp_decreased = true elseif (you_are_berserk and not was_berserk_last_turn) then max_hp_increased = true end --crawl.mpr(string.format('previous_form is: %s', previous_form)) --crawl.mpr(string.format('current_form is: %s', current_form)) --crawl.mpr(string.format('max_hp_increased is: %s', max_hp_increased and 'True' or 'False')) --crawl.mpr(string.format('max_hp_decreased is: %s', max_hp_decreased and 'True' or 'False')) --crawl.mpr(string:format('you_are_berserk is: %s', you_are_berserk and 'True' or 'False')) --crawl.mpr(string:format('was_berserk_last_turn is: %s', was_berserk_last_turn and 'True' or 'False')) --Skips message on initializing game if previous_hp > 0 then local hp_difference = previous_hp - current_hp local mp_difference = previous_mp - current_mp if max_hp_increased or max_hp_decreased then if max_hp_increased then crawl.mpr('이제 [' .. current_hp .. '/' .. max_hp .. '] 의 체력을 가지게 되었습니다.') else crawl.mpr('이제 [' .. current_hp .. '/' .. max_hp .. '] 의 체력을 가지게 되었습니다.') end else --On losing health if (current_hp < previous_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr('' .. hp_difference .. '의 피해를 받았습니다. 현재 남은 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') elseif current_hp <= (max_hp * 0.50) then crawl.mpr('' .. hp_difference .. '의 피해를 받았습니다. 현재 남은 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') elseif current_hp <= (max_hp * 0.70) then crawl.mpr('' .. hp_difference .. '의 피해를 받았습니다. 현재 남은 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') elseif current_hp <= (max_hp * 0.90) then crawl.mpr('' .. hp_difference .. '의 피해를 받았습니다. 현재 남은 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') else crawl.mpr('' .. hp_difference .. '의 피해를 받았습니다. 현재 남은 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') end if hp_difference > (max_hp * 0.20) then crawl.mpr('조오오온나 쌔다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!') end end --On gaining more than 1 health if (current_hp > previous_hp) then --Removes the negative sign local health_inturn = (0 - hp_difference) if (health_inturn > 1) and not (current_hp == max_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr('' .. health_inturn .. '의 체력을 얻었습니다. 현재 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') elseif current_hp <= (max_hp * 0.50) then crawl.mpr('' .. health_inturn .. '의 체력을 얻었습니다. 현재 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') elseif current_hp <= (max_hp * 0.70) then crawl.mpr('' .. health_inturn .. '의 체력을 얻었습니다. 현재 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') elseif current_hp <= (max_hp * 0.90) then crawl.mpr('' .. health_inturn .. '의 체력을 얻었습니다. 현재 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') else crawl.mpr('' .. health_inturn .. '의 체력을 얻었습니다. 현재 체력은 [' .. current_hp .. '/' .. max_hp .. '] 입니다.') end end if (current_hp == max_hp) then crawl.mpr('체력이 전부 회복되었습니다. (' .. current_hp .. ')') end end --On gaining more than 1 magic if (current_mp > previous_mp) then --Removes the negative sign local mp_inturn = (0 - mp_difference) if (mp_inturn > 1) and not (current_mp == max_mp) then if current_mp < (max_mp * 0.25) then crawl.mpr('' .. mp_inturn .. '의 마력를 얻었습니다. 현재 마력은 [' .. current_mp .. '/' .. max_mp .. '] 입니다.') elseif current_mp < (max_mp * 0.50) then crawl.mpr('' .. mp_inturn .. '의 마력을 얻었습니다. 현재 마력은 [' .. current_mp .. '/' .. max_mp .. '] 입니다.') else crawl.mpr('' .. mp_inturn .. '의 마력을 얻었습니다. 현재 마력은 [' .. current_mp .. '/' .. max_mp .. '] 입니다.') end end if (current_mp == max_mp) then crawl.mpr('마력이 전부 회복되었습니다. (' .. current_mp .. ')') end end --On losing magic if current_mp < previous_mp then if current_mp <= (max_mp / 5) then crawl.mpr('현재 남은 마력은 [' .. current_mp .. '/' ..max_mp ..'] 입니다.') elseif current_mp <= (max_mp / 2) then crawl.mpr('현재 남은 마력은 [' .. current_mp .. '/' ..max_mp ..'] 입니다.') else crawl.mpr('현재 남은 마력은 [' .. current_mp .. '/' ..max_mp ..'] 입니다.') end end end end --Set previous hp/mp and form at end of turn previous_hp = current_hp previous_mp = current_mp previous_form = current_form was_berserk_last_turn = you_are_berserk end function ready() -- Enable AnnounceDamage. announce_damage_ko() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end } runrest_ignore_monster += butterfly:1 # Set Alias' stop := runrest_stop_message ignore := runrest_ignore_message ignore += You regained.*mp # Annoyances -- Don't stop autotravel for these events ignore += A.*toadstool withers and dies ignore += disappears in a puff of smoke ignore += engulfed in a cloud of smoke ignore += engulfed in white fluffiness ignore += grinding sound ignore += in your inventory.*rotted away ignore += safely over a trap ignore += standing in the rain ignore += toadstools? grow ignore += You feel.*sick ignore += You walk carefully through the # Jiyva Messages ignore += Jiyva appreciates your sacrifice ignore += Jiyva gurgles merrily ignore += Jiyva says: Divide and consume ignore += You hear.*splatter # Qazlal Messages ignore += The plant is engulfed ignore += You destroy the (bush|fungus|plant) ignore += You displace your # Bad things -- Stop autotravel for these events (duplicates some of HDAForceMore) stop += (blundered into a|invokes the power of) Zot stop += (devoid of blood|starving) stop += A huge blade swings out and slices into you[^r] stop += An alarm trap emits a blaring wail stop += flesh start stop += found a zot trap stop += hear a soft click stop += lose consciousness stop += sense of stasis stop += Wait a moment stop += wrath finds you stop += You fall through a shaft hp_colour = 100:green, 99:lightgrey, 75:yellow, 50:lightred, 25:red mp_colour = 100:green, 99:lightgrey, 75:yellow, 50:lightred, 25:red stat_colour = 3:red, 7:lightred