# ccsdt #################################################### ## 메세지가 너무 많이 떴을 때 강제로 more 띄우지 않게 함 ## ## 이렇게 설정하고 지나간 메세지를 보고싶다면 컨트롤 p로 확인하는게 무조건 훨씬 좋음 ## show_more = false ## 게임 시작부터 경험치 분배를 매뉴얼로 설정 ## ## 이 게임은 경험치 분배를 오토로 할 이유가 전혀 없음. 까먹고 오토로 올려서 망캐가 되지 않도록 해줌 ## default_manual_training = true ## 게임 시작 시 자동으로 스킬창(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 } ## 유니크 몬스터가 출현했을 때 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|zealout|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 force_more_message += .*orbs? of fire.* comes? into view force_more_message += .*pandemonium* comes? into view ## 왜곡무기 장비한 몬스터, 춤추는 왜곡무기 출현 시 more를 띄워주고 화면이 번쩍이는 효과를 줌 ## ## 왜곡무기는 피격 시 어비스로 추방될 수 있기 때문에 가장 주의해야되는 공격 중 하나임 ## ## 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 #################################################### ## Damage calc ## ## 웹죽 데미지 보이게 로그 만드는 rc ## #include += HDamage.rc { function ready() AnnounceDamage() end } { local previous_hp = 0 local previous_mp = 0 local previous_form = "" local was_berserk_last_turn = false function AnnounceDamage() 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 } #################################################### ## 확장 모듈 전용 RC 기능 ## ## #$로 시작하는 명령어들의 주석 처리는 #$#를 이용 ## ## 마법창 한글화 ## #$# 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 ## 웹죽 세션 강제 유지 및 잠수 알림 (5분 이상 입력이 없어도 종료되지 않음) ## #$ lab_maintain_session = true ## 방을 이동해도 채팅을 지우지 않음 ## #$ lab_disable_chat_clear = true #################################################### ## 웹죽에서 마우스 컨트롤을 비활성화하는 기능 ## ## 2번째줄은 웹죽만의 내장 기능이라 해외 서버에서 안 먹힘 ## tile_web_mouse_control = false #$# lab_disable_mouse_move = true #################################################### ## 반 한글화 ## ## 다만 한글화를 할 경우 몇 몇 사운드가 재생되지 않음(오크 전투의 함성 등) ## #language = ko ## 조트클락 표시 always_show_zot = true ## 탐험 시 자동 휴식 유무(true는 휴식을 취하고 false는 휴식을 취하지 않음) ## explore_auto_rest = true ## 이동,휴식,탐색 딜레이 없애기 ## travel_delay = -1 rest_delay = -1 explore_delay = -1 #################################################### ## 플레이어 타일을 같은 종족 몬스터 타일로 교체 ## tile_show_player_species = false ## 펠리드 생성시 플레이어 타일을 특정 펠리드 타일로 교체 ## ## [ tile_player_tile = tile:Felid_숫자 ]에서 숫자 부분 변경(Felid, Felid_1, Felid_2, ... , Felid_9) ## : if (you.race():find("Felid")) then tile_player_tile = tile:Felid : end #################################################### ## 게임 시작할때 트레이닝 메뉴 띄우는 rc ## ## 스킬 메뉴 열기 ## { local need_skills_opened = true function OpenSkills() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end end } ## Logs chat messages into the notes ## note_chat_messages = true ## 게임 시작시 실행하는 함수 목록 ## { function ready() AnnounceDamage() --SpoilerAlert() OpenSkills() end } #################################################### ## 체력, 마력 색깔 설정 ## 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 ## 체력, 마력 추가 경고 ## menu := menu_colour # Variables (Worst to Best) $evil := red $negative := brown $danger := lightred $warning := yellow $boring := darkgrey $decent := white $good := lightblue $positive := green $verypositive := lightgreen $awesome := lightmagenta # Unusual Variables $mp := lightcyan $equipped := cyan $mutation := magenta #################################################### ## 위험도를 노란색, 빨간색만 표시 ## ## 기본 설정은 아마 빨간색만 표시되는 걸로 아는데 노란색까지 표시해주는게 오카와루 듀얼 권능 쓸 때도 좋고 훨씬 낫다고 봄 ## tile_show_threat_levels = tough nasty #################################################### ## 레벨에 따라, 시야에 몬스터가 출현했을 때 more를 강제로 띄워줌 ## :if you.xl() <15 then force_more_message += comes? into view : end :if you.xl() >=15 then force_more_message -= comes? into view : end force_more_message += comes? into view #################################################### ## 자동줍기 관련 설정들 ## # 골드, 스크롤, 포션, 책, 장신구, 완드, 스태프, 잡동사니를 자동으로 주움 # autopickup = $?!:"/|} # 다트,부메랑,자벨린 자동으로 주움 # autopickup_exceptions += (atropa|dispersal) # 전혀 쓸모 없는 아이템은 줍지 않도록 함 # autopickup_exceptions ^= >useless_item #################################################### ## 아이템을 사용할 때 경고창이 뜨게 해주는 기능 ## autoinscribe += throwing net:!f autoinscribe += potion.*heal wounds:!q autoinscribe += scroll.*mapping:!r #################################################### # 베후멧 주문선물 다음장 force_more_message += Vehumet offers*