Skip to content

rodarvus/smarttrain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Smart Train

A MUSHclient plugin for Aardwolf MUD that trains your core stats according to a per-class ruleset, and practices pending spells/skills.

Instead of a flat priority list, Smart Train uses an ordered list of priority groups (strict between groups: a higher group is fully satisfied before the next). Within a group the cheapest stat is trained first, so you never overpay — and a -> cost-spike fallback lets a lower-priority stat soak up training only while it's cheaper than the stats above it. Each segment can have a per-point cost cap that stops training it once it gets too expensive.

It reads the live train and practice output as the source of truth (no guessing from formulas), forward-simulates training costs across Aardwolf's cost brackets, and respects your total-stat cap and available training/practice sessions.

Install

  1. Download smarttrain.xml.
  2. In MUSHclient: File → Plugins → Add…, select smarttrain.xml.

Requires the standard Aardwolf GMCP handler (aard_GMCP_handler) to detect your class.

Commands

Command Description
strain Preview the training plan for your current class.
strain noconvert Preview using only existing trains (ignore practices).
strain apply Train for real (converts practices to trains if the plan needs them).
strain apply noconvert Train using only existing trains; never touch practices.
strain apply confirm Train even when spells/skills still need practicing.
strain practice Practice all spells/skills that still need it.
strain simulate [n] Project training from your current level to 200 at n trains/level (default 6), shown as a per-level breakdown in a pop-up window.
strain edit Edit the profile for your current class (pop-up editor).
strain edit <class> Edit the profile for a specific class.
strain profiles List saved profiles.
strain version Show the installed version.
strain update Check GitHub for a newer version (reports only, no install).
strain update confirm Download and install the latest version, then reload.
strain help Show in-game help.

Profiles

Profiles are edited in a pop-up editor (strain edit) using a small text format:

# Mage training profile
int              cap 6
wis luck         cap 6
dex con cap 3 -> str cap 3
  • One priority group per line, highest priority first. Groups are strict — a higher group is fully satisfied (maxed or cost-capped) before the next is touched.
  • Within a line, the cheapest stat trains first. This is what stops you overpaying.
  • space or / between stats makes a balanced pair — cheapest first, ties alternate so they climb together (e.g. wis luck or wis/luck).
  • -> adds a cost-spike fallback: segments on the same line compete by cost, but the left segment wins ties. In dex con cap 3 -> str cap 3, str is trained only when it's strictly cheaper than dex/con — so an expensive con point yields to a cheap str point instead of being wasted.
  • cap N sets the maximum per-point train cost for that segment. Omit it to train all the way to the stat's maximum.
  • Lines starting with # are comments.

Profiles are stored per class and auto-selected from your current GMCP class, so alts and reclasses each get their own ruleset.

Mage and Psionicist ship with a built-in default (the profile shown above), created automatically the first time you run strain on that class. Other classes start empty — run strain edit to create one.

Practices

strain and strain apply silently check practice for spells/skills that still need practicing and warn you. Because converting practices into trains would consume the practices you'd want for spells, strain apply asks for confirm only when it would actually run train convertall and spells are still pending.

A typical end-to-end session:

strain apply noconvert   # train stats with current trains, keep practices
strain practice          # spend practices on pending spells
strain apply             # convert leftover practices into trains, train more stats

Updating

strain update checks this repository for a newer version and reports whether one is available — it does not install anything. strain update confirm downloads the latest smarttrain.xml, overwrites your local copy, and reloads the plugin (your saved profiles are preserved). strain version shows what you're currently running. Uses MUSHclient's built-in async Lua module.

License

MIT

About

MUSHclient plugin for Aardwolf: per-class tiered stat training with cost-balanced groups, plus a spell/skill practice helper.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors