############### Interface ############### #font tile_font_crt_family = Consolas tile_font_stat_family = Consolas tile_font_msg_family = Consolas tile_font_lbl_family = Consolas #tile_show_threat_levels = nasty hp_warning = 50 hp_colour = 100:green, 99:lightgray, 50:yellow, 25:red mp_colour = 100:green, 99:lightgray, 50:yellow, 25:red stat_colour = 3:red, 7:yellow sort_menus = inv: true : equipped, freshness, charged always_show_zot = false show_more = false simple_targeting = true easy_confirm = all tile_web_mouse_control = false equip_unequip = true default_manual_training = true ############## O-Tab ############### #autofight_throw = true autofight_stop = 50 explore_auto_rest = false ############# CWZ Settings ############# Language = en #lab_sound_on = true #lab_magic_window_translate = false #lab_skill_window_translate = false #lab_interface_translate = false #lab_ability_window_translate = false #lab_apply_font = true #$ lab_transfer_chat_ingame=true #$ lab_hide_chat_control = true #lab_disable_mouse_move = true #$ lab_disable_chat_clear = true #lab_gold_status = true #note_chat_messages = true ########### Autopickup ########### ae := autopickup_exceptions ae += >useless_item ae += >dangerous_item #ae += >evil_item #ae += potions? of (brill|invis|magic|berserk) ae += >scrolls? of (vuln|amne|brand|noise|random|silence|holy) ae += >ring of (pro|flight|mag|stealth|ice|fire|pois|willp) ae += >ring of (wiz|int|str|dex|slay|eva|pos|resis|see) #ae += >staff of (air|cold|conj|death|earth|fire|pois) ae += >amulet of (reflect|faith|magic|guard|regen) ae += >amulet of the (acrobat|gourmand) #ae += >wand of (poly|rand|flame|mindb) #distortion brand : if you.god()~="Lugonu" then autoinscribe += distortion:!w :end ########### Item Slot ########### item_slot += throwing nets?:+Z item_slot += wand.*flame:+d item_slot += wand.*polymorph:+l item_slot += wand.*mindburst:+o item_slot += wand.*iceblast:+p item_slot += wand.*roots:+p item_slot += wand.*charming:+u item_slot += wand.*paralysis:+u item_slot += wand.*digging:+v item_slot += condenser vane:+F item_slot += wand.*acid:+V item_slot += wand.*light:+V item_slot += wand.*silver:+V Item_slot += scroll.*remove curse:+c Item_slot += scroll.*identify:+f Item_slot += scroll.*fear:+h Item_slot += scroll.*vulnerability:+i Item_slot += scroll.*immolation:+j Item_slot += scroll.*holy word:+k Item_slot += scroll.*enchant weapon:+n Item_slot += scroll.*enchant armour:+x Item_slot += scroll.*brand weapon:+y Item_slot += scroll.*acquirement:+z Item_slot += scroll.*fog:+B Item_slot += scroll.*butterflies:+B Item_slot += scroll.*teleportation:+K Item_slot += scroll.*blinking:+M Item_slot += scroll.*revelation:+O Item_slot += scroll.*amnesia:+U Item_slot += potion.*berserk rage:+g Item_slot += potion.*lignification:+l Item_slot += potion.*experience:+m Item_slot += potion.*Invisibility:+C Item_slot += potion.*enlightenment:+D Item_slot += potion.*resistance:+E Item_slot += potion.*haste:+G Item_slot += potion.*brilliance:+I Item_slot += potion.*agility:+J Item_slot += potion.*might:+L Item_slot += potion.*ambrosia:+N Item_slot += potion.*magic:+P Item_slot += potion.*curing:+S Item_slot += potion.*heal wounds:+T Item_slot += potion.*cancellation:+X Item_slot += potion.*mutation:+Y ########### Messages ########### message_colour ^= green:more experienced message_colour ^= green:skill increases to ### Ignore # Explore Stop explore_stop = artifacts #explore_stop += greedy_visited_item_stack,stairs explore_stop += altars,portals,branches,runed_doors runrest_ignore_monster += butterfly:1 stop := runrest_stop_message ignore := runrest_ignore_message ignore += You regained.*mp # Annoyances -- Don't stop autotravel for these events ignore += A.*toadstool withers and dies ignore += disappears in a puff of smoke ignore += engulfed in a cloud of smoke ignore += engulfed in white fluffiness ignore += grinding sound ignore += in your inventory.*rotted away ignore += safely over a trap ignore += standing in the rain ignore += toadstools? grow ignore += You feel.*sick ignore += You walk carefully through the ignore += contamination has completely ignore += your breath back # Jiyva Messages ignore += Jiyva appreciates your sacrifice ignore += Jiyva gurgles merrily ignore += Jiyva says: Divide and consume ignore += You hear.*splatter # Qazlal Messages ignore += The plant is engulfed ignore += You destroy the (bush|fungus|plant) ignore += You displace your # Bad things -- Stop autotravel for these events stop += (blundered into a|invokes the power of) Zot stop += (devoid of blood|starving) stop += A huge blade swings out and slices into you[^r] stop += An alarm trap emits a blaring wail stop += flesh start stop += found a zot trap stop += hear a soft click stop += lose consciousness stop += sense of stasis stop += Wait a moment stop += wrath finds you stop += You fall through a shaft stop += something hits you ############## MORE & Flash ############## ## Yellow Flash ## 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 += You shout at flash_screen_message += unleashes a terrible howl #flash_screen_message += engulfs you in water flash_screen_message += Your magical essence is drained flash_screen_message += You feel less protected from missiles flash_screen_message += You are slowing down flash_screen_message += You feel strangely unstable flash_screen_message += (.* Fiends?|Tzitzi.*) comes into view flash_screen_message += Something drains your vigour flash_screen_message += You feel yourself slow down flash_screen_message += Something hits you flash_screen_message += Strange energy courses ## MORE ## more := force_more_message ## player ## more += Careful! more += .*LOW HITPOINT WARNING more += Ouch! That really hurt! more += Terrible wounds open up more += You convulse more += Your body is wracked with pain! more += (iron shot|orb of destruction|crystal spear|dispelling energy|calcifying dust|vile air).*you! more += damnation engulfs you! more += your unholy channel ## MORE Monsters ## more += An orb of destruction comes into view. more += (high priest|zealot|scorcher|demonologist|blood saint).*into view more += (serpent|draconian shifter|convoker|hydra|serpent).*into view more += (moth of wrath|ghost moth|torpor snail).*into view more += ((giant|floating|shining) eye|eye of draining).*into view more += (curse toe|curse skull|greater mummy|mummy priest).*into view more += (flayed ghost|tormentor|hellion|fiend|hell sentinel|tzitzi).*into view more += (ancient lich|orb of fire|executioner|juggernaut|shrike|balrug|doom hound).*into view more += (cacodemon|neqoxec|wretched star).* comes? into view more += (pandemonium lord|the Serpent of Hell).* comes? into view 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|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 ########### Functions ########### { function ready() OpenSkills() hp_percent() mp_percent() AnnounceDamage() Ruoffer() 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 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 if hp_difference > (max_hp * 0.20) then crawl.mpr("MASSIVE DAMAGE!!") 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("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.50) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.70) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") elseif current_hp <= (max_hp * 0.90) then crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") else crawl.mpr("You regained " .. health_inturn .. " hp, and now have " .. current_hp .. "/" .. max_hp .. " hp.") end end if (current_hp == max_hp) then crawl.mpr("Health restored: " .. 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("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") elseif current_mp < (max_mp * 0.50) then crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") else crawl.mpr("You regained " .. mp_inturn .. " mp, and now have " .. current_mp .. "/" .. max_mp .. " mp.") end end if (current_mp == max_mp) then crawl.mpr("MP restored: " .. current_mp .. "") end end --On losing magic if current_mp < previous_mp then if current_mp <= (max_mp / 5) then crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") elseif current_mp <= (max_mp / 2) then crawl.mpr("You now have " .. current_mp .. "/" ..max_mp .." mp.") else crawl.mpr("You now 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 } { 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 } ### some other functions ### { 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 } ########### Spells & Abilities ########### ### Abilities abs := ability_slot abs ^= Evoke Invis:w abs ^= Evoke Blink:B abs ^= Blink:B abs ^= Heal Wounds:H abs += Spit:q abs += Breath:q abs ^= Apocalypse:C abs ^= reVify:V abs ^= exsanguinaTe:T ### Spells #auto_hide_spells = true sps := spell_slot # FE sps += foxfire:i sps += inner flame:d sps += sticky flame:vc sps += fireball:f # IE sps += frozen rampart:s sps += ozocubu's armour:q # AE sps += swiftness:qQ sps += static discharge:s sps += airstrike:x sps += lightning bolt:t # Cj sps += searing ray:s sps += dazzling spray:de sps += iskenderun's mystic blast:xcv # VM sps += poisonous vapor:s sps += mephitic cloud:c sps += olgreb's toxic radiance:d # Su sps += call imp:i sps += call canine familiar:c sps += summon ice beast:e sps += summon lightning spire: wW # Ne sps += animate skeleton:xs sps += vampiric draining:vc sps += animate dead:d # EE sps += passwall: p sps += stone arrow: s sps += petrify: e sps += lee's rapid deconstruction: cd ## Conjurations sps += iron shot:xX sps += orb of destruction:xX sps += iskenderun's battlesphere:wW sps += spellforged servitor:wW ## End Game sps += ignition:G sps += lehudib's crystal spear:xXvV sps += fire storm:F sps += tornado:T sps += shatter:H ## Summoning sps += mana viper:ei ## Buffs sps += portal projectile:p sps += silence:L ## Tloc sps += apportation:A sps += blink:B sps += passage of golubria:P ## Necro sps += sublimation of blood:z sps += borgnjor's vile clutch:tg sps += death channel:D sps += dispel undead:u sps += simulacrum:S sps += haunt:hH sps += infestation:fF sps += death's door:K sps += borgnjor's revivification:L #tile_display_mode = glyphs