# 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
sound_pack += https://osp.nemelex.cards/build/latest.zip:["init.txt"]
one_SDL_sound_channel = true
sound_fade_time = 0.5
sound_volume = 0.2
#메세지가 너무 많이 떴을 때 강제로 more 띄우지 않게 함
show_more = false
#게임 시작부터 스킬 경험치 투자를 메뉴얼로 설정
default_manual_training = true
#유니크 몬스터가 출현했을 때 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
tile_web_mouse_control = false
#빨강몹 네임드 사일런스 알림
{
local ATT_NEUTRAL = 1
local visible_mons_table = {}
function using_Silence(m)
for _,spell in ipairs(m:spells()) do
if spell =='Silence' then
return true
end
end
return false
end
-- To reduce warning spam from bands we compare m:name(),
-- so you'll only get a single warning per group of Death Yaks or whatever.
function update_visible_mons_table(m)
for _,visible_mons in ipairs(visible_mons_table) do
if m:name() == visible_mons:name() then
return false
end
end
table.insert(visible_mons_table, m)
if m:is_unique() then
crawl.formatted_mpr("Unique Monster: " .. m:name() .. "")
crawl.more()
elseif m:threat() >= 3 then
crawl.formatted_mpr("Extremely Dangerous Monster: " .. m:name() .. "")
crawl.more()
end
if using_Silence(m) then
crawl.formatted_mpr("Silence Using Monster: " .. m:name() .. " at (" .. m:x_pos() .. "," .. -m:y_pos() .. ")")
crawl.more()
end
end
-- To give our threat warnings some hysteresis,
-- we warn once when adding a new mthrt:nasty to the table,
-- and we wipe the threat table whenever LOS is empty.
function check_los_threat()
local LOS = you.los()
local m = nil
local current_threat = 0
for i = -LOS,LOS do
for j = -LOS,LOS do
m = monster.get_monster_at(i,j)
if m and you.see_cell_no_trans(i,j) and m:attitude() < ATT_NEUTRAL then
current_threat = current_threat + m:threat()
update_visible_mons_table(m)
end
end
end
if current_threat == 0 then
visible_mons_table = {}
end
end
function ready()
check_los_threat()
end
}