##### 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 # 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 ##### Ancient versions ############################################## # If you're used to the interface of ancient versions of Crawl, you may # get back parts of it by uncommenting the following options: # include = 034_command_keys.txt # And to revert monster glyph and colouring changes: # include = 034_monster_glyphs.txt # include = 052_monster_glyphs.txt # include = 060_monster_glyphs.txt # include = 071_monster_glyphs.txt # include = 080_monster_glyphs.txt # include = 0.9_monster_glyphs.txt # include = 0.12_monster_glyphs.txt # include = 0.13_monster_glyphs.txt # include = 0.14_monster_glyphs.txt always_show_zot = true ######################## ##### Force_more ##### ######################## #위험한 상황에 more을 띄우거나 화면을 반짝이는 기능 #메세지 창에 올라오는 메시지를 기반으로 more을 띄움 more := force_more_message flash := flash_screen_message #신 관련 more += Vehumet offers more += Ru believe more += god:(sends|finds|silent|anger) : if you.god() == "Ashenzari" then more += You have a vision of.*gate : end #신성 무기 경고 :if you.race() == "Vampire" or you.race() == "Mummy" or you.race() == "Ghoul" or you.race() == "Demonspawn" then more += (revenant|black sun).*into view more += wielding.*holy wrath more += holy wrath.*into view flash += wielding.*holy wrath flash += holy wrath.*into view :end #판데 고정 룬 구역 진입 more += The mighty Pandemonium lord.*resides here #입구 찾음 more += Found.*(Temple|Pandemonium|Abyss|bazaar) #?? more += greedy_visited_item_stack,stairs,shops #왜곡 무기 경고 more += hits you.*distortion more += Its appearance distorts for a moment more += you fell strangely unstable flash += wielding.*distortion #위험한 함정 more += A sentinel's mark forms upon you more += You are suddenly yanked towards more += You become entangled in the net more += enter.*dispersal trap more += hear a loud "Zot flash += (blundered into a|invokes the power of) Zot #부패면역 제외 우샤브티의 부패 구름 :if not (you.race() == "Gargoyle" or you.race() == "Vine Stalker" or you.race() == "Ghoul" or you.race() == "Mummy") then more += The vile air.*you more += the foul vapour.*you #위험한 몬스터와 조우 ##레벨 별로 위험한 몬스터를 띄우는 것은 아래 function 쪽에 있으니 거기서 조절 more += (hellion|hell sentinel|fiend|tzitzimitl).*into view more += (lich|doom hound|floating eye).*into view #토먼트 more += (tormentor|curse skull|curse Toe|mummy priest|greater mummy).*into view #돌연변이 more += (neqoxec|cacodemon|shining eye).*into view #네임드 more += (27-headed|gold.*simulacrum).*into view more += (Agnes|Aizul|Antaeus|Arachne|Asmodeus|Asterion|Azrael|Bai suzhen|Blork|Boris|Crazy Yiuf|Dissolution|Dispater|Donald|Dowan|Duvessa|Edmund|Enchantress|Ereshkigal|Erica|Erolcha|Eustachio|Fannar|Frances|Frederick|Gastronok|Geryon|Grinder|Grum|Harold|Ignacio|Ijyb|Ilsuiw|Jessica|Jorgrun|Jory|Joseph|Josephine|Khufu|Kirke|Lernaean|Louise|Maggie|Mara|Margery|Maurice|Menkaure|Mennas|Murray|Nergalle|Natasha|Nessos|Nikola|Pikel|Polyphemus|Ribbit|Psyche|Purgy|Robin|Roxanne|Royal jelly|Rupert|Roka|Serpent of Hell|Sigmund|Snorg|Sojobo|Sonja|Terence|Tiamat|Urug|Vashnia|Xtahua|pandemonium).*into view #위험한 몬스터로 변이 more += change.*(floating|shining|moth) #데미지 18이상의 공격은 more을 띄움 more += you!! more += you with.*!! #신성무기 피격 more += you convulse! #킬러클라운 파이 more += pie hits you #토먼트 당함 more += Your body is wracked with pain #오브 거미가 마법 시전 more += weaves a glowing #수호자 뱀의 나가 던지기 #more += naga.*blink #광폭화 more += goes berserk! #슬로우 more += You feel.*slow down #플로팅 아이가 쳐다 봄 (다음 턴에 높은 확률로 마비) more += The floating eye.*(glare|focuse|fixate) flash += The floating eye.*(glare|focuse|fixate) #투명 상태의 유령 나방에게 마나 빨림 flash += watched by something #변이 마법 만료 직전 more += Your transformation is almost over #투명 풀림 more += You flicker back #위험한 변이 more += You.*(uncertain|pissed off|vision blurs) #위험한 브레스 #아포꽃게more += chaos 어쩌구 :end flash += distortion.*into view more += wielding.*distortion more += distortion.*into view #텔포, 광폭화, 블러리 비전 변이 시 확인 창을 띄우는 기능 { local mut = true function mutate() if mut then if string.find(crawl.messages(5), "you.*uncertain") or string.find(crawl.messages(5), "pissed off") or string.find(crawl.messages(5), "vision blurs") then mut = false crawl.yesno("위험한 변이@@") 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 } #아래는 입은 데미지 계산과 저체력 경고 rc (아마) { function hp_percent() a,b=you.hp() return 90*a/b end } { function mp_percent() a,b=you.mp() return 90*a/b end } { local early = true function hpWarning_Early() if you.hp() < 21 and hp_percent() < 30 and you.xl() < 9 and early then crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true) crawl.mpr("확인") early = false end if you.hp() > 20 and hp_percent() > 29 and you.xl() < 9 then early = true end end } { local mid = true function hpWarning_Mid() if you.hp() < 35 and you.xl() < 20 and you.xl() > 8 and mid then crawl.yesno("Low HP: Be careful! (Y or N to confirm.)", false, false, true, true) crawl.mpr("확인") mid = false end if you.hp() > 34 and you.xl() < 20 and you.xl() > 8 then mid = true end end } { local late = true function hpWarning_Late() if you.hp() < 60 and you.xl() == 27 and not you.status("death's door") and not you.status("death's door (expiring)") and late then crawl.yesno("Low HP Warning! (Y/N)", false, false, true, true) crawl.mpr("확인") late = false end if you.hp() > 59 and you.xl() == 27 then late = true end 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("You now have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You now have " .. current_hp .. "/" .. max_hp .. " hp.") end else --On losing health if (current_hp < previous_hp) then if current_hp <= (max_hp * 0.30) then crawl.mpr("@ " .. hp_difference .. " 의 대미지, 남은 HP = " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("@2 " .. hp_difference .. " 의 대미지, 남은 HP2 = " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("@3 " .. hp_difference .. " 의 대미지, 남은 HP3 = " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("@4 " .. hp_difference .. " 의 대미지, 남은 HP4 = " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("@5 " .. hp_difference .. " 의 대미지, 남은 HP5 = " .. current_hp .. "/" .. max_hp .. " hp.") 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 } #아래는 데스도어 관련 편의성 기능 { 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 } #특정 레벨일 때 more 기능 등이 작동하도록 만드는 rc #아래는 8레벨 미만일 때 작동 #원래는 위의 force_more 에 적혀있었는데 대조하기 편하라고 여기 놓아뒀음 : if you.xl() < 8 then more += (ogre|orc priest|orc warrior).*into view more += (hornet|centaur|drake|cyclops).*into view more += wield.*(venom|chaos|elec|drain) flash += wield.*(venom|chaos|elec|drain) more += you! more += you with.*! : end #다만 위의 force_more과 flash는 게임이 켜졌을 때만 체크 된다 #말인 즉 게임 중 8렙이 되어도 게임을 껐다 키지 않으면 계속 more을 띄움 #그래서 아래 function 기능으로 게임 내내 체크를 하게 만들어야 함 #잘 보면 more +=가 more -=로 바뀌어있는데 more을 띄우지 않게 만듬 { local early = true function XLCheckOptions_Early() if you.xl() >= 8 and early then crawl.setopt("more -= (ogre|orc priest|orc warrior).*into view") crawl.setopt("more -= (hornet|centaur|drake|cyclops).*into view") crawl.setopt("more -= wield.*(venom|chaos|elec|drain)") crawl.setopt("flash -= wield.*(venom|chaos|elec|drain)") crawl.setopt("more -= you!") crawl.setopt("more -= you with.*!") crawl.setopt("more ^= you!!") crawl.setopt("more ^= you with.*!!") early = false end end } #아래는 15레벨 미만일 때 : if you.xl() < 15 then more += (meliai|beetle|hydra|dragon).*into view more += (ettin|stone|frost giant|fire giant).*into view more += carrying a wand of (acid|dis|ice|para|slave|poly) flash += carrying a wand of (acid|dis|ice|para|slave|poly) more += zaps a wand more += is.*quivering.*(curare|atropa|datura) flash += is.*quivering.*(curare|atropa|datura) : end { local mid = true function XLCheckOptions_Mid() if you.xl() >= 15 and mid then crawl.setopt("more -= (meliai|beetle|hydra|dragon).*into view") crawl.setopt("more -= (ettin|stone|frost giant|fire giant).*into view") crawl.setopt("more -= carrying a wand of (acid|dis|ice|para|slave|poly)") crawl.setopt("flash -= carrying a wand of (acid|dis|ice|para|slave|poly)") crawl.setopt("more -= zaps a wand") crawl.setopt("more -= is.*quivering.*(curare|atropa|datura)") crawl.setopt("flash -= is.*quivering.*(curare|atropa|datura)") mid = false end end } : if you.xl() < 27 then more += (high priest|annihilator|sorcerer|scorcher).*into view more += (titan|juggernaut|shrike|moth).*into view more += (warden|acid blob|executioner).*into view #아래는 슬라임 4~5단계가 될 때 나오는 메세지 more += form an (enormous|titanic) #투명 몹 발견 시 more += Deactivating autopickup #텔레포트 시 more += Your surroundings suddenly seem different : end { local late = true function XLCheckOptions_Late() if you.xl() == 27 and late then crawl.setopt("more -= (high priest|annihilator|sorcerer|scorcher).*into view") crawl.setopt("more -= (titan|juggernaut|shrike|moth).*into view") crawl.setopt("more -= (warden|acid blob|executioner).*into view") crawl.setopt("more -= form an (enormous|titanic)") crawl.setopt("more -= Deactivating autopickup") crawl.setopt("more -= Your surroundings suddenly seem different") late = false end end } ######################## ###RACE TILE SETTINGS### ######################## #: if (you.race():find("Human")) then tile_player_tile = tile:MONS_ORC : end