############ GENERAL SETTINGS ############ default_manual_training = true show_more = false use_animations = beam autofight_stop = 75 explore_delay = 1 note_messages += magical essence is drained by the effort note_skill_levels = 1,3,6,9,12,15,18,21,24,27 dump_message_count = 50 dump_book_spells = true reduceanimations = true tile_misc_anim = true tile_realtime_anim = true ### AUTOPICKUP ### ae := autopickup_exceptions # Updated for 0.33+ ae += >ring of (resist corrosion|see invisible|flight) ae += >amulet of (the acrobat|faith|guardian spirit|regeneration|reflection) ae += >scroll of (noise|torment|holy word) ae += >wand of random effects ae += >ring of (protection from (magic|fire|cold)|ice|fire|positive energy|willpower|wizardry) ae += >ring of (dexterity|intelligence|strength|slaying) ae ^= staff of # Species-specific autopickups : if you.race() == "Ghoul" or you.race() == "Mummy" then ae += scroll of torment : end : if you.race() == "Tengu" or you.race() == "Merfolk" or you.race() == "Barachi" or you.race() == "Octopode" then ae += >potion of flight : end : if you.race() == "Vampire" or you.race() == "Mummy" or you.race() == "Ghoul" or you.race() == "Demonspawn" then ae += >scroll of holy word : end : if you.race() == "Ogre" or you.race() == "Troll" then ae += potion of brilliance ae += >potion of berserk rage ae += >magical staff : end : if you.god() == "Zin" then ae ^= potion of ambrosia : end ### DROP FILTER ### df := drop_filter df += potion of brilliance df += potion of degeneration df += scroll of torment df += scroll of amnesia df += ring of positive energy df += ring of magical power df += amulet of magic regeneration df += ring of flight df += wand of charming df += wand of iceblast df += wand of paralysis df += wand of disintegration ### AUTO INSCRIBES ### ai := autoinscribe # Updated inscriptions for 0.33+ ai += scroll of identify:@r1 ai += scroll of fog:@r2 ai += scroll of teleportation:@r3 ai += scroll of blinking:@r4 ai += scroll of revelation:@r5 ai += potion of heal wounds:@q1 ai += potion of curing:@q2 ai += potion of might:@q3 ai += potion of haste:@q5 ai += potion of berserk rage:@q6 ai += potion of blood:@q9 ai += scroll of vulnerability:!r ai += scroll of silence:!r ai += scroll 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 ai += forbidden:forbidden ai += dangerous_item.*potion:!q ai += dangerous_item.*scroll:!r ai += potion of berserk rage:!q ai += scroll of (blinking|immolation|magic mapping|silence|vulnerability):!r ai += of faith:!P ai += manual of:!d ai += (large rock|throwing net|curare dart|of dispersal):=f ai += (throwing net|of dispersal):!f ai += curing:@q1 ai += potion of heal wounds:@q2 ai += potion of haste:@q3 ai += identify:@r1 ai += scroll of teleportation:@r4 ai += (executioner's axe|double sword|triple sword|eveningstar|quick blade):rare ai += (storm dragon scales|quicksilver dragon scales|shadow dragon scales|pearl dragon scales|gold dragon scales|crystal plate armour):rare : if you.god() ~= "Lugonu" then ai += distortion:!w ai += (Sonja|Psyche):!w : end ### ITEM SLOTS ### item_slot ^= wand of digging:v item_slot ^= wand of acid:c item_slot ^= wand of random effects: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 ^= tin of tremorstones:B item_slot ^= lightning rod:R item_slot ^= box of beasts:C item_slot ^= sack of spiders:C # Updated item slots for 0.33+ item_slot += amulet of rage : B item_slot += ring of (ice|protection from cold) : Cc item_slot += amulet of the acrobat : A item_slot += \+[0-9]+ ring of evasion : Ee item_slot += ring of .*fire : Ff item_slot += amulet of regeneration : g item_slot += amulet of guardian spirit : G item_slot += amulet of faith : T item_slot += \+[0-9]+ ring of intelligence : Ii item_slot += ring of flight : L item_slot += ring of protection from magic : Mm item_slot += ring of positive energy : Nn item_slot += \+[0-9]+ ring of protection : Oo item_slot += ring of poison resistance : P item_slot += ring of resist corrosion : R item_slot += amulet of mana regeneration : r item_slot += \+[0-9]+ ring of strength : Ss item_slot += ring of see invisible : v item_slot += ring of magical power : Ww item_slot += \+[0-9]+ ring of dexterity : Dd item_slot += \+[0-9]+ ring of slaying : Yy item_slot += ring of wizardry : Zz ### MACROS AND KEYBINDS ### macros += M \{-274} ===toggle_cheiwalk macros += M \{-273} ===toggle_autothrow macros += M \{-272} ===toggle_autorest bindkey = [f5] CMD_DISPLAY_SPELLS bindkey = [^N] CMD_AUTOFIGHT_NOMOVE ### FORCE MORES ### more := force_more_message # Updated force_more messages for 0.33+ 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) more += guardian serpent.*come more += orb of fire.*come more += curse toe.*come more += greater mummy.*come more += hell sentinel.*come more += curse skull.*come more += ghost moth.*come more += swamp worm bursts forth more += floating eye.*come # XL-based force mores : if you.xl() <= 7 then more += is wielding .*elec : 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 # Species-specific force mores : if you.race() == ("Demonspawn" or "Mummy" or "Vampire" or "Ghoul") then more += wielding .*holy : end ### LUA FUNCTIONS ### { 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 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) } ### TILE SETTINGS ### tile_upstairs_col = green tile_downstairs_col = red tile_branchstairs_col = #ffa500 tile_door_col = #c27149 tile_wall_col = #5a524c tile_explore_horizon_col = #aaaaaa tile_floor_col = #1e1b1a tile_item_col = #1e1b1a tile_feature_col = #d4be21 tile_plant_col = #4b6d39 tile_water_col = #0b5d79 tile_deep_water_col = #1212b3 tile_trap_col = #f447ff tile_transporter_col = #ff5656 tile_transporter_landing_col = #59ff89 tile_lava_col = #5f0a00 tile_show_threat_levels = tough,nasty,unusual tile_layout_priority = spells, monsters, minimap, inventory ### SPELL SLOTS ### # Updated spell slots for 0.33+ spell_slot += Airstrike:aAeEiIrRsStTkK spell_slot += Alistair's Intoxication:aiAIsnSNlLtToOxXcCrR spell_slot += Animate Armour:aAerERnNimIMoOuUtT spell_slot += Animate Dead:adADeEnNiImMtT spell_slot += Apportation:aAnNpPoOrRtTiI spell_slot += Blink:bBkKlLiInN spell_slot += Borgnjor's Revivification:brBRsnSNoeOEvVgiGIjJfFcCaAtT spell_slot += Borgnjor's Vile Clutch:bvcBVCsehSEHoilOILruRUgtGTnNjJ spell_slot += Call Canine Familiar:cfCFlerLERaAnmNMiI spell_slot += Call Imp:ciCIlpLPamAM spell_slot += Cause Fear:cfCFerERaAuUsS spell_slot += Chain Lightning:clCLngNGhiHIaAtT spell_slot += Confusing Touch:ctCTghGHoOnuNUfFsSiI spell_slot += Conjure Ball Lightning:cblCBLegEGoaiOAInNjhJHutUTrR spell_slot += Conjure Flame:cfCFeEolOLnaNAjmJMuUrR spell_slot += Dazzling Flash:dfDFghGHalALzZsSiInN spell_slot += Death Channel:dcDChlHLeEaAtnTN spell_slot += Death's Door:dDsrSReoEOaAtThH spell_slot += Discord:dDiIsScCoOrR spell_slot += Disjunction:JdDnNiIsSjJuUcCtToO spell_slot += Dispel Undead:duDUlLinINsSpePEaA spell_slot += Dispersal:dDlLiIsSpPeErRaA spell_slot += Dragon's Call:dcDCslSLraRAgGoOnN spell_slot += Ensorcelled Hibernation:ehEHdnDNiIsbSBoOrRcCaAltLT spell_slot += Eringya's Noxious Bog:enbENBsgSGroROixIXyuYUaA spell_slot += Fire Storm:fsFSemEMitITroRO spell_slot += Fireball:fFlLiIrReEbBaA spell_slot += Foxfire:fFeEoOxXiIrR spell_slot += Freeze:fFeErRzZ spell_slot += Freezing Cloud:fcFCgdGDrlRLeoEOuUzZiInN spell_slot += Frozen Ramparts:frFRnsNSaAomOMzpZPeEtT spell_slot += Fulminant Prism:fpFPtmTMurURliLIsSnNaA spell_slot += Gell's Gravitas:gGsSerERlaLAvViItT spell_slot += Hailstorm:hHmMaAiIlLsStToOrR spell_slot += Haunt:hHtTaAuUnN spell_slot += Ignite Poison:ipIPenENgoGOsStT spell_slot += Ignition:iInNgGtToO spell_slot += Infestation:iInNfFeEsStTaAoO spell_slot += Inner Flame:ifIFreREnlNLaAmM spell_slot += Irradiate:iIeErRaAdDtT spell_slot += Iskenderun's Battlesphere:ibIBseSEaAktKTnlNLdDrpRPuhUH spell_slot += Iskenderun's Mystic Blast:imbIMBsctSCTylYLkaKAeEnNdDrRuU spell_slot += Leda's Liquefaction:lLsnSNeiEIdqDQauAUfFcCtToO spell_slot += Lee's Rapid Deconstruction:lrdLRDsnSNeaEApcPCioIOtTuU spell_slot += Lehudib's Crystal Spear:lcsLCSrRepEPhyHYuaUAdtDTiIbB spell_slot += Lesser Beckoning:lbLBrgRGeEscSCkKoOnNiI spell_slot += Lightning Bolt:lbLBgtGTioIOhHnN spell_slot += Magic Dart:mdMDctCTaAgrGRiI spell_slot += Malign Gateway:mgMGnyNYaAltLTieIEwW spell_slot += Manifold Assault:maMAdtDTsSnNiIfuFUolOL spell_slot += Maxwell's Capacitive Coupling:mcMCsegSEGaoAOxpuXPUwWlLiItnTNvV spell_slot += Mephitic Cloud:mcMCdDelELpoPOhuHUiItT spell_slot += Metabolic Englaciation:meMEcnCNtgTGalALbBoOiI spell_slot += Monstrous Menagerie:mMseSEoOnNaAtgTGrRuiUI spell_slot += Olgreb's Toxic Radiance:otrOTRsceSCElaLAgxdGXDiIbnBN spell_slot += Orb of Destruction:odODbnBNreREsStTuUcCiI spell_slot += Ozocubu's Armour:oaOAsrSRzZmMcCuUbB spell_slot += Ozocubu's Refrigeration:orORsnSNzeZEfFcCuiUIbgBGaAtT spell_slot += Passage of Golubria:pgPGeaEAoOslSLuUbBrRiI spell_slot += Passwall:pPlLaAsSwW spell_slot += Petrify:pPyYeEtTrRiIfF spell_slot += Poisonous Vapours:pvPVsSoaOAiIuUnrNR spell_slot += Polar Vortex:pvPVrxRXoOlLatATeE spell_slot += Sandblast:sStTaAnNdDbBlL spell_slot += Searing Ray:srSRgyGYeaEAiInN spell_slot += Shatter:sSrRhHaAtTeE spell_slot += Shock:sSkKhHoOcC spell_slot += Silence:sSeEiIlLnNcC spell_slot += Slow:sSwWlLoO spell_slot += Spellforged Servitor:sSdrDRpePElvLViIftFToOgG spell_slot += Spider Form:sfSFrmRMpoPOiIdDeE spell_slot += Starburst:sStTaArRbBuU spell_slot += Static Discharge:sdSDceCEtiTIaAhHrRgG spell_slot += Sticky Flame:sfSFyeYEtlTLiaIAcmCMkK spell_slot += Sting:sSgGtTiInN spell_slot += Stone Arrow:saSAewEWtrTRoOnN spell_slot += Sublimation of Blood:sbSBndNDulULoOiImMaAtT spell_slot += Summon Forest:sfSFntNTuoUOmrMReE spell_slot += Summon Horrible Things:shtSHTneNEuoUOmriMRIgGbBlL spell_slot += Summon Hydra:shSHnaNAuyUYmdMDrRoO spell_slot += Summon Ice Beast:sibSIBnetNETucUCmaMAoO spell_slot += Summon Lightning Spire:slSLngeNGEuipUIPmMhrHRotOT spell_slot += Summon Mana Viper:smvSMVnarNARuiUIpPeEoO spell_slot += Summon Small Mammal:smSMnlNLuaUAoO spell_slot += Swiftness:sSwWiIfFtTnNeE spell_slot += Teleport Other:toTOrReElhLHpP spell_slot += Tukima's Dance:tdTDseSEuaUAknKNicICmM spell_slot += Vampiric Draining:vdVDcgCGarARmMpiPInN spell_slot += Yara's Violent Unravelling:yvuYVUstgSTGainAINroROlLeE ### ABILITY SLOTS ### ability_slot += Fly|flight:lF ability_slot += Stop Flying:L ability_slot += Breathe:t ability_slot += Invisibility:iv ability_slot += Blink:IB ability_slot += Berserk:k ability_slot += Corrupt:C ability_slot += Enter the Abyss:E ### FINAL SETTINGS ### confirm_action += Death's Door : crawl.enable_more(true)