# pivotalrc (modified) # pivotalrc was inspired by marvinparc and ellipticrc ########## # Spells # ########## # Non-attack spells spell_slot += shroud of golubria:s spell_slot += regeneration:r spell_slot += flight:c spell_slot += control teleport:t spell_slot += swiftness:z spell_slot += repel missiles:x spell_slot += haste:H spell_slot += insulation:iI spell_slot += invisibility:i spell_slot += apportation:aA spell_slot += blink:B spell_slot += controlled blink:C spell_slot += borgnjor's revivification:R spell_slot += stoneskin:v spell_slot += ozocubu's armour:v spell_slot += necromutation:N spell_slot += recall:rR spell_slot += agony:h spell_slot += sublimation of blood:b spell_slot += projected noise:n spell_slot += cure poison:p spell_slot += death's door:D spell_slot += dig:D spell_slot += poison weapon:h spell_slot += blade hands:f spell_slot += ice form:d spell_slot += spider form:s spell_slot += shroud of golubria:s # low level spells spell_slot += call imp:s spell_slot += pain:f spell_slot += throw f.*:b spell_slot += confuse:e spell_slot += ensorcelled hibernation:f spell_slot += vampiric draining:e spell_slot += force lance:f spell_slot += dazzling spray:s spell_slot += static discharge:s spell_slot += call canine familiar:d spell_slot += summon ice beast:f # mid-level spells spell_slot += stone arrow:f spell_slot += sticky flame:s spell_slot += throw icicle:f spell_slot += iskenderun's.+blast:fd spell_slot += agony:h spell_slot += lee's rapid deconstruction:d spell_slot += iron shot:fg spell_slot += poison arrow:h spell_slot += fireball:fg spell_slot += bolt of.*:fg spell_slot += ^.*cloud:g spell_slot += airstrike:s spell_slot += prism$:he # high-level spells spell_slot += chain lightning:DF spell_slot += crystal spear:F spell_slot += fire storm:F spell_slot += ice storm:F spell_slot += shatter:FD spell_slot += tornado:F ############# # autofight # ############# # Trigger autofight stop at 50% HP autofight_stop += 50 # change DD autofight to stop at 30% : if you.race() == "Deep Dwarf" then autofight_stop += 30 : end ######################### # convenience functions # ######################### { local function autopickup(it, name) if it.artefact then return true end local class = it.class(true) if class == "armour" then local good_slots = {cloak="Cloak", helmet="Helmet", gloves="Gloves", boots="Boots"} st, _ = it.subtype() if good_slots[st] ~= nil and items.equipped_at(good_slots[st]) == nil then return true end end if class == "weapon" then --if name:find("demon") or if name:find("double") or name:find("distortion") then return true end end if class == "missile" then if name:find("curare") then return true end end return false end add_autopickup_func(autopickup) } ############## # autopickup # ############## autopickup = $?!+"/% ae := autopickup_exceptions ae += useless_item ae += dangerous_item ae += evil_item ae += amulet of (inaccuracy|the gourmand|controlled flight|warding|stasis) ae += amulet of (resist .*|clarity|rage|conservation|guardian spirit|faith) ae += ring of (see invisible|levitation|poison resistance|teleportation) ae += ring of (invisibility|teleport control|magical power) ae += ring of ^(dex|str|int) ae += ring of (sustain abilities|sustenance|wizardry|life protection) ae += scroll of (unholy creation|amnesia) # ae += scroll of enchant (weap|arm|rechar|fog) # ae += potion of restore abilities ae += wand of (random effects|confusion|paralysis|enslavement|slowing) ae += wand of (frost|flame|magic darts|lightning) ae += rod of striking ae += staff of .* ae += <.*curare # ae += chunks? of drop_filter += useless_item default_friendly_pickup = player autopickup_no_burden = true pickup_mode = multi ########## # travel # ########## show_travel_trail = true travel_delay = -1 explore_delay = -1 explore_stop = items,greedy_pickup_smart,greedy_sacrificiable,stairs,shops,altars,gates auto_exclude += oklob plant,statue,curse skull,roxanne, hyperactive trapwalk_safe_hp = dart:20,needle:15,arrow:35,bolt:45,spear:40,axe:45,blade:95 stop := runrest_stop_message ignore := runrest_ignore_message stop += You are starting to lose your buoyancy stop += You start to feel a little slower stop += You lose control over your flight stop += You start to feel a little uncertain stop += Your skin is crawling a little less now stop += Your stomach is not as upset anymore stop += Your magical contamination has completely faded away : if you.god() == "Xom" then stop += god: : end ignore += You feel.*sick ignore += pray: ignore += friend_spell: ignore += friend_enchant: ignore += friend_action: ignore += sound: ignore += disappears in a puff of smoke ignore += engulfed in a cloud of smoke ignore += safely over a trap runrest_ignore_poison = 4:10 runrest_ignore_monster += fish:2 runrest_ignore_monster += shark:2 runrest_ignore_monster += butterfly:1 ############# # interface # ############# # food confirm_butcher = never easy_eat_chunks = true easy_eat_gourmand = true easy_eat_contaminated = true auto_eat_chunks = true auto_drop_chunks = rotten # menus sort_menus = true : identified, equipped, art, ego, basename, qualname, freshness, charged sort_menus += pickup: true : art, ego, basename, qualname, curse, qty show_inventory_weights = true # hud hp_warning = 50 hp_colour = 100:green, 99:lightgray, 75:yellow, 50:red mp_colour = 100:green, 99:lightgray, 50:yellow, 25:red stat_colour = 3:red, 7:lightred show_gold_turns = true show_game_turns = true # skill training default_manual_training = true skill_focus = toggle # Custom glyphs -- due to complaints, most disabled :( char_set = unicode #cset_unicode += wall: x2593 #cset_unicode += wall_magic: x2592 #cset_unicode += door_closed: x25D8 cset_unicode += door_closed: + cset_unicode += cloud: # #cset_unicode += altar: x0416 #cset_unicode += tree: x00A5 #cset_unicode += fountain: x2020 #cset_unicode += arch: x220F cset_unicode += explosion: # #cset_unicode += floor_magic: x2022 # Monster Brands friend_brand = hi:green neutral_brand = hi:darkgrey stab_brand = hi:blue may_stab_brand = hi:yellow ########### # colours # ########### #clear_messages = true # Highlight (partly) selected items menu_colour += inventory:white:\w \+\s menu_colour += inventory:white:\w \#\s # Colouring for the notes menu_colour += notes:white:Reached XP level ########### # prompts # ########### more := force_more_message # distortion more += Space warps horribly around you more += hits you.*distortion more += Space bends around you\. # ghost moths/antimagic more += watched by something more += You feel your power leaking # torment/holy wrath more += You convulse # dispel breath more += dispelling energy hits you # early unseen horrors more += It hits you! more += You have reached level more += You fall through a shaft # abyss convenience prompts more += Found an abyssal rune more += Found a gateway leading out of the Abyss # necromutation more += You feel yourself coming back to life # summon greater demon more += is no longer charmed # Announcements of timed portal vaults (bazaar, labyrinths): more += interdimensional caravan more += distant snort # expiring buffs more += You start to feel a little slower more += You are starting to lose your buoyancy more += Your surroundings flicker more += You start to feel a little uncertain # other bad things more += The writing blurs in front of your eyes more += You miscast Controlled Blink more += You are (blasted|electrocuted)! more += blast.*calcify.*hits.you # johnnyzero's sources of death more += You don't have enough magic to cast that spell. more += The electric eel shoots out a bolt of electricity! more += You have no means to grasp a wand firmly enough. : if you.god() == "Xom" then more += god: : end ################ # inscriptions # ################ : if you.race() == "Vampire" then autoinscribe += potions? of blood:@*1 : end : if you.god() == "Fedhas" then autoinscribe += fruit:!e :end autoinscribe += ambrosia:!e autoinscribe += distort:!w autoinscribe += rod of:!a autoinscribe += staff of (conjuration|energy|channeling|power|wizardry):!a autoinscribe += chunks? of:@w1 autoinscribe += of faith:!P autoinscribe += scroll.*torment:!r autoinscribe += scroll.*silence:!r autoinscribe += bad_item.*potion:!q autoinscribe += potion.*mutation:!q ########## # morgue # ########## dump_order = header,hiscore,stats,misc,overview,mutations,skills,spells dump_order += inventory,messages,screenshot,monlist,action_counts,kills dump_order += notes,vaults ood_interesting = 6 note_hp_percent = 20 note_all_skill_levels = true note_all_spells = true note_items += of Zot note_messages += You pass through the gate note_messages += cast .* Abyss note_messages += protects you from harm note_messages += You fall through a shaft # Tiles stuff for when I actually play tiles # Since LOS is 8 tiles or less, we can use bigger tiles for eye safety! # I don't think most of these actually work with webtiles though :( tile_cell_pixels = 64 tile_filter_scaling = true tile_unseen_col = magenta ################ # player glyph # ################ # confuse_elliptic = true show_player_species = true # Player glyphs based on skills by N78291 : best = you.skill("Fighting") : skill_name = "Fighting" : melee = true : casting = false : if you.skill("Short Blades") > best then : best = you.skill("Short Blades") : skill_name = "Short Blades" : end : if you.skill("Long Blades") > best then : best = you.skill("Long Blades") : skill_name = "Long Blades" : end : if you.skill("Axes") > best then : best = you.skill("Axes") : skill_name = "Axes" : end : if you.skill("Maces & Flails") > best then : best = you.skill("Maces & Flails") : skill_name = "Maces & Flails" : end : if you.skill("Polearms") > best then : best = you.skill("Polearms") : skill_name = "Polearms" : end : if you.skill("Staves") > best then : best = you.skill("Staves") : skill_name = "Staves" : end : if you.skill("Slings") > best then : best = you.skill("Slings") : skill_name = "Slings" : end : if you.skill("Bows") > best then : best = you.skill("Bows") : skill_name = "Bows" : end : if you.skill("Crossbows") > best then : best = you.skill("Crossbows") : skill_name = "Crossbows" : end : if you.skill("Throwing") > best then : best = you.skill("Throwing") : skill_name = "Throwing" : end : if you.skill("Armour") > best then : best = you.skill("Armour") : skill_name = "Armour" : end : if you.skill("Dodging") > best then : best = you.skill("Dodging") : skill_name = "Dodging" : end : if you.skill("Stealth") > best then : best = you.skill("Stealth") : skill_name = "Stealth" : melee = false : end : if you.skill("Stabbing") > best then : best = you.skill("Stabbing") : skill_name = "Stabbing" : melee = false : end : if you.skill("Shields") > best then : best = you.skill("Shields") : skill_name = "Shields" : end : if you.skill("Traps & Doors") > best then : best = you.skill("Traps & Doors") : skill_name = "Traps & Doors" : melee = false : end : if you.skill("Unarmed Combat") > best then : best = you.skill("Unarmed Combat") : skill_name = "Unarmed Combat" : end : if you.skill("Spellcasting") > best then : best = you.skill("Spellcasting") : skill_name = "Spellcasting" : melee = false : casting = true : end : if you.skill("Conjurations") > best then : best = you.skill("Conjurations") : skill_name = "Conjurations" : melee = false : casting = true : end : if you.skill("Enchantments") > best then : best = you.skill("Enchantments") : skill_name = "Enchantments" : melee = false : casting = true : end : if you.skill("Summonings") > best then : best = you.skill("Summonings") : skill_name = "Summonings" : melee = false : casting = true : end : if you.skill("Necromancy") > best then : best = you.skill("Necromancy") : skill_name = "Necromancy" : melee = false : casting = true : end : if you.skill("Translocations") > best then : best = you.skill("Translocations") : skill_name = "Translocations" : melee = false : casting = true : end : if you.skill("Transmutations") > best then : best = you.skill("Transmutations") : skill_name = "Transmutations" : melee = false : casting = true : end : if you.skill("Fire Magic") > best then : best = you.skill("Fire Magic") : skill_name = "Fire Magic" : melee = false : casting = true : end : if you.skill("Ice Magic") > best then : best = you.skill("Ice Magic") : skill_name = "Ice Magic" : melee = false : casting = true : end : if you.skill("Air Magic") > best then : best = you.skill("Air Magic") : skill_name = "Air Magic" : melee = false : casting = true : end : if you.skill("Earth Magic") > best then : best = you.skill("Earth Magic") : skill_name = "Earth Magic" : melee = false : casting = true : end : if you.skill("Poison Magic") > best then : best = you.skill("Poison Magic") : skill_name = "Poison Magic" : melee = false : casting = true : end : if you.skill("Invocations") > best then : best = you.skill("Invocations") : skill_name = "Invocations" : melee = false : end : if you.skill("Evocations") > best then : best = you.skill("Evocations") : skill_name = "Evocations" : melee = false : end : if you.race() == "Deep Elf" or you.race() == "High Elf" : or you.race() == "Sludge Elf" then show_player_species = false : if skill_name == "Summonings" then : if best >= 8 and best < 21 then mon_glyph = player:brown e : elseif best >= 21 then mon_glyph = player:yellow e : end : elseif skill_name == "Invocations" then : if best < 15 then mon_glyph = player:green e : else mon_glyph = player:lightgreen e : end : elseif skill_name == "Conjurations" then : if best >= 8 and best < 27 then mon_glyph = player:blue e : else mon_glyph = player:lightblue e : end : elseif skill_name == "Necromancy" then mon_glyph = player:white e : elseif casting == true then : if best < 21 then mon_glyph = player:magenta e : else mon_glyph = player:lightmagenta e : end : elseif skill_name == "Bows" then mon_glyph = player:lightgrey e : elseif skill_name == "Short Blades" then mon_glyph = player:lightcyan e : elseif melee == true then : if best < 10 then mon_glyph = player:lightred e : else mon_glyph = player:cyan e : end : else mon_glyph = player:red e : end : end : if you.race() == "Merfolk" then show_player_species = false : if skill_name == "Throwing" then mon_glyph = player:white m : elseif skill_name == "Ice Magic" then mon_glyph = player:green m : elseif skill_name == "Polearms" and best >= 15 then mon_glyph = player:yellow m : else mon_glyph = player:lightred m : end : end : if you.race() == "Hill Orc" then show_player_species = false : if you.god == "Beogh" then show_player_species = true : elseif melee == true then : if best >= 10 and best < 15 then mon_glyph = player:yellow o : elseif best >= 15 and best < 20 then mon_glyph = player:cyan o : elseif best >= 20 then mon_glyph = player:lightcyan o : end : elseif casting == true then : if best >= 15 then mon_glyph = player:lightmagenta o : else mon_glyph = player:magenta o : end : else mon_glyph = player:lightred o : end : end : if you.race() == "Deep Dwarf" then show_player_species = false : if you.god() == "Yredelemnul" then mon_glyph = player:green q : elseif you.god() == "Trog" then mon_glyph = player:lightred q : elseif skill_name == "Evocations" then mon_glyph = player:blue q : elseif skill_name == "Necromancy" then mon_glyph = player:magenta q : else mon_glyph = player:cyan q : end : end : if you.race() == "Naga" then show_player_species = false : if melee == true and best >= 15 then mon_glyph = player:blue N : elseif casting == true then : if best >= 15 then mon_glyph = player:lightmagenta N : else mon_glyph = player:red N : end : else mon_glyph = player:green N : end : end : if you.race() == "Centaur" then show_player_species = false : if melee == true and best >= 15 then mon_glyph = player:yellow c : else mon_glyph = player:brown c : end : end : if you.race() == "Spriggan" then show_player_species = false : if you.god() == "Trog" then mon_glyph = player:lightred i : else mon_glyph = player:lightgrey i : end : end : if you.race() == "Kobold" then show_player_species = false : if skill_name == "Summonings" then mon_glyph = player:magenta K : else mon_glyph = player:brown K : end : end : if you.race() == "Mummy" then show_player_species = false : if skill_name == "Invocations" then mon_glyph = player:red M : elseif best >= 25 then mon_glyph = player:magenta M : else mon_glyph = player:lightgrey M : end : end : if you.race() == "Vampire" then show_player_species = false : if melee == true and best >= 15 then mon_glyph = player:lightcyan V : elseif casting == true and best >= 15 then mon_glyph = player:magenta V : else mon_glyph = player:red V : end : end : if you.race() == "Octopode" then show_player_species = false mon_glyph = player:cyan X : end # Demonspawn added by st_ : if you.race() == "Demonspawn" then show_player_species = false : if melee == true then mon_glyph = player:lightgrey & : end : if skill_name == "Armour" then mon_glyph = player:cyan & : end : if skill_name == "Stealth" then mon_glyph = player:darkgrey & : end : if skill_name == "Stabbing" then mon_glyph = player:darkgrey & : end : if skill_name == "Spellcasting" then mon_glyph = player:lightmagenta & : end : if skill_name == "Conjurations" then mon_glyph = player:lightblue & : end : if skill_name == "Enchantments" then mon_glyph = player:yellow & : end : if skill_name == "Summonings" then mon_glyph = player:blue & : end : if skill_name == "Translocations" then mon_glyph = player:lightcyan & : end : if skill_name == "Transmutations" then mon_glyph = player:yellow & : end : if skill_name == "Fire Magic" then mon_glyph = player:red & : end : if skill_name == "Ice Magic" then mon_glyph = player:white & : end : if skill_name == "Air Magic" then mon_glyph = player:blue & : end : if skill_name == "Earth Magic" then mon_glyph = player:brown & : end : if skill_name == "Necromancy" then mon_glyph = player:magenta & : end : if skill_name == "Poison Magic" then mon_glyph = player:green & : end : if skill_name == "Invocations" then mon_glyph = player:lightgreen & : else mon_glyph = player:lightred & : end : end