levelup

Spends a creature’s level-up points through the game’s level-up screen, so the game’s own rules apply. id picks the creature (default: the creature you control). The tool opens the screen, spends the points, completes the level-up and closes the screen. Pass exactly one of:

  • offers: true: returns what the screen offers and spends nothing: points, attributes, and the class’s talents, spells and skills, each a list of abilities with id, name and state (has, learnable now, or not yet); and the specializations, each with id, name and state (has, learnable, locked or no point to spend).
  • The points to spend: specialization, abilities and attributes, in any combination, spent as the screen’s buttons spend them. A specialization is taken first, like a click on its icon, so its abilities can be taken in the same call; it is refused, saying why, if already taken, locked, or there is no point for it. List abilities with the first of a chain before the next. If any ability is not learnable, nothing is spent.
  • auto: true: the screen’s Auto Level Up, which spends every point as the game chooses for the class (all a follower needs), repeating while points are left.

The answer includes levelled, reason, before and after (level and points to spend), the attributes raised and by how much, the talents, spells and skills gained, and a cursor. It refuses a creature with no points to spend (character shows canLevelUp). A level-up is permanent once the game is saved.

Arguments

Name Type Required What
id string   Who levels up, by creature id. Default: the creature you control.
auto boolean   If true, spend every point as the screen’s Auto Level Up does.
offers boolean   If true, return what the screen offers and spend nothing.
abilities array   Ability ids to take, in order, from those offers lists as learnable.
attributes object   Points to put in each attribute, e.g. {“strength”: 2, “cunning”: 1}.
specialization any   A specialization to take, by name or ability id, as offers lists it.
showMs integer (≥ 0, ≤ 10000)   How long to linger on the screen before Auto Level Up and on the result, in milliseconds, so whoever watches sees it. Default 1000; 0 for none.

Call it as levelup over MCP, or POST /api/tool/levelup with the arguments as JSON.