# TEAMCAPTAIN aesen ######## Generic ######################## tile_font_crt_family = Consolas tile_font_stat_family = Consolas tile_font_msg_family = Consolas tile_font_lbl_family = Consolas show_more = false travel_delay = -1 travel_key_stop = true explore_delay = -1 explore_wall_bias = 0 explore_key_stop = true rest_wait_percent = 100 default_manual_training = true num_rest_turns = 25 cloud_status = true autofight_stop = 50 easy_confirm = all explore_stop -= greedy_item_stack msg_webtiles_height = 8 auto_butcher = true easy_eat_chunks = true ######### Experimental ########################### ###include += SpeedrunRest1.rc macros += M p za\{13} macros += M - \{9} ######## Autoexplore Interruption Messages ######################## stop := runrest_stop_message stop += Your transformation is almost over ######## Annoyances ######################## ;ignore += grinding sound ;ignore += contamination has completely ;ignore += your breath back #-----------------------------------------------------------------------------------------------------------# #----------------------------------------------- Force More ------------------------------------------------# #-----------------------------------------------------------------------------------------------------------# ## Dangerous messages ## flash_screen_message += You are slowing down flash_screen_message += your limbs are stiffening flash_screen_message += The floating eye seems to glare at you flash_screen_message += The floating eye's stare focuses on you flash_screen_message += The floating eye's view fixates on you flash_screen_message += A sentinel's mark forms upon you flash_screen_message += distant snort flash_screen_message += unleashes a terrible howl flash_screen_message += engulfs you in water flash_screen_message += The ushabti shakes and rattles deafeningly! flash_screen_message += You hear strange and distant voices. flash_screen_message += finished your manual flash_screen_message += The spriggan druid calls out to the beasts of the wild! flash_screen_message += Found a gateway to a bazaar. flash_screen_message += You are engulfed in seething chaos. ## Player's status ## more += .*(Agnes|Aizul|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|Harold|Ignacio|Ijyb|Ilsuiw|Jessica|Jorgrun|Jory|Joseph|Josephine| Khufu|Kirke|the Lernaean hydra|Lom Lobon|Louise|Mara|Margery|Maurice|Menkaure|Mennas|Mnoleg|Mlioglotl|Murray|Nergalle|Natasha| Nessos|Nikola|Pan|Pikel|Polyphemus|Prince Ribbit|Psyche|Purgy|Roxanne|the royal jelly|Rupert|Saint Roka| Sigmund|Snorg|Sojobo|Sonja|Terence|Tiamat|Urug|Vashnia|Xtahua).*comes? into view ######## Miscellaneous ######################## #tile_player_tile = mons: dart slug #you.transform() == "statue" then~ #you.mutation("slowness") then~ #you.hunger_name() == "starving" then~ ##! means you did 7-17 damage. 2!!: 18-35. 3!!!: 36-71. 4!!!!: 72-143. 5!!!!!: 144-287. 6!!!!!!: 288+; and so on. Yikes! ##<6: 288-575, 7: 576-1151, 8: 1152-2303, 9: 2304-4607> ######## Function Section ######################## { function ready() Petrifying_Check() OpenSkills() hpWarning_Early() hpWarning_Mid() hpWarning_Late() hp_percent() mp_percent() AnnounceDamage() Vehumetoffer() Ruoffer() DDoorCounter() end } { function hp_percent() a,b=you.hp() return 100*a/b end } { function mp_percent() a,b=you.mp() return 100*a/b end } { function Petrifying_Check() if you.petrifying() then crawl.yesno("You are now petrifying so your action will be checked. (Y or N to confirm.)", false, false, true, true) crawl.mpr("Consider to using tele/blink, Yara, cancellation or other emergency measures......", 5) end end } { local need_skills_opened = true function OpenSkills() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") crawl.mpr("Pride is your worst enemy! Be on prudent way!", 3) end 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("The dice are ABSOLUTELY not on your side......", 5) 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("Consider to using tele/blink, potion or other emergency measures......", 5) 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: Be careful! (Y or N to confirm.)", false, false, true, true) crawl.mpr("Keep playing discreetly even on late-game......", 5) 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("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("You take " .. hp_difference .. " damage, and have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You take " .. hp_difference .. " damage, and have " .. 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 veh = true function Vehumetoffer() if string.find(crawl.messages(4), "Vehumet offers") and veh then crawl.yesno("Vehumet offers a spell for you! (Y or N to confirm.)", false, false, true, true) veh = false end if string.find(crawl.messages(4), "Vehumet accepts") then veh = true end end } { local ru = true function Ruoffer() if string.find(crawl.messages(4), "Ru believes") and ru then crawl.yesno("Ru offers sacrifice for you! (Y or N to confirm.)", false, false, true, true) ru = false end if string.find(crawl.messages(6), "Ru asks you to") or string.find(crawl.messages(6), "Ru will take longer") then ru = true end end } ######## Non-ready() Function Section ######################## { function custom_rest() if hp_percent() == 100 and mp_percent() == 100 then if crawl.yesnoquit("Really wait turns while hp and mp are full?", true, 'n') == 1 then crawl.process_keys("5") end else crawl.process_keys("5") end end } { function c_answer_prompt(prompt) if prompt:find("vortices") or prompt:find("vortex") or prompt:find("friend") then return true end if prompt:find("That beam") and you.res_fire() == 0 and not you.status("death's door") then if crawl.yesno("REALLY cast on yourself without fire resistance?",false,'n') then return end end if prompt == "Really attack while wielding the +9 staff of Wucad Mu {channel, !a!d}?" then return false end end } ;{ ;function c_answer_prompt(prompt) ; if prompt:find("vortices") or prompt:find("vortex") or prompt:find("friend") ;then ; return true ; end ; if prompt:find("That beam") and you.res_fire() == 0 and not ;you.status("death's door") then ; return false ; end ;end } { local counter = you.turns() function DDoorCounter() if you.status("in death's door (expiring)") then crawl.mpr("Count "..you.turns() - counter.."......") end if not you.status("in death's door (expiring)") then counter = you.turns()+1 end end } ## Player's status ## more := force_more_message more += Careful! more += .*LOW HITPOINT WARNING more += Ouch! That really hurt! more += You stumble into a teleport trap! ## Holy weapon force more when undead or ds :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 ######## Local Webtile(CWZ) Settings ######################## ## 사운드 자동 켜기 (ê´€ì „ìž X) ## #$ lab_sound_on = true ## 웹죽 세션 ê°•ì œ ìœ ì§€ 및 ìž ìˆ˜ 알림 (5분 이상 ìž…ë ¥ì´ 없어도 종료되지 않음) ## #$ lab_maintain_session = true ##tile_realtime_anim = true ##tile_water_anim = true explore_auto_rest = false always_show_zot = true ##tile_player_tile = mons:twister force_spell_targeter = force_ability_targeter = ## hjklyubn 이동 방지 ## ì•„êµ° ì§ì ‘ 공격시 프롬프트 무시 #{ #function c_answer_prompt(prompt) #if prompt:find("Really attack") and prompt:find("your") then #return true #end #end #} ## ì•„êµ° ëƒ‰ìž¥ê³ ë¬´ì‹œ { function c_answer_prompt(prompt) if prompt:find("Really refrigerate") and prompt:find("your") then return true end end } ## 싱잉소드, OTR, ëƒ‰ìž¥ê³ ë“±ì˜ 플래쉬 무시 ## use_animations -= player ## ê³µ 방패 무시 msc := message_colour msc += mute:Fedhas appreciates your contribution to the ecosystem. msc += mute:PANG! msc += mute:GONNNNG! msc += mute:SHROANNG! msc += mute:BOUMMMMG! msc += mute:BONNNG! msc += mute:PTOANNNG! msg += mute:PANG! msg += mute:You howl as the wereblood boils in your veins! #colors tile_upstairs_col = green tile_branchstairs_col = red tile_door_col = #c27149 tile_wall_col = #544747 tile_explore_horizon_col = #919191 tile_floor_col = #0f0d0d tile_item_col = #25231f tile_feature_col = #d4be21 tile_plant_col = #3e5a2f tile_water_col = #0b5d79 tile_deep_water_col = #1212b3 tile_trap_col = #d40027 tile_transporter_col = #ff5656 tile_transporter_landing_col = #59ff89 tile_lava_col = #5f0a0000 ## 위험도 타일 색깔 표시 tile_show_threat_levels = trivial, easy, tough, nasty ## 탐험 ì‹œ 아이템 더미 위에 이동 안함 explore_stop -= greedy_visited_item_stack Item_slot += curare-tipped dart:+e Item_slot += throwing net:+d launcher_autoquiver = true fire_order = launcher, throwing