# 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 # 소리설정하는거 sound_on = true # CNC Open Sound Pack sound_pack += https://osp.nemelex.cards/build/latest.zip:["init.txt"] # BindTheEarth Sound Pack sound_pack += https://sound-packs.nemelex.cards/Autofire/BindTheEarth/BindTheEarth.zip #소리크기 sound_volume=0.1 #메세지가 너무 많이 떴을 때 강제로 more 띄우지 않게 함 show_more = false #게임 시작부터 스킬 경험치 투자를 메뉴얼로 설정 default_manual_training = true #이동,모험,휴식 속도 -1은 바로 travel_delay = 10 explore_delay = 10 rest_delay = -1 #언어 #language = ko #폰트변경 tile_font_crt_family = Consolas tile_font_stat_family = Consolas tile_font_msg_family = Consolas tile_font_lbl_family = Consolas #노란위험도도 표시 tile_show_threat_levels = tough nasty #유니크 몬스터가 출현했을 때 more를 강제로 띄워줌 #패치로 유니크몹이 추가되면 맞춰서 수정해줘야함 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 #위험한 몬스터 출현 시 more를 강제로 띄워줌 #패치로 위험한 몬스터가 추가되면 맞춰서 수정해줘야함 force_more_message += ((giant|floating|shining) eye|eye of draining).*into view force_more_message += (moth of wrath|ghost moth|torpor snail).*into view force_more_message += (guardian serpent|draconian shifter|convoker).*into view force_more_message += (flayed ghost|royal mummy|mummy priest|fiend|tzitzimitl).*into view force_more_message += (tormentor|curse toe|curse skull).*into view force_more_message += (hellion|hell sentinel|deep elf sorcerer).*into view force_more_message += (deep elf high priest|scorcher).*into view force_more_message += (ancient lich|orb of fire|executioner|juggernaut|shrike).*into view force_more_message += (wretched star|lurking horror).*into view force_more_message += (neqoxec|cacodemon|doom hound).*into view force_more_message += 27-headed.* comes? into view force_more_message += (radroach|entropy weaver|meliai).*into view force_more_message += (salamander tyrant|ironbound frostheart).*into view force_more_message += (walking crystal tome|walking divine tome|walking earthen tome|walking frostbound tome).*into view #몬스터가 위험한 몬스터로 변신 시 more를 강제로 띄워줌 #패치로 위험한 몬스터가 추가되면 맞춰서 수정해줘야함 force_more_message += changes into.*((giant|floating|shining) eye|eye of draining) force_more_message += changes into.*(moth of wrath|ghost moth|torpor snail) force_more_message += changes into.*(guardian serpent|draconian shifter|convoker) force_more_message += changes into.*(flayed ghost|royal mummy|mummy priest|fiend|tzitzimitl) force_more_message += changes into.*(tormentor|curse toe|curse skull) force_more_message += changes into.*(hellion|hell sentinel|deep elf sorcerer) force_more_message += changes into.*(deep elf high priest|scorcher) force_more_message += changes into.*(ancient lich|orb of fire|executioner|juggernaut|shrike) force_more_message += changes into.*(wretched star|lurking horror) force_more_message += changes into.*(neqoxec|cacodemon|doom hound) force_more_message += changes into.*(radroach|entropy weaver|meliai) force_more_message += changes into.*(salamander tyrant|ironbound frostheart) force_more_message += changes into.*(walking crystal tome|walking divine tome|walking earthen tome|walking frostbound tome) #왜곡무기 장비한 몬스터, 춤추는 왜곡무기 출현 시 more를 띄워주고 화면이 번쩍이는 효과를 줌 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 #방어구 자동줍기 #body: x #aux: 비어있음-모두/착용-브랜드,아티팩트 #shield: 비어있음-x/착용-브랜드,아티팩트 #브랜드 없는 enchanted aux, shield가 노말로 취급되는 문제 있음 { add_autopickup_func(function(it, name) local class = it.class(true) local armour_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots", body="Armour", shield="Shield"} if (class == "armour") then if it.is_useless then return false end sub_type = it.subtype() equipped_item = items.equipped_at(armour_slots[sub_type]) if (sub_type == "cloak") or (sub_type == "helmet") or (sub_type == "gloves") or (sub_type == "boots") then if not equipped_item then return true else return it.artefact or it.branded or it.ego end end if (sub_type == "body") then return false end if (sub_type == "shield") then if equipped_item then return it.artefact or it.branded or it.ego end end end end) } ##자동전투 제한(숫자정해둔퍼센테이지 아래로체력이 내려가면 탭키불가) autofight_stop = 70 ##완전회복까지 휴식 (100턴휴식이아니라 체력,마력이100%가 될때까지 휴식) rest_wait_both = true rest_wait_percent = 100 #사운드 자동활성화 #$ lab_sound_on = true ################ ## HP/MP 알림 ## ################ { 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 --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('Now you have [' .. current_hp .. '/' .. max_hp .. '] HP') else crawl.mpr('Now you have [' .. current_hp .. '/' .. max_hp .. '] HP') end else --체력 잃을때 if (current_hp < previous_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr('You take ' .. hp_difference .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') elseif current_hp <= (max_hp * 0.50) then crawl.mpr('You take ' .. hp_difference .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') elseif current_hp <= (max_hp * 0.70) then crawl.mpr('You take ' .. hp_difference .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') elseif current_hp <= (max_hp * 0.90) then crawl.mpr('You take ' .. hp_difference .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') else crawl.mpr('You take ' .. hp_difference .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') end if hp_difference > (max_hp * 0.20) then crawl.mpr('!!!!! HP Warning !!!!!') end end --체력 얻을때 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('You gain ' .. health_inturn .. ' hp, and have [' .. current_hp .. '/' .. max_hp .. '] hp.') elseif current_hp <= (max_hp * 0.50) then crawl.mpr('You gain ' .. health_inturn .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] hp.') elseif current_hp <= (max_hp * 0.70) then crawl.mpr('You gain ' .. health_inturn .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') elseif current_hp <= (max_hp * 0.90) then crawl.mpr('You gain ' .. health_inturn .. ' HP, and have [' .. current_hp .. '/' .. max_hp ..'] HP') else crawl.mpr('You gain ' .. health_inturn .. ' HP, and have [' .. current_hp .. '/' .. max_hp .. '] HP') end end if (current_hp == max_hp) then crawl.mpr(' HP Full. (' .. current_hp .. ')') end end --마력 얻을때 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('You gain ' .. mp_inturn .. ' MP, and have [' .. current_mp .. '/' .. max_mp .. '] MP') elseif current_mp < (max_mp * 0.50) then crawl.mpr('You gain ' .. mp_inturn .. ' MP, and have [' .. current_mp .. '/' .. max_mp .. '] MP') else crawl.mpr('You gain ' .. mp_inturn .. ' MP, and have [' .. current_mp .. '/' .. max_mp .. '] MP') end end if (current_mp == max_mp) then crawl.mpr('MP Full (' .. current_mp .. ')') end end --마력 잃을때 if current_mp < previous_mp then if current_mp <= (max_mp * 0.25) then crawl.mpr('You lose ' .. mp_difference .. 'MP, and have [' .. current_mp .. '/' ..max_mp ..'] MP') elseif current_mp <= (max_mp * 0.50) then crawl.mpr('You lose ' .. mp_difference .. 'MP, and have [' .. current_mp .. '/' ..max_mp ..'] MP') else crawl.mpr('You lose ' .. mp_difference .. 'MP, and have [' .. current_mp .. '/' ..max_mp ..'] 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 }