Skip to content

Magic Training Settings

kahlen-tech edited this page Oct 5, 2026 · 4 revisions

Description

Trains Augmentation, Warding, Utility and Sorcery by casting your training spells. Each round, it casts one spell for every skill that still needs training, lowest mindstate first. It stops once all of them are above your threshold, or after 60 minutes by default.

It checks your health after every cast, because Sorcery can backlash. If you're hurt, it stops and runs ;safe-room force.
When it stops, it releases your spell, mana and symbiosis, then shows how long it ran and the mindstates gained in each skill.

Settings

YAML Settings

Spells

training_spells:
  Augmentation:
    abbrev: ease
    use_auto_mana: true
  Warding:
    abbrev: maf
    mana: 5
    cambrinth:
      - 5
  Utility:
    abbrev: aot
    mana: 5
magic_training:
Setting Default Purpose
training_spells One spell per skill, listed under the skill's name: Augmentation, Warding, Utility or Sorcery, capitalized exactly like that. Each spell is set up the same way as in a waggle set (abbrev, mana, cambrinth, symbiosis, use_auto_mana and so on). crossing-training casts from this list too.
magic_training An older name for the same thing. Only used when training_spells is empty.
  • With no spells set up, it says "Done training magics" and exits straight away.
  • With use_auto_mana: true, it works out the mana and cambrinth charges from DISCERN. The result is remembered and checked again every check_discern_timer_in_hours (24 hours by default).
  • Moon Mage spells that need a moon are skipped while none is up. A moon only counts if it won't set for at least 4 more minutes, going by moonwatch, which is started if it isn't running. Cage of Light is cast at ambient instead of being skipped. A skipped spell is tried again next round, but only if another skill had a spell to cast this round. If the moon spell's skill is the only one left to train, it says "Done training magics" and exits.
  • With Invocation of the Spheres, if it can't get your telescope or can't see a planet that matches one of the spell's stats, it says "DRCMM: Could not set planet data. Cannot cast IOTS." and the script stops with an error instead of skipping the spell.

Where and how much

magic_training_room:
magic_exp_training_max_threshold: 32
magic_training_before_startup:
  - buff
Setting Default Purpose
magic_training_room Room to train in. It walks there at the start of every round. If not set, it trains wherever you are.
magic_exp_training_max_threshold 32 Keep training a skill while its mindstate is at or below this.
magic_training_before_startup Scripts to run, one after another, before training starts. Script names only, with no arguments.

Casting

waggle_force_cambrinth: true
use_harness_when_arcana_locked: false
waggle_spells_mana_threshold: 40
waggle_spells_concentration_threshold: 80
Setting Default Purpose
waggle_force_cambrinth true Always charge cambrinth for spells that list it. Set it to false to let use_harness_when_arcana_locked take over.
use_harness_when_arcana_locked false With waggle_force_cambrinth: false, harness mana instead of charging cambrinth whenever your Attunement mindstate isn't above your Arcana mindstate.
waggle_spells_mana_threshold 40 Before each cast, wait until you have at least this much mana...
waggle_spells_concentration_threshold 80 ...and at least this much concentration. It checks every 15 seconds.
These casting settings are shared with ;buff and other scripts that cast waggle sets.

Staying safe

health_threshold: 0
saferoom_health_threshold: 7

After every cast, it waits out any stun, then stops training if any of these are true:

  • You're bleeding, poisoned or diseased.
  • Your wound score is saferoom_health_threshold or more.
  • Your health is below 50, or below health_threshold if that's higher.

It says "You're injured! Stopping training", runs ;safe-room force, and exits.

What a run does

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

  1. Runs your magic_training_before_startup scripts.
  2. Walks to magic_training_room.
  3. Picks the skills to train this round: the ones you asked for, at or below magic_exp_training_max_threshold, that have a spell you can cast right now. Only moon spells are checked here, for a moon that's up. Invocation of the Spheres is always picked, and its planet is chosen when it's cast, using the telescope from telescope_name and telescope_storage. It sorts them by lowest mindstate, then fewest ranks.
  4. Casts each one's spell once, in that order, checking your health after each cast.
  5. Goes back to step 2, until step 3 finds nothing to cast or the time is up. A skill whose moon spell has no moon up counts as nothing to cast, so the run can end with that skill still at or below the threshold. The time is checked between rounds, so the last round can run a little over.
  6. Releases your spell, mana and symbiosis, and shows what you gained.
While it's running, sanowret-crystal doesn't use your crystal, because magic-training is in the default sanowret_no_use_scripts.

Argument Settings

Argument Purpose
minutes Stop after this many minutes. The default is 60.
skills Train only these skills, as a comma-separated list with no spaces, for example Warding,Sorcery. Any case. The default is all four.

Usage

;magic-training

;magic-training 30

;magic-training Warding,Sorcery

;magic-training 20 Augmentation

You can run it automatically in a subsection of T2.

T2

- skill: Augmentation
  start: 10
  scripts:
  - magic-training 30

Clone this wiki locally