# 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
-----------------------------------------------------------------
# 사운드 자동 켜기
#$ lab_sound_on = true
# 타일 사이즈 변경
tile_use_small_layout = true
tile_map_pixels = 32
tile_cell_pixels = 64
# 폰트 사이즈 변경
tile_font_crt_size = 23
tile_font_stat_size = 23
tile_font_msg_size = 23
tile_font_tip_size = 23
tile_font_lbl_size = 23
# 폰트 변경
#tile_font_crt_family = Open Sans
#tile_font_stat_family = Open Sans
#tile_font_msg_family = Open Sans
#tile_font_tip_family = Open Sans
#tile_font_lbl_family = Open Sans
# Consolas, DejaVu Sans Mono, Arial, Open Sans
##상태창에 보유한 골드 띄움
#$ lab_gold_status = true
# vi방식 이동키 비활성화
include = no_vi_command_keys.txt
# 스킬 경험치 메뉴얼 설정
default_manual_training = true
# 플레이어 타일을 해당 종족으로 변경 (Default : false)
tile_show_player_species = false
# 메세지가 너무 많이 떴을 때 강제로 more 띄우지 않게 함 (Default : true)
show_more = false
# 자동탐사 딜레이 (Default : -1)
travel_delay = -1
# 휴식 딜레이
rest_delay = -1
# 탐험 딜레이
explore_delay = -1
# 이펙트 딜레이 (Default 500)
view_delay = 100
#왜곡무기 장비한 몬스터, 춤추는 왜곡무기 출현 시 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
# 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
}
#그물, 쿠라레, 다투라 던지기 전 확인
#독다트 막 던지다가 그물 쿠라레 다투라 실수로 낭비하는거 방지 가능
autoinscribe += throwing net:!f
autoinscribe += curare:!f
autoinscribe += datura:!f
#그물, 쿠라레 자동으로 주움
autopickup_exceptions += scroll.*(torment|vulnerability)
autopickup_exceptions ^= >potion.*berserk
## 아이템 슬롯 단축키 변경 ##
item_slot += scroll.*identify:+r
item_slot += potion.*curing:+Q
Item_slot += poisoned dart:+v
Item_slot += wand of digging:+D
Item_slot += tin of tremorstones:+F
#어빌리티 부분
ability_slot += Fly|flight:+d
ability_slot += Stop Flying:+D
ability_slot += End Transformation:+q
#확인 된 지팡이는 줍지 않도록 함
autopickup_exceptions += >staff of (fire|cold|air|earth|conj|pois|death)
#확인 된 아뮬렛은 줍지 않도록 함
autopickup_exceptions += >amulet of (faith|regen|reflect|the acrobat|guardian|magic)
#종족이 문어가 아닐 경우 확인 된 반지는 줍지 않도록 함
: if you.race() ~= "Octopede" then
ae += >ring of protection from (magic|fire|cold)
ae += >ring of (fire|ice|pois|positive|resist corr|see)
ae += >ring of (mag|flight|steal|wiz|int|str|dex|slay|prot|eva)
: end
#종족이 오우거, 트롤 일 경우 바위도 자동줍기 목록에 포함시킴
: if you.race() == "Ogre" or you.race() == "Troll" then
ae += 위험한 변이@@")
end
end
if not mut and not string.find(crawl.messages(8), "@@") then
mut = true
end
end
}
#페다스, 루고누를 믿을 때 건틀렛 입장 시 확인 창을 띄우는 기능
#두 신 다 권능으로 건틀렛의 벽을 파괴할 수 있다
{
local guant = true
function gauntletwall()
if gaunt and string.find(crawl.messages(4), "enter.*gauntlet") and ( you.god() == "Lugonu" or you.god() == "Fedhas") then
crawl.yesno("권능으로 벽 파괴", false, false, true, true)
gaunt = false
end
end
}
#아래는 데스도어 관련 편의성 기능
{
local door = true
function DDoorWarning()
if you.status("death's door (expiring)") and door then
crawl.yesno("DDoor is almost expired! (Y or N to confirm.)", false, false, true, false)
crawl.mpr("It will be ended within 5-10 turns......")
door = false
end
if not you.status("death's door (expiring)") then
door = true
end
end
}
{
local counter = you.turns()
function DDoorCounter()
if you.status("death's door (expiring)") then
crawl.mpr("Count "..you.turns() - counter.."......")
end
if not you.status("death's door (expiring)") then
counter = you.turns()+1
end
end
}
#화염, 냉기 저항이 3단계면 해당 구름에 들어갈 때 경고창 뜨는 것을 무시하는 기능
#작동하지 않도록 #으로 주석처리를 해놓았으니 사용하려면
#아래 문장 앞의 #들을 지우면 됨
{
function c_answer_prompt3(prompt)
if prompt:find("Really.*into that cloud of flame?") and you.res_fire() == 3
then
return true
end
if prompt:find("Really.*into that cloud of freezing vapour?") and
you.res_cold() == 3 then
return true
end
end
}
#자동 탐색 시 깊은 물은 탐색하지 않도록 함.
#얕은 물도 추가하려면 shallow water, deep water로 추가하면 됨
travel_avoid_terrain = deep water
## 아이템 자동 줍기 ##
autopickup_exceptions += Manuals
autopickup_exceptions += Gold
autopickup_exceptions += Spell book
autopickup_exceptions +=
autopickup_exceptions += }
autopickup_exceptions += <(Roxanne|horn of Geryon|Wucad Mu)
autopickup_exceptions ^=