Lich script repository
This page documents the collection of scripts that are available from an external repository located at https://github.com/rpherbig/dr-scripts, and not through the in-game ;repository
functionality.
Each script listed on this page has some brief documentation in its header, but better documentation can be found on our github wiki:
- https://github.com/rpherbig/dr-scripts/wiki/List-of-All-Scripts
- https://github.com/rpherbig/dr-scripts/wiki/Introduction-to-Character-Settings
We are working on migrating this content to this page.
If you have some feedback or suggestions, please contact us in-game (Torgro or Etreu) or open pull request. We look forward to hearing from you!
accept-sell
Accepts an outstanding trade offer for a pouch/bundle, appraises it and sells it. Returning coins, item, and a profit report to the owner.
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
addroom
Add a series of rooms to the lich map. This script will checkout the mapdb, add the new rooms, and commit the mapdb.
Script usage: To use this script send it an ordered set of directions to map. If you don't provide a direction no mapping will be provided.
For example, to add a Y branch to the north:
;addroom "north, northeast, southwest, northwest, southeast, south"
To add a store:
;addroom "go shop, out"
The travel delay defaults to 0.2.
Script arguments:
- debug: Turns on debugging messages.
Settings used in this script:
UserVars used in this script:
- add_room_debug: Turns on debugging messages.
Other scripts used by this script:
afk
Runs in the background to provide safety while you are afk. Basic keep alive alive script with simple health/death monitoring. Will exit on low health or death.
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
automap
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
bescort
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
carve
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
circlecheck
Circle check tells you how far you are from your next circle.
Script usage: Display circle progress:
;circlecheck
Display only skills needed for the next circle:
;circlecheck short
;circlecheck brief
;circlecheck next
Script arguments:
- debug: Turns on debugging messages.
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
combat-trainer
Train combat skills in your current room.
Script usage: Trains combat skills in your current room, maintains listed buffs, uses TM/debil as specified, trains certain non combat actions on timers. Skins, loots.
Script arguments:
- d#: Dance threshold, keep N mobs alive to train defenses against, where dN is the provided argument.
- r#: Retreat threshold, stay at missile range when N mobs are present and use ranged combat options, where rN is the provided argument.
- construct: overrides empath non attack settings.
- debug: Enables debug mode.
- custom: Extra arguments will be used to load in extra yaml files. ;combat-trainer back would load in Yourname-back.yaml.
Settings used in this script:
- storage_containers: List of containers to make sure are open before starting hunting.
- dance_threshold: Same as d# argument.
- retreat_threshold: Same as r# argument.
- dance_skill: Weapon skill to have active when dancing with enemies, ideally allows parry. Note this is the SKILL not the weapon.
- combat_train_action_count: Number of attacks to make with a given weapon before cycling.
- combat_trainer_target_increment: Number of mind states of exp to get before cycling weapons.
- weapon_training: Hash of weapon skills to the weapon names that you use to train that skill. Brawling should map to an empty string. This controls what weapons are cycled through for training.
- gear: List of gear that will be used in this script. Armor and Weapons.
- gear:name: Noun of the item.
- gear:is_leather: true if this is repaired at the leather repair npcs.
- gear:hinders_lockpicking: true if should be removed for lockpicking.
- gear:is_worn: true if the item is worn such as armor, shields, wearable weapons.
- gear:swappable: true if this is a swappable weapon.
- gear:tie_to: This is the name of what this weapon is tied to, e.g toolstrap.
- gear:adjective: Used to differentiate items with the same name, if TAP ADJECTIVE NAME doesn't work then these settings are wrong.
- gear:bound: true if the item bonded for hurl/invoke.
- gear_sets:standard: A list of ADJ NAME for each item that should show up in INV COMBAT when you're ready for combat. If it shows up in inv combat it must be here. This gear set will be equipped at the start of combat.
- summoned_weapons: List of summoned weapons/moonblades.
- summoned_weapons:name: The skill to make a summoned weapon for.
- summoned_weapons:turn: true to turn the summoned weapon
- summoned_weapons:pull: true to pull the summoned weapon
- summoned_weapons:push: true to pull the summoned weapon.
- summoned_weapons_element: Element to summon your weapon as, defaults to stone.
- summoned_weapons_ingot: noun of ingot to use for rare metal summoning.
- stances: Used to override defense selection for a given weapon skill, normally used to prevent parrying with ranged weapons or offhand. See base.yaml for usage.
- use_stealth_attacks: true to attempt to hide before attacking to use ambush/poach while stealth skill is not mindlocked.
- ambush: true to use stealth attacks to train backstab.
- backstab: true to use backstab to train backstabbing skill, defaults to ambush if the mob can't be backstabbed.
- charged_maneuvers: Hash of charged maneuvers to use for each weapon skill.
- fatigue_regen_threshold: Will use bob instead of an attack when fatigue drops below this.
- aim_fillers: list of actions to take to fill time while aiming.
- aim_fillers_stealth: Used in place of aim fillers if stealth experience is not capped.
- dance_actions: List of actions to take while dancing with enemies.
- dance_actions_stealth: Used in place of dance actions while stealth is not capped.
- ignored_npcs: List of npc names to ignore, used to keep combat from trying to count/interact with pets, familiars, and roaming npcs. This is the single noun that identifies them, bear, warrior, Brokk. Currently caps sensitive.
- stance_override: remove custom stance logic and simply set stance to provided string. E.g. 100 80 0
- skinning: Hash of skinning related settings.
- skinning:skin: true to skin kills.
- skinning:arrange_all: true if you can use the arrange ALL command.
- skinning:arrange_count: Number of times to arrange
- skinning:arrange_types: Hash of creature noun to the type of arranging to do, eg rat:part. All arranging defaults to skin.
- skinning:tie_bundle: true to tie your bundles up to reduce weight and item count.
- lootables: Base list of nouns to loot, the noun must be at the end of the object name and not part of another word. Changes to this are better made through loot_additions and loot_subtractions. Pearl would loot "a tiny yellow pearl" but not "a pearl studded coat" nor would rock cause you to loot "a large crock".
- loot_additions: List of nouns to add into the base loot list, a common example is box nouns.
- loot_subtractions: List of things to remove from your looting list, for example ammunition you don't use.
- thanatology: Necromancer related settings, only partially implemented.
- thanatology:necro: enables necromancer rituals.
- thanatology:ritual_type: Name of the ritual to perform, i.e dissect
- spare_gem_pouch_container: Container that holds your spare gem pouch should your equipped one become full.
- gem_pouch_adjective: Adjective your gem pouch responds too.
- buff_spells: Hash of buff spells to maintain on you while hunting, the key to the hash must match the spells name exactly e.g buff_spells:See the Wind. Will generally cast buffs in the order listed here.
- buff_spells:Spell Name:abbrev: Abbreviation to use for prepping the spell.
- buff_spells:Spell Name:recast: Remaining duration in minutes on a buff to trigger a recasting. -1 will wait until the spell falls off.
- buff_spells:Spell Name:mana: Amount of mana to prep the spell with.
- buff_spells:Spell Name:cambrinth: List of charges to put into cambrinth, will not use cambrinth that can't be charged worn.
- buff_spells:Spell Name:before: A custom action to take immediately before casting the spell.
- buff_spells:Spell Name:before:message: The message to send to the game.
- buff_spells:Spell Name:before:matches: List of strings that are possible responses for the message.
- buff_spells:Spell Name:after: A custom action to take immediately after casting the spell.
- buff_spells:Spell Name:after:message: The message to send to the game.
- buff_spells:Spell Name:after:matches: List of strings that are possible responses for the message.
- offensive_spells: TM and Debil spells to use. Debil spells will be recast when a mob dies or the expiration message is seen.
- offensive_spells:skill: Targeted Magic or Debilitation.
- offensive_spells:abbrev: Abbreviation used for preparing the spell.
- offensive_spells:mana: Amount of mana to prep the spell with
- offensive_spells:cambrinth: List of charges to put into cambrinth, will not use cambrinth that can't be charged worn.
- offensive_spells:before: A custom action to take immediately before casting the spell.
- offensive_spells:before:message: The message to send to the game.
- offensive_spells:before:matches: List of strings that are possible responses for the message.
- offensive_spells:after: A custom action to take immediately after casting the spell.
- offensive_spells:after:message: The message to send to the game.
- offensive_spells:after:matches: List of strings that are possible responses for the message.
UserVars used in this script:
- combat_trainer_debug: Turns on debugging messages.
Other scripts used by this script: tendme
crossing-repair
Repair items in your gear list.
Script usage: It is intended to be used in The Crossing.
Script arguments:
Settings used in this script:
UserVars used in this script:
- crossing_repair_debug: Turns on debugging messages.
Other scripts used by this script:
crossing-training
trains non-combat skills
Script usage:
Script arguments:
Settings used in this script:
- use_research: Whether or not to use research when training magic skills. Requires train_with_spells to be true.
- outdoor_room:
- perform_options:
- storage_containers:
- crossing_training_requires_movement: Skills which require movement as part of their training. This is used to avoid spamming the safe room with repeated entry/exit messages.
- trash_nouns: Nouns that can be thrown away without warning
- crossing_training:
- safe_room:
- exit_on_skills_capped: Whether or not to exit the game when all skills are locked
- crossing_training_sorcery_room: The room to use when training sorcery. MAKE SURE THIS ROOM IS LAWLESS by typing 'justice'.
- crossing_training_sorcery: Action to take when training sorcery
- listen: Whether or not you should attempt to listen to classes while training
- train_with_spells:
- training_spells: Spells to use when training magic skills. TODO: Make this its own page.
- research_skills:
- exp_timers: Cooldown timers between attempts to train a given skill
- training_nonspells:
- kneel_khri:
- khri_preps: If you use Khri for training, make sure their prep messages are recorded here
- prep_scaling_factor: This scaling factor is multiplied by your discerned max mana for a spell. The mana to be removed is rounded up, so anything < 1.0 will always result in at least one mana removed.
- cambrinth_cap: The maximum amount of mana your cambrinth can hold
- osrel_amount:
- osrel_no_harness:
- held_cambrinth: Whether or not you need to hold your cambrinth to charge it
- stored_cambrinth: Whether or not your cambrinth item is stored (false indicates worn)
- cambrinth: The noun for the cambrinth you use. Multiple cambrinth is not yet supported.
- prep_messages: If you cast spells for training, make sure their prep messages are recorded here
- cambrinth_cap: The maximum amount of mana your cambrinth can hold
- forage_item:
- hand_armor: Noun of any armor that needs to be removed when braiding
- braid_item:
- athletics_options:
- trail_override:
- stealing_options:
- bin_stolen:
- stealing_bag:
- hide_to_steal:
- art_options:
- train_workorders: Disciplines to train via workorders when training that skill
- work_order_disciplines: Disciplines to train via workorders when training Trading
UserVars used in this script:
- crossing_trainer_debug: Turns on debugging messages.
Other scripts used by this script: pick, sell-loot, theurgy, safe-room, workorders, sew, smith
echo
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
edityaml
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
equipmanager
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
- equipmanager_debug: Turns on debugging messages.
Other scripts used by this script:
expreset
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
favor
Gets one favor by rubbing an orb repeatedly.
Script usage: It is intended to be used in The Crossing.
If an argument is passed to the script, that Immortal's name will be used. The default is Hodierna.
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
forge
Forges an item. Adapted from a script by Mallitek.
Script usage: EXAMPLES:
;forge weaponsmithing 2 sword steel sword
;forge blacksmithing 6 "shallow metal cup" bronze cup
;forge blacksmithing 6 scratcher bronze scratcher
;forge temper sword
Script arguments:
- type: Type of book (blacksmithing, armorsmithing, weaponsmithing)
- chapter: Chapter of the book
- recipe: the name of the recipe
- metal: metal type of the ingot in your bag
- noun: item noun to make
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
gbox
Hand all boxes from a container (the first argument) to a character (the second argument).
Script usage:
Script arguments:
- container: The container
- character: The character
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
healme
A self healing script for empaths
Script usage: Will heal your own wounds, leaving external bleeders as desired. Uses Heal preferentially if configured and not attempting to keep bleeders. Targets wounds on potentially lethal body parts first, otherwise heals in severity order.
Script arguments:
- Bleeders: any body parts to leave external wounds on, quote two word body parts.
Settings used in this script:
- prep_messages: Used for spell casting matching and lives in base.yaml please submit custom prep messages as needed.
- cambrinth: noun for cambrinth used for casting
- held_cambrinth: true if you cannot charge your cambrinth worn
- stored_cambrinth: true if your cambrinth is stored in a container instead of worn
- empath_healing:HW: List of mana amounts. preps HW with the first the rest will be charged into cambrinth
- empath_healing:HS: List of mana preps for HS
- empath_healing:HEAL: List of mana preps for HEAL
UserVars used in this script:
- healme_debug: Turns on debugging messages.
Other scripts used by this script:
hunting-buddy
Trains combat skills (using combat-trainer) in defined hunting areas
Script usage: Will move through a series of defined hunting spots, training at each one until specified conditions are met. Stops at the first empty room it finds in the hunting area, will search for hiding players and wait 10 seconds for them to take any actions in rooms with monsters, moving on if a player is already there.
Script arguments:
Settings used in this script:
- training_manager_hunting_priority: Set to true and and you will stay in hunting spots until stop_on skills are at 32/34, set to false and you will stay until stop_on or duration is met.
- hunting_zones: The set of hunting areas defined in base.yaml that can be directly reached with go2.
- escort_zones: The set of hunting areas defined in base.yaml that requires custom pathing to reach.
- hunting_info: In order list of hunts.
- hunting_info:zone: Name of hunting zone, must match one of the two zone lists above.
- hunting_info:args: List of arguments to call combat-trainer with at this hunting area.
- hunting_info:duration: Time in minutes to hunt here if hunting_priority is false.
- hunting_info:stop_on: List of skills that will stop hunting when they are all at 32/34
UserVars used in this script:
Other scripts used by this script: combat-trainer
mine
Mines a room while watching for danger
Script usage: Prospects and mines out your current room, stowing or deeding anything in your vein list. Will prospect careful for more materials after exhausting the room.
Script arguments:
Settings used in this script:
- mining_buddy_vein_list: List of metals and rocks that you wish to mine.
- mine_implement: Shovel or pick.
- mine_use_packet: Set to true to carry and use a deed packet, otherwise stow found minerals
UserVars used in this script:
Other scripts used by this script: safe-room
mining-buddy
Perform a single pass through the mines
Script usage: Will navigate through all listed mines, prospecting and stopping to mine anywhere it finds a resources it watches for. Can alternatively mine out each room it comes to, or merely look for resource rich rooms if you lack the skill to see resources. Will keep 1 plat on hand for repairs and buying deed packets. Will heal on injuries due to failed danger checks, or exit if buried.
Script arguments:
Settings used in this script:
- mining_buddy_rooms: Defined in base.yaml, links mine names to a list of rooms
- mines_to_mine: List of mine names to mine, matches up against mining_buddy_rooms.
- mining_skip_populated: Set to true will NOT prospect and mine in rooms with other players.
- mining_buddy_mine_every_room: Set to true will prospect and mine out each room regardless of minerals.
- mining_buddy_vein_list: List of metals and rocks that you wish to mine.
- mine_implement: Shovel or pick.
- mine_use_packet: Set to true to carry and use a deed packet, otherwise stow found minerals
UserVars used in this script:
- mining_debug: Turns on debugging messages.
mining-manager
repeatedly mines in defined mining areas (using mining-buddy)
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
moonwatch
populates UserVars.moons with data related to the moons
Script usage: Moonwatch will populate UserVars with the following data:
UserVars.moons = {
'katamba' => { 'pretty' => 'Katamba is up for 35 minutes', 'rise' => nil, 'set' =>35 },
'yavash' => { 'pretty' => 'Yavash will rise in 150 minutes', 'rise' => 150, 'set' => nil },
'xibar' => { 'pretty' => 'Xibar is up for 5 minutes', 'rise' => -1, 'set' => 5 }
'visible' => ['katamba', 'xibar']
}
We suggest using an alias such as:
;alias add moon = ;eq respond("#{UserVars.moons['katamba']['pretty']} : #{UserVars.moons['yavash']['pretty']} : #{UserVars.moons['xibar']['pretty']}")
You can PERCEIVE an individual moon to reset its data or PERCEIVE MOONS to reset all if this is a first start (or you've been offline for a while and the data seems wrong).
Script arguments:
- debug: Turns on debugging messages.
Settings used in this script:
UserVars used in this script:
- moon_debug: Turns on debugging messages.
Other scripts used by this script:
performance-monitor
Logs combat-related events such as damage, roundtime, etc. for later parsing.
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
pick
Disarms, harvests, and unlocks boxes
Script usage: The script will look for suitable disposal sources in the room, or drop refuse on the ground
Script arguments:
Settings used in this script:
UserVars used in this script:
- =
lockpick_debug: Turns on debugging messages.
Other scripts used by this script:
roomnumbers
Adapted from a script by Geldan for Gemstone. Appends the Lich room ID# to your in-game room title. Example: [Gyldemar Forest, Outpost - 4740]
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
safe-room
Heals at a PC or NPC empath and shares items between characters by taking and dropping them in a safe room
Script usage: Gets 4 gold (for autopath), goes to the auto empath and waits until healed. Alternatively can go to a specific room and wait for 45 seconds for a player empath to heal you. PC Empaths will heal themselves using healme, Necromancers will not attempt to go to an empath. Can be configured to stop by a room and pick up or drop given item nouns.
Script arguments:
Settings used in this script:
- safe_room_tip_threshold: Amount of copper to carry for npc healing, or if you have more than this amount donate to player empath.
- safe_room_id: Id of room for player empath healer or item exchanges.
- safe_room_empath: Name of PC empath healer.
- safe_room_tip_amount: Amount in coppers to donate player empath.
- safe_room: Id of room to heal self at as empath.
- safe_room_give: List of nouns to drop at safe_room_id, CAUTION will drop all items of this noun there, don't use for anything valuable.
- safe_room_take: List of nouns to pick up in safe_room_id.
UserVars used in this script:
Other scripts used by this script: healme
sell-loot
Sells gems and bundles; then deposits coin. Defaults to keeping 3 silver on hand (the maximum amount that cannot be stolen by a Thief).
Script usage: Will sell bundles and any gems in untied gem pouches. Optionally will make sure you have a spare gem pouch. It is intended to be used in The Crossing.
EXAMPLES:
;sell-loot
# Uses the default: keeps 3 silver;sell-loot 12
# Uses one argument: keeps 12 silver, which is withdrawn as 1 gold and 2 silver;sell-loot 4 g
# Uses two arguments: keeps 4 gold
Script arguments:
- Withdraw: Amount of coin to withdraw after depositing all. 3 silver, 5 gold, etc.
Settings used in this script:
- sell_loot_money_on_hand: Same as the Withdraw argument, overridden by the argument if both exist.
- sell_loot_pouch: Set true to sell any gems in a worn pouch.
- sell_loot_bundle: Set to true to sell a worn bundle.
- spare_gem_pouch_container: The container to store a spare gem pouch in, should NOT be the container a pouch stows to.
- gem_pouch_adjective: Adjective you use to request gem pouches, you should be able to tap ADJ pouch to tap your current pouch.
UserVars used in this script:
Other scripts used by this script:
setupaliases
adds a useful selection of aliases to the global list
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
sew
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
shape
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
skill-recorder
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
smartlisten
If someone teaches you an approved class you'll start listening.
Script usage: The default list of approved classes is all non-necromancer skills and no sorcery or thievery. Guild-specific skills are approved if you are of that guild. Some specific classes are also removed based on your guild (e.g. remove Arcana for Barbarians).
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
smarttransfer
safely transfer wounds from the target, avoiding useless injuries in fatal areas
Script usage:
Script arguments:
- bleed: If present, leave external bleeders.
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
smelt
smelts an ingot
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
smelt-deeds
combines deeds of like metals to save inventory space
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
smith
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
spin
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
status-monitor
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
tendme, tendother
automatic wound tender
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
textsubs
provides in-game text substitution capabilities; by default comes with numerical substitutions for appraisal and combat messages
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
theurgy
train theurgy by working up devotion and doing some simple communes
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
train
trains attributes
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
training-manager
High level script for managing combat and non combat training
Script usage: Will alternate training in the crossing and hunting with a focus on either in or out of combat as specified. Heals and repairs after combat.
Script arguments:
Settings used in this script:
- training_manager_hunting_priority: Set to true will cause it to focus on combat training at the expense of out of combat.
- training_manager_priority_skills: List of combat skills to monitor when it should go hunting again, only used if hunting_priority is set true.
- mine_while_training: Set to true will cause town training to start with a mining loop.
UserVars used in this script:
Other scripts used by this script: mining-buddy, sell-loot, hunting-buddy, crossing-training, safe-room, crossing-repair
weave-cloth
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script:
workorders
completes a workorder for the given discipline
Script usage:
Script arguments:
Settings used in this script:
UserVars used in this script:
Other scripts used by this script: