## 한글 번역 ## #translation_language = ko ## 젬클락 표시 ## always_show_gems = true ## 마우스 이동 막기 ## tile_web_mouse_control = false ## 조트클락 표시 ## always_show_zot = true ## 악마 티어 타일로 표시 ## tile_show_demon_tier = true ## 위험도를 노란색, 빨간색만 표시 ## tile_show_threat_levels = tough,nasty,unusual_highlight #유니크 몬스터가 출현했을 때 more를 강제로 띄워줌 #탭질 신나게하다가 유니크 몹이 등장했을 때 게임을 멈춰서 제대로 집중해서 전투할 수 있게 해줌 #패치로 유니크몹이 추가되면 맞춰서 수정해줘야함 force_more_message += .*(Agnes|Aizul|Amaemon|Antaeus|Arachne|Asmodeus|Asterion|zrael|Bai suzhen|Blorkula|Boris|Cerebov|Cassandra|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|Jeremiah|Josephine|Josephina|Khufu|Kirke|the Lernaean hydra|Lodul|Lom Lobon|Louise|Maggie|Mara|Margery|Maurice|Menkaure|Mlioglotl|Mennas|Mnoleg|Murray|Nergalle|Natasha|Nessos|Nikola|Norris|Pan|Parghit|Pikel|Polyphemus|Prince Ribbit|Psyche|Pargi|Robin|Roxanne|the royal jelly|Rupert|Saint Roka|the Serpent of Hell|Sigmund|Sprozz|Snorg|Sojobo|Sonja|Terence|Tiamat|Urug|Vashnia|Vv|Wiglaf|Xtahua|Xak'krixis|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|chonchon).*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|orb of entropy|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 force_more_message += A sentinel's mark forms upon you force_more_message += You turn into a filthy swine. force_more_message += You feel yourself slow down. force_more_message += blast of calcifying dust force_more_message += Okawaru sends forces against you #force_more_message += is devoured by a tear in reality. force_more_message += Shadows coalesce into solid form. force_more_message += The guardian serpent gestures with its tail at you force_more_message += Let's see if it's strong enough to survive yet force_more_message += Fight to survive, mortal force_more_message += You hear Xom's maniacal laughter force_more_message += Time to have some fun! force_more_message += Xom creates a safe adventurer enclosure force_more_message += You are confused force_more_message += Toadstools sprout up around you force_more_message += Xom makes a sudden noise force_more_message += You swap places with the force_more_message += You are covered in liquid fire! Move or burn! force_more_message += You are covered in intense liquid fire! force_more_message += You feel very mighty and confused force_more_message += There is a horrible, sudden wrenching feeling in your soul force_more_message += Xom calls forth mighty explosions. force_more_message += suddenly starts regenerating force_more_message += shimmers and splits apart force_more_message += evaporates and reforms force_more_message += weaves intricate patterns with the tip of its force_more_message += You convulse force_more_message += You have finished your manual of force_more_message += An unnatural silence engulfs you force_more_message += toga "Victory" glows force_more_message += The water rises up and strikes you force_more_message += Your magic wrenches itself out of your sinews force_more_message += Your power and thoughts are overwhelmed by magic force_more_message += Lucky! force_more_message += Your body is wracked with pain ######## Force More ######################## more := force_more_message more += (?-i:[A-Z]).* comes? into view more += (?-i:[A-Z]).* opens the more += You feel yourself slow down more += dispelling energy hits you more += You convulse more += Space .* around you more += .*orbs? of fire.* comes? into view more += ((floating|shining) eye|dream sheep|doom hound).*into view more += It is wielding.*of distortion more += She is wielding.*of distortion more += He is wielding.*of distortion more += Found .* abyssal rune of Zot more += (blundered into a|invokes the power of) Zot more += Deactivating autopickup ;more += The mighty Pandemonium lord .* resides here more += Ouch! That really hurt! more += A sentinel's mark forms upon you more += calcifying dust hits more += watched by something more += You feel less protected from missiles more += time is quickly running out more += .*LOW HITPOINT WARNING more += You hear a zap more += Found a staircase to the Ecumenical Temple more += You fail to use your ability more += You miscast.*(Blink|Borgnjor|Door|Haste|Invisibility) #more += Your transformation is almost over more += Your thoughts seem clearer more += Vehumet offers you knowledge of more += You fall through a shaft more += Ru believes you more += You enter a teleport trap more += You are suddenly yanked more += interdimensional caravan more += distant snort more += Found a gateway leading out of the Abyss more += Found a gateway leading deeper into the Abyss more += Found .* abyssal rune of Zot more += Careful! more += You are starting to lose your buoyancy more += filled with .* inner flame more += starts rolling more += looks more exp more += plume of calc more += vile air hits you more += engulfs you in water more += breathes miasma more += You feel your flesh start more += Found * staircase leading down more += You are engulfed in seething chaos more += You are slowing down more += You are confused more += fire storm spell more += Your guardian golem overheats more += offers itself more += volcano erupts more += Uskayaw prepares the audience for your solo more += Something reaches out for you more += flickers and vanishes! more += finished your manual more += .* carrying a wand of more += You have finished forgetting about more += You feel monstrous more += You hear a crashing sound more += ticking.*clock more += dying ticks more += distant snort more += coins.*counted more += tolling.*bell more += roar of battle more += creaking.*portcullis more += portcullis is probably more += wave of frost more += crackling.*melting more += hiss.*sand more += sound.*rushing water more += rusting.*drain more += drain falling apart more += heat about you more += falling.*rocks flash_screen_message += The floating eye seems to glare at you flash_screen_message += The floating eye's stare focuses on you flash_screen_message += The floating eye's view fixates on you : if you.xl() < 14 then more += ogre.* comes? into view more += orc warrior.* comes? into view more += hornet.* comes? into view more += killer bee.* comes? into view more += electric eel.* comes? into view more += dream sheep.* comes? into view : end ## 자동공격이 멈추는 체력 비율 ## autofight_stop = 50 ## 왜곡무기 장비한 몬스터, 춤추는 왜곡무기 출현 시 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 ## 메세지가 너무 많이 떴을 때 강제로 more 띄우지 않게 함 ## show_more = false ## 이펙트 딜레이 ## view_delay = 200 ## 플레이어 타일을 해당 종족으로 변경 ## tile_show_player_species = true ## 폰트 변경 ## tile_font_crt_family = Consolas tile_font_stat_family = Consolas tile_font_msg_family = Consolas tile_font_lbl_family = Consolas ## 방을 이동해도 채팅을 지우지 않음 ## #$ lab_disable_chat_clear = true ## vi방식 이동키 비활성화 ## include = no_vi_command_keys.txt ## 사운드 자동 켜기 ## #$ lab_sound_on = true ## 스킬 경험치 메뉴얼 설정 ## default_manual_training = true ## 자동탐사 딜레이 ## travel_delay = -1 ## 탐험 딜레이 ## explore_delay = -1 ## 휴식 딜레이 ## rest_delay = -1 ## 휴식 몇 퍼센트까지 ## rest_wait_percent = 80 ## 탐사할때휴식안함 ## explore_auto_rest = false cloud_status = true autopickup_exceptions ^= >useless_item #골드, 스크롤, 포션, 책, 장신구, 완드, 스태프, 잡동사니를 자동으로 주움 autopickup = $?!:"/|} #그물, 다트 자동으로 주움 autopickup_exceptions += 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 } ## 우클릭시 채팅창에 아이템 공유 ## lab_use_click_to_send_chat = true ## @ 누르면 GDR 출력 ## { function with_gdr() local armour_class = you.ac() local gdr = math.floor(16 * math.sqrt(math.sqrt(math.max(0, armour_class)))) crawl.formatted_mpr(string.format("GDR: %d%%", gdr)) crawl.sendkeys('@') end crawl.setopt("macros += M \@ ===with_gdr") } ## 사운드 ## sound_on = true sound_volume = 0.15 # 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 ## display damage, healing, exhausted (sepcially serpent's lash) ## { ------- hp, mp, exhaust local last_hp = you.hp() local last_mp = you.mp() local last_turn = you.turns() function get_damage_color(damage, max_hp) local damage_percent = (damage / max_hp) * 100 if damage_percent >= 25 then -- 1/4 이상 데미지 return "lightmagenta" -- 매우 심각 elseif damage_percent >= 15 then -- 1/6.67 데미지 return "lightred" -- 매우 위험 elseif damage_percent >= 10 then -- 1/10 데미지 return "red" -- 위험 elseif damage_percent >= 5 then -- 1/20 데미지 return "yellow" -- 주의 elseif damage > 1 or damage_percent > 2 then -- 2% 초과 또는 2 이상의 모든 데미지 return "white" else return "lightgray" -- 1 데미지나 2% 이하만 회색으로 end end ------- ready function ready() local current_hp, max_hp = you.hp() local current_mp, max_mp = you.mp() -- 메시지 표시는 턴이 변경되었을 때만 if you.turns() ~= last_turn then -- HP 변화 체크 local hp_change = current_hp - last_hp if hp_change ~= 0 then local msg if hp_change < 0 then local damage = -hp_change local color = get_damage_color(damage, max_hp) msg = string.format("You took <%s>%d damage!", color, damage, color) else msg = string.format("You recovered %d HP!", hp_change) end crawl.formatted_mpr(msg) end -- MP 변화 체크 local mp_change = current_mp - last_mp if mp_change > 0 then local msg = string.format("You recovered %d MP!", mp_change) crawl.formatted_mpr(msg) end end -- 현재 상태 저장 last_hp = current_hp last_mp = current_mp last_turn = you.turns() end } ######## Function Section ######################## { function ready() Petrifying_Check() OpenSkills() Vehumetoffer() Ruoffer() end } { function Petrifying_Check() if you.petrifying() then crawl.yesno("You are now petrifying so your action will be checked. (Y or N to confirm.)", false, false, true, true) crawl.mpr("Consider to using tele/blink, Yara, cancellation or other emergency measures......", 5) end end } { local need_skills_opened = true function OpenSkills() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") crawl.mpr("Pride is your worst enemy! Be on prudent way!", 3) end end } { function c_answer_prompt(prompt) if prompt:find("vortices") or prompt:find("vortex") or prompt:find("friend") or prompt:find("Really attack") then return true end end } { local veh = true function Vehumetoffer() if string.find(crawl.messages(4), "Vehumet offers") and veh then crawl.yesno("Vehumet offers a spell for you! (Y or N to confirm.)", false, false, true, true) veh = false end if string.find(crawl.messages(4), "Vehumet accepts") then veh = true end end } { local ru = true function Ruoffer() if string.find(crawl.messages(4), "Ru believes") and ru then crawl.yesno("Ru offers sacrifice for you! (Y or N to confirm.)", false, false, true, true) ru = false end if string.find(crawl.messages(6), "Ru asks you to") or string.find(crawl.messages(6), "Ru will take longer") then ru = true end end } ## 웨이포인트 _키로 지정하기 ## bindkey = [_] CMD_FIX_WAYPOINT bindkey = [_] CMD_MAP_ADD_WAYPOINT ### Autoinscriptions ### autoinscribe += .*faith:!P autoinscribe += figurine:!v autoinscribe += throwing net:!f ### Hotkey Assignment ### ability_slot += Dig:+v ability_slot += Hop:+v ability_slot += Evoke Invisibility:+r ability_slot += Evoke Blink:+h ability_slot += Bend Time:+a ability_slot += Temporal Distorion:+b ability_slot += Slouch:+c ability_slot += Step From Time:+d spell_slot += Blink:+h spell_slot += Passage of Golubria:+g spell_slot += Invisibility:+i travel_avoid_terrain = deep water