# 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*