Skip to main content

Profiles

A profile is a named customization variant of a class strategy. The strategy is the shipped baseline; each profile is a sparse delta layered over it.

A profile is a complete atomic variant. Its delta may contain:

  • lane membership and order (order);
  • shared strategy settings (args); and
  • action-local tuning (actionArgs).

Switching profiles therefore changes the whole combat setup together, rather than leaving equipment or thresholds behind from the previous variant.

The default profile

Every class has an implicit default profile. A class you have never customized has an empty default delta and behaves exactly like its shipped strategy. The default profile cannot be renamed or deleted.

Switching is safe mid-combat

Applying a profile rebuilds effective lanes and both arg scopes from shipped defaults, then replaces the strategy's precomputed tuning map. The selector sees the complete new variant on its next decision tick; no restart is required.

nb profile group
nexBash.api.strategy.profiles.apply("group");

Managing profiles

From the command line

CommandEffect
nb profileList profiles and mark the active one.
nb profile <name>Switch to a saved complete variant.
nb profile save <name>Save the current strategy customization as a profile and make it active.
nb profile rm <name>Delete a profile.

From the API

nexBash.api.strategy.profiles.list();
nexBash.api.strategy.profiles.active;
nexBash.api.strategy.profiles.apply("solo");
nexBash.api.strategy.profiles.save("solo");
nexBash.api.strategy.profiles.remove("solo");

Every command resolves against the active class strategy. An unsupported class or unknown profile produces an in-client notice and a safe no-op. Successful changes persist immediately.

From the configuration dialog

The Class Configuration toolbar has a Profile dropdown plus Save as, Rename, and Delete. The dialog edits the active profile's complete variant. Before switching or forking, it folds the current lane, Settings-tab, and action-tuning edits into the outgoing draft profile, so no in-progress work leaks or disappears.

The dialog itself remains atomic: these are draft changes until its main Save button is pressed; Cancel leaves runtime and storage untouched.

How profiles are stored

Each persisted class entry is { activeProfile?, profiles }, and every profile value is a normalized { order?, args?, actionArgs? } delta. Empty profiles and default-only classes are omitted; activeProfile is omitted when it is default.

Settings schema v3 has one current profile shape. At load, a boundary healer can fold older flat strategy deltas into default, rename the prior strategy params scope to args, and move prior nested per-action args into actionArgs. The runtime and profile editor never see those legacy names. After reconciliation, noncanonical storage is replaced with a current canonical snapshot, while an already-canonical document is not rewritten.

See Options & settings for the complete persisted document and healing behavior.