############ GENERAL SETTINGS ############ default_manual_training = true show_more = false use_animations = beam autofight_stop = 70 explore_delay = 1 note_messages += magical essence is drained by the effort tile_show_threat_levels = tough,nasty,unusual sort_menus = true : identified , curse , art , ego , basename , qualname, >qty # mini map size, [X] pixels per tile tile_map_pixels = 16 # scale factor when map mode (X) tile_map_scale = 0.50 # size of tiles (default is 32) tile_cell_pixels = 32 # auto explore stop defaults explore_stop = stairs,shops,altars,portals,branches,runed_doors,runes explore_stop += artefacts,glowing_items,greedy_pickup_smart,greedy_visited_item_stack ae := autopickup_exceptions # nullifying the effect of the most annoying 0.24 commit: ae += >ring of (poi|resist cor|fli|see) ae += >amulet of (the acr|fai|the gou|gua|har|mag|rag|ref|reg) ae += >scrolls? of (amn|noise) ae += >wand of rand ae += >ring of (protection from (mag|fire|cold)|mag|ste|ice|fire|pos|wil|wiz) ae += >ring of (dex|int|str) ae ^= staff of macros += M \{-274} ===toggle_cheiwalk macros += M \{-273} ===toggle_autothrow macros += M \{-272} ===toggle_autorest bindkey = [f5] CMD_DISPLAY_SPELLS { local need_skills_opened = true function ready() if you.turns() == 0 and need_skills_opened then need_skills_opened = false crawl.sendkeys("m") end if crawl.messages(5):find("You enter a gauntlet") and (you.god()=="Lugonu" or you.god()=="Fedhas" or you.god()=="Sif Muna") then crawl.mpr("Break the walls!") end fmore_early_threats() end local fmet = true function fmore_early_threats() if you.xl() > 13 and fmet then crawl.setopt("force_more_message -= centaur.* comes? into view") crawl.setopt("force_more_message -= hydra.* comes? into view") crawl.setopt("force_more_message -= killer bee.* comes? into view") crawl.setopt("force_more_message -= electric eel.* comes? into view") fmet = false end end local aft = false function toggle_autothrow() if aft then crawl.setopt("use_animations += beam, monster") crawl.setopt("autofight_throw = false") crawl.mpr("Autofight_throw is off.") else crawl.setopt("use_animations -= beam, monster") crawl.setopt("autofight_throw = true") crawl.mpr("Autofight_throw is on.") end aft = not aft end local cheiwalk = false function toggle_cheiwalk() if cheiwalk then crawl.setopt("force_more_message -= comes? into view") crawl.mpr("Cheiwalk mode is off.") else crawl.setopt("force_more_message += comes? into view") crawl.mpr("Cheiwalk mode is on.") end cheiwalk = not cheiwalk end local mmores = false function toggle_more_mores() if mmores then crawl.setopt("force_more_message -= Found") crawl.mpr("Less mores.") else crawl.setopt("force_more_message += Found") crawl.mpr("More mores.") end mmores = not mmores end local portalmode = false function toggle_portal_mode() if portalmode then crawl.setopt("show_game_time = false") crawl.mpr("Portal mode is off.") else crawl.setopt("show_game_time = true") crawl.mpr("Portal mode is on.") end portalmode = not portalmode end local autorestmode = true function toggle_autorest() if autorestmode then crawl.setopt("explore_auto_rest = false") crawl.mpr("Autorest mode is off.") else crawl.setopt("explore_auto_rest = true") crawl.mpr("Autorest mode is on.") end autorestmode = not autorestmode end local function autopickup(it, name) local class = it.class(true) local weap = items.equipped_at("Weapon") local shie = items.equipped_at("Shield") if it.is_useless then return false end if class == "armour" then local aux_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots", shield="Shield"} st, _ = it.subtype() if aux_slots[st] == "Shield" then if (weap == nil or weap.hands == 1) and (shie == nil or it.branded) then return true end elseif aux_slots[st] ~= nil and items.equipped_at(aux_slots[st]) == nil then return true elseif st ~= "body" and it.branded then return true end end return nil end add_autopickup_func(autopickup) } ########################### ### Spell/Ability slots ### ########################### ability_slot += Fly|flight:lF ability_slot += Stop Flying:L ability_slot += Breathe:t ability_slot += Invisibility:iv # Abilities prone to miskeys. ability_slot += Blink:IB ability_slot += Berserk:k ability_slot += Corrupt:C ability_slot += Enter the Abyss:E spell_slot += Alistair's intoxication:aisn spell_slot += Animate Armour:aret spell_slot += Apportation:anpt spell_slot += Airstrike:ae spell_slot += Anguish:ahgi spell_slot += Animate dead:adet spell_slot += Arcjolt:atjc spell_slot += Blazeheart golem:bgtm spell_slot += Blink:BKLN spell_slot += Bombard:bdmb spell_slot += Borgnjor's revivification:BRSN spell_slot += Borgnjor's vile clutch:bvch spell_slot += Brom's barelling boulder:bmgr spell_slot += Call canine familiar:cflr spell_slot += Call imp:cilp spell_slot += Cause fear:cfre spell_slot += Chain lightning:clng spell_slot += Confusing touch:ctgh spell_slot += Curse of agony:caye spell_slot += Corpse rot:cret spell_slot += Dazzling Flash:dfgh spell_slot += Death channel:dtcl # Upper-case to prevent miskeys. spell_slot += Death's door:DROT spell_slot += Dimensional bullseye:dble spell_slot += Discord:DCSR spell_slot += Disjunction:iuoe spell_slot += Dispel undead:ndp spell_slot += Dispersal:iea spell_slot += Dragon's call:dcls spell_slot += Enfeeble:efbl spell_slot += Ensorcelled hibernation:ehnd spell_slot += Eringya's Noxious Bog:enb spell_slot += Fire storm:fsmt spell_slot += Fireball:flbr spell_slot += Flame wave:fwme spell_slot += Foxfire:fxro spell_slot += Freezing cloud:fcgd spell_slot += Freeze:fezr spell_slot += Frozen Ramparts:frnt spell_slot += Fugue of the fallen:fenl spell_slot += Fulminant prism:fpmt spell_slot += Gell's Gravitas:glvt spell_slot += Hailstorm:hmls spell_slot += Haunt:htna spell_slot += Ignition:ntg spell_slot += Inner flame:frn spell_slot += Irradiate:ierd spell_slot += Iskenderun's battlesphere:ibne spell_slot += Jinxbite:jxbe spell_slot += Leda's Liquefaction:lanq spell_slot += Lee's rapid deconstruction:ldr spell_slot += Lesser Beckoning:lbg spell_slot += Lehudib's crystal spear:lcsb spell_slot += Magic dart:mdtc spell_slot += Malign gateway:mgy spell_slot += Manifold Assault:madt spell_slot += Maxwell's Capacitive Coupling:mclp spell_slot += Martyr's Knell:mkrl spell_slot += Mephitic cloud:mcdp spell_slot += Mercury vapours:mvs spell_slot += Metabolic englaciation:mcn spell_slot += Monstrous menagerie:mst spell_slot += Necrotize:nzte spell_slot += Olgreb's toxic radiance:oia spell_slot += Orb of destruction:dbn spell_slot += Ozocubu's armour:oau spell_slot += Ozocubu's refrigeration:cbz spell_slot += Pain:pnai spell_slot += Passage of golubria:uoi spell_slot += Passwall:aeu spell_slot += Petrify:pyt spell_slot += Portal projectile:oei spell_slot += Sandblast:zst spell_slot += Scorch:shcr spell_slot += Sculpt simulacrum:stml spell_slot += Searing ray:sry # Upper-case to prevent miskeys. spell_slot += Shatter:STH spell_slot += Shock:zok spell_slot += Sigil of binding:sblg spell_slot += Silence:SLC spell_slot += Slow:swlh spell_slot += Spellforged servitor:spvt spell_slot += Static discharge:tdc spell_slot += Sticky flame:yfk spell_slot += Sting:zptg spell_slot += Stone arrow:wtn spell_slot += Summon cactus giant:cgst spell_slot += Summon forest:fsnt spell_slot += Summon horrible things:hts spell_slot += Summon hydra:hsy spell_slot += Summon ice beast:bct spell_slot += Summon lightning spire:lst spell_slot += Summon mana viper:vms spell_slot += Summon small mammal:zsm spell_slot += Swiftness:ieao spell_slot += Teleport other:tprh spell_slot += Tornado:TDN spell_slot += Tukima's Dance:dkc spell_slot += Vampiric draining:vnd spell_slot += Volatile Blastmotes:vbme spell_slot += Yara's violent unraveling:yvut # Default letters spell_slot += .*:XYZ ############ AUTO INSCRIBES ############ ai := autoinscribe ai += scrolls? of identify:@r1 ai += scrolls? of fog:@r2 ai += scrolls? of teleportation:@r3 ai += scrolls? of blinking:@r4 ai += scrolls? of revelation:@r5 ai += potions? of heal wounds:@q1 ai += potions? of curing:@q2 ai += potions? of might:@q3 ai += potions? of haste:@q5 ai += potions? of berserker rage:@q6 ai += potion of blood:@q9 ai += scrolls? of vulnerability:!r ai += scrolls? of silence:!r ai += scrolls? of summoning:!r ai += staff of conjuration:!a ai += staff of wizardry:Wiz, !a ai += staff of air:rElec !a ai += staff of fire:rF+ !a ai += staff of cold:rC+ !a ai += staff of death:rN+ !a ai += staff of poison:rPois !a item_slot ^= wand of digging:v item_slot ^= wand of acid:c item_slot ^= wand of quicksilver:c item_slot ^= wand of light:c item_slot ^= wand of iceblast:i item_slot ^= wand of roots:i item_slot ^= (condenser vane):V item_slot ^= (tremorstone):B item_slot ^= (lightning rod):R item_slot ^= (box of the beasts):C item_slot ^= (sack of spiders):C ############ FORCE MORES ############ ## General ## more := force_more_message : if you.race == "Mummy" or you.race == "Ghoul" : or you.race == "Vampire" or you.race == "Demonspawn" then more += wielding .*holy : end more += Your body becomes as fragile as glass! more += malevolent more += Your transformation has ended more += You feel weirdly uncertain more += You occasionally lose the ability to read scrolls when taking damage more += You feel firmly anchored in space more += You feel a little pissed off more += You are yanked towards a nearby monster! more += You are yanked towards some nearby monsters! more += You feel more firmly anchored in space more += Found a gateway leading deeper into the Abyss more += A sentinel's mark forms upon you more += You lose the ability to read scrolls when threatened more += You stop ascending the stairs more += wielding .*distort more += watched by something more += mighty Pandemonium lord more += calcifying dust hits you more += you have finished your manual of more += crystal spear hits you more += you have mastered more += feel a terrible chill more += strangely unstable more += power of zot more += expect to remain undetected more += your icy armour evaporates more += come back to life more += revert to your normal more += enter a teleport trap more += Vehumet offers you more += You fall through a shaft more += Your time is quickly running out! more += It guards the demonic rune of Zot more += You turn into a (bat|filthy swine|insubstantial wisp|sentient fungus) ## Enemies entering LOS ## more += guardian serpent.*come more += orbs? of fire .*come more += curse toe.*come more += greater mumm.*come more += hell sentinel.*come more += curse skull.*come more += ghost moth.*come more += swamp worm bursts forth more += floating eye.*come more += zenata.*(comes? into view|opens the). more += parghit.*(comes? into view|opens the). more += josephina.*(comes? into view|opens the). more += vv.*(comes? into view|opens the). more += lodul.*(comes? into view|opens the). more += amaemon.*(comes? into view|opens the). more += Agnes.*(comes? into view|opens the). more += Aizul.*(comes? into view|opens the). more += Antaeus.*(comes? into view|opens the). more += Asmodeus.*(comes? into view|opens the). more += Asterion.*(comes? into view|opens the). more += Azrael.*(comes? into view|opens the). more += Blork the orc.*(comes? into view|opens the). more += Boris.*(comes? into view|opens the). more += Cerebov.*(comes? into view|opens the). more += Dispater.*(comes? into view|opens the). more += Dissolution.*(comes? into view|opens the). more += Donald.*(comes? into view|opens the). more += Dowan.*(comes? into view|opens the). more += Duvessa.*(comes? into view|opens the). more += Edmund.*(comes? into view|opens the). more += Ereshkigal.*(comes? into view|opens the). more += Erica.*(comes? into view|opens the). more += Erolcha.*(comes? into view|opens the). more += Eustachio.*(comes? into view|opens the). more += Fannar.*(comes? into view|opens the). more += Frances.*(comes? into view|opens the). more += Frederick.*(comes? into view|opens the). more += Gastronok.*(comes? into view|opens the). more += Gloorx Vloq.*(comes? into view|opens the). more += Grinder.*(comes? into view|opens the). more += Grum.*(comes? into view|opens the). more += Harold.*(comes? into view|opens the). more += Ignacio.*(comes? into view|opens the). more += Ijyb.*(comes? into view|opens the). more += Ilsuiw.*(comes? into view|opens the). more += Jessica.*(comes? into view|opens the). more += Jorgrun.*(comes? into view|opens the). more += Joseph.*(comes? into view|opens the). more += Josephine.*(comes? into view|opens the). more += Jory.*(comes? into view|opens the). more += Jozef.*(comes? into view|opens the). more += Khufu.*(comes? into view|opens the). more += Kirke.*(comes? into view|opens the). more += Lom Lobon.*(comes? into view|opens the). more += Louise.*(comes? into view|opens the). more += Mara.*(comes? into view|opens the). more += Mioglotl.*(comes? into view|opens the). more += Maggie.*(comes? into view|opens the). more += Margery.*(comes? into view|opens the). more += Maurice.*(comes? into view|opens the). more += Menkaure.*(comes? into view|opens the). more += Mennas.*(comes? into view|opens the). more += Mnoleg.*(comes? into view|opens the). more += Murray.*(comes? into view|opens the). more += Nergalle.*(comes? into view|opens the). more += Nessos.*(comes? into view|opens the). more += Nikola.*(comes? into view|opens the). more += Norris.*(comes? into view|opens the). more += Pikel.*(comes? into view|opens the). more += Polyphemus.*(comes? into view|opens the). more += Prince Ribbit.*(comes? into view|opens the). more += Psyche.*(comes? into view|opens the). more += Purgy.*(comes? into view|opens the). more += Robin.*(comes? into view|opens the). more += Rupert.*(comes? into view|opens the). more += Saint Roka.*(comes? into view|opens the). more += Sigmund.*(comes? into view|opens the). more += Snorg.*(comes? into view|opens the). more += Sonja.*(comes? into view|opens the). more += Terence.*(comes? into view|opens the). more += The Lernaean hydra.*(comes? into view|opens the). more += The royal jelly.*(comes? into view|opens the). more += The Serpent of Hell.*(comes? into view|opens the). more += Tiamat.*(comes? into view|opens the). more += Urug.*(comes? into view|opens the). more += Xtahua.*(comes? into view|opens the). : if you.xl() <= 7 then more += is wielding .*elec #more += orc priest.*come : end : if you.xl() <= 11 then more += two-headed ogre.*come : end : if you.xl() <= 16 then more += sorcerer.*come more += ogre mage.*come : end : if you.xl() <= 18 then more += (a|2|3|4|5|6|7|8|9) wizard.*come more += occultist.*come : end : if you.xl() <= 22 then more += wielding .*distortion more += demonologist.*come ai += weapon .*distort:!w : end : if you.race() == ("Demonspawn" or "Mummy" or "Vampire" or "Ghoul") then more += wielding .*holy : end { function c_answer_prompt(prompt) if prompt:find("vortices") or prompt:find("vortex") or prompt:find("battlesphere") or prompt:find("servitor") or prompt:find("scarab") then return true end 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 if not target and (prompt:find("Really target yourself") or prompt:find("Really fire in your ally")) then crawl.mpr("사격 취소 됨.") return false end end }