Carve Lockpicks Settings - elanthia-online/dr-scripts GitHub Wiki

Description

Carves lockpicks from keyblanks with your carving knife, working through your keyblank pockets until they run out. Grandmaster's picks go in one container, master's picks in another, and anything less goes in a trash container or is thrown away. It can put every 25 picks on a lockpick ring, and it keeps a record of how many of your picks come out grandmaster's.

You must be free of wounds. If you're too injured to carve, it says "Need to be completely wound-free, go get healed" and stops.
It sits down to carve.
When it stops, it shows how many grandmaster's and master's picks you carved, your grandmaster's percentage, and how that compares with your past runs.

Settings

YAML Settings

Containers

lockpick_carve_settings:
  grand_container: carryall
  master_container: toolkit
  trash_container:
  pocket_container: watery portal
  full_rings_container: backpack
Setting Default Purpose
grand_container Required. Where grandmaster's picks go. Keep the empty lockpick rings for them here too.
master_container Required. Where master's picks go, with their empty rings.
trash_container Where lesser picks go. Leave it blank to throw them away instead (into your worn trashcan if you have one, otherwise a bin).
pocket_container Where your full keyblank pockets are kept. This is the only container that can be a portal or eddy.
full_rings_container Where full rings go. The keyblank pocket you're working from is kept here too.

Every container must be different. In particular, full_rings_container can't be your grand or master container.

Rings

lockpick_carve_settings:
  ring_picks: false
  carve_past_ring_capacity: false
Setting Default Purpose
ring_picks false Put every 25 picks of a kind on a lockpick ring. The ring argument does the same for one run.
carve_past_ring_capacity false What to do when a kind runs out of empty rings. With false, it stops. With true, it's meant to carry on carving, with that kind's picks staying loose in their container.

When 25 picks of one kind are in their container, it puts the knife away and gets an empty lockpick ring from that same container. It puts the 25 picks on the ring and moves the ring to full_rings_container. Picks already in the containers when you start count toward the first ring.

  • No empty ring left: "Out of empty rings for grand picks" (or master picks).
  • full_rings_container is full: "Out of room for rings", and it stops.

Carving

lockpick_carve_settings:
  initial_grand: false
crafting_container: backpack
crafting_items_in_container:
carving_belt:
engineering_belt:
worn_trashcan:
worn_trashcan_verb:
Setting Default Purpose
initial_grand false Carve your initials into each grandmaster's pick.
crafting_container backpack Where your carving knife is kept.
crafting_items_in_container Items to take only from crafting_container.
carving_belt Toolbelt your carving knife hangs on. If not set, engineering_belt is used.
worn_trashcan Used for lesser picks (when there's no trash_container) and for empty keyblank pockets.
worn_trashcan_verb The verb for your worn trashcan.

See Crafting Setup for toolbelts.

Khri

waggle_sets:
  carve:
    - Hasten

Before every keyblank, if any khri in your carve waggle set isn't active, it runs ;buff carve. With no carve set, it doesn't buff.

This only works with a Thief's list of khri. If your carve waggle set is an ordinary spell set (the kind other guilds use with ;carve), this script errors as soon as it starts carving.

What a run does

There are no settings for these; this is what to expect.

  1. Counts the picks already in your grand and master containers.
  2. Gets your carving knife and finds a keyblank pocket: one you're carrying, or one from pocket_container (moved into full_rings_container). With no pocket anywhere, it puts the knife away and stops without saying why.
  3. Before each keyblank, it buffs if needed and sits down.
  4. Gets a keyblank from the pocket, opening the pocket if it's closed.
  5. Carves the keyblank until it's done:
Result What happens
Grandmaster's pick Initialed if initial_grand is on, then put in grand_container.
Master's pick Put in master_container.
Anything less Put in trash_container, or thrown away.
  1. If a pick won't fit in its container, it says "Bag's full, exiting" and stops.
  2. When a pocket is empty, it throws the pocket away and opens the next one you're carrying, or gets one from pocket_container. When there are no more, it stops.

Argument Settings

Argument Purpose
ring Put picks on rings this run, like ring_picks: true.
ratio_last Show your grandmaster's percentage from your last run, and exit.
ratio_all Show your average grandmaster's percentage over all recorded runs, and exit. This errors if no runs have been recorded yet.
ratio_reset Delete your recorded runs, and exit.
buy_rings pockets masters ordinal grands ordinal Buy lockpick rings in the shop you're in. This doesn't work at the moment; see below.

buy_rings works out how many rings you'll need for that many pockets. With no recorded runs, it's one more than the number of pockets for each kind. Otherwise it's two rings per pocket, split by your average grandmaster's percentage, plus a fifth extra of each (at least one). The two ordinals pick the ring on the shop's list for each kind, for example first and second. It shows the counts and total price and checks your coin. Because of a bug, it then errors before buying anything.

Usage

;carve-lockpicks

;carve-lockpicks ring

;carve-lockpicks ratio_all