Roll an item

Draw from the world’s weighted tables. Every item comes with its grade, material, and orb value.

API reference

GET /api/roll/item

Use this to summon one item from the weighted tables at no cost, reproducibly when a seed is given. The forge makes one at a time, so expand an army from one integer with deriveSeed and call once per soul.

Returns
the item enriched with its grade, material, orb value, a breakdown row, the seed that produced it, and the contentVersion that snapshot resolves against.
Parameters
seed?

Open endpoint ↗

Roll a character

Bring forth a character with a class, traits, attributes, and a full set of equipment.

API reference

GET /api/roll/character

Use this to generate one character with its stats, equipment, traits, and derived values. Pass equipmentBonus=1 for the optional gear approximation; by default finalStats equals modifiedStats.

Returns
base stats, modified stats after traits, final stats, enriched gear, orb breakdown, trait impacts, class, power rating, twenty-three derived attributes, the seed, and the contentVersion.
Parameters
seed=uint32?, equipmentBonus=1|0|true|false? (default off)

Open endpoint ↗

Roll a party

Gather a party from one seed. Choose how many characters answer the call.

API reference

GET /api/roll/character

Use this to generate one character with its stats, equipment, traits, and derived values. Pass equipmentBonus=1 for the optional gear approximation; by default finalStats equals modifiedStats.

Returns
base stats, modified stats after traits, final stats, enriched gear, orb breakdown, trait impacts, class, power rating, twenty-three derived attributes, the seed, and the contentVersion.
Parameters
seed=uint32?, equipmentBonus=1|0|true|false? (default off)

Open endpoint ↗

Adventure mode with party

An example scenario of a fully formed party adventuring through a maze.

The party travels to the far end and returns to the entrance. Arrow keys or W A S D move and turn. Space pauses or resumes automatic exploration.

Explore to the far end of the maze. Automatic exploration.

Roll a party to fill the four empty slots.

Craft an item using orbs

Craft one item. Spend more orbs to improve your chances of a better result.

API reference

GET /api/craft

Use this to spend orbs and receive an item, either by targeting a material tier or by rolling the best of many.

Returns
an enriched item and its slot breakdown, seed, snapshot, and effective inputs; orb crafts include combination/grade odds, exact actual-spend grade expectations, and score samples labeled by reference spend.
Parameters
tier=1..7 | orbs=N (positive integer; effective cap 100000), seed=uint32?, budget=positive-int? (tier only; effective cap 1000000)

Open endpoint ↗

Battle with armies

Two armies of 16 level-one characters meet on a field of stones.

Army I / 16
Army II / 16

Click the board, or focus it and press Space or Enter, to pause or resume. Class names above and below open original character sheets.

Battle rules and API

Nearest opponent, shortest open path, adjacent attacks. Click the board to pause.

Hit: physicalDamage * (1 - physicalDamageReduction) * (1 - globalResistance). Crit doubles damage; round to at least 1.

Dodge: dodgeRate * (1 - attacker.clarity). Crit chance: criticalHitChance.

Step: 0.4 / walkSpeed seconds. Attack: 1 / attackSpeed seconds. Simultaneous 0.1-second ticks.

Attacks cost 20 stamina, including misses. Living characters recover 10/second; attacks wait below 20.

Replay: deriveSeed(base, i), i = 0..31, alternating teams. RNG: mulberry32(deriveSeed(base, 32)); counters use 33. Rules: army-2.

GET /api/roll/character

Use this to generate one character with its stats, equipment, traits, and derived values. Pass equipmentBonus=1 for the optional gear approximation; by default finalStats equals modifiedStats.

Returns
base stats, modified stats after traits, final stats, enriched gear, orb breakdown, trait impacts, class, power rating, twenty-three derived attributes, the seed, and the contentVersion.
Parameters
seed=uint32?, equipmentBonus=1|0|true|false? (default off)

Open endpoint ↗

Check the connection

Confirm that Set is reachable before drawing an identity or building a game.

API reference

GET /api

Use this to confirm the world yet lives and answers.

Returns
a single greeting that the service is present and willing.

Open endpoint ↗

Explore the API

Find each operation, its inputs, and what it returns. Use one primitive or compose a whole game.

API reference

GET /api/spec

Use this to discover every endpoint and its purpose without reading source.

Returns
the maintained surface map of methods, paths, query descriptions, summaries, scenarios, and workspace titles and descriptions.

Open endpoint ↗

Build with Set

Start with one character or learn how to bring Set’s generation, attributes, and economy into your game.

API reference

GET /api/skill

Use this to obtain the complete guide for agents and developers, that all usage patterns and recipes may be learned from a single page.

Returns
a markdown document with YAML frontmatter containing the full instruction for building upon this world.

Open endpoint ↗

Build an orb economy

Learn how crafting, stat prices, drops, and salvage fit into a progression loop you control.

API reference

GET /api/craft-guide

Use this to learn the full crafting and economy system, that orb costs, crafting modes, stat boosting, and monster drops may be composed into a progression loop.

Returns
a markdown document teaching the economy from first principles through end-game.

Open endpoint ↗

Read the base stats

Find the nine stats, their accepted bounds, and the order used to calculate attributes and drops.

API reference

GET /api/stats

Use this to obtain the canonical stat order before sending values to /api/attributes or /api/drop, that there be no ambiguity in the array.

Returns
the nine base stats in their fixed order and their inclusive bounds from 8 to 24.

Open endpoint ↗

Plan an equipment set

Read each slot’s capacity and the attributes it can influence. A full set holds fifteen items.

API reference

GET /api/slots

Use this to learn which slots exist, how many items each holds, and their advisory derived-attribute domains.

Returns
every equipment slot in canonical order with its capacity and derived-attribute domain.

Open endpoint ↗

Explore character skills

Browse the practices and distinctions a character can carry into your world.

API reference

GET /api/skills

Use this to obtain the full table of 288 skills from which characters draw their distinctions.

Returns
every skill with id, name, and the prose that describes its nature.

Open endpoint ↗

Explore character advantages

Find the strengths a character may inherit, then inspect their effects on base stats.

API reference

GET /api/advantages

Use this to obtain the full advantages table for building trait pickers and character creation.

Returns
every named advantage from the trait pool, ready to be scored via /api/traits/impact.

Open endpoint ↗

Explore character disadvantages

Find the flaws a character may inherit, then inspect their effects on base stats.

API reference

GET /api/disadvantages

Use this to obtain the full disadvantages table for building flaw systems and challenge modifiers.

Returns
every named disadvantage from the trait pool, ready to be scored via /api/traits/impact.

Open endpoint ↗

Explore character classes

Browse the classes, their mainhand weapons, and the disciplines that define them.

API reference

GET /api/classes

Use this to obtain the 144 classes and the mainhand weapon each is bound to.

Returns
the full class list with name, flavor text, and the weapon that defines the class.

Open endpoint ↗

Choose a status vocabulary

Read the world’s named conditions and descriptions. Give them mechanics in your game.

API reference

GET /api/effects

Use this to obtain the status-effect vocabulary for a game that defines its own effect mechanics.

Returns
effect names and descriptive prose; duration, magnitude, stacking, and resistance belong to the game.

Open endpoint ↗

Check the generator connection

Confirm that the generator route answers before requesting an item, equipment set, or character.

API reference

GET /api/roll

Use this to confirm the generator API is reachable before rolling.

Returns
the same greeting as /api.

Open endpoint ↗

Roll an equipment set

Outfit a character with fifteen items. Inspect their grades, slot domains, and combined orb value.

API reference

GET /api/roll/set

Use this to outfit a character with a complete equipment set in one call, reproducibly when a seed is given.

Returns
the full equipment object, an aggregate orb value, a per-slot breakdown walked in canonical order, and the contentVersion.
Parameters
seed?

Open endpoint ↗

Appraise an item

Read an item’s material grade, orb value, and the weighted factors that make its name rare.

API reference

GET /api/rarity

Use this to appraise an item and learn its material grade, tier, quality score, and the contribution of each factor.

Returns
the grade, tier, probability, orb value, material envelope, and per-factor breakdown sorted by rarity contribution.
Parameters
indexes | rolls (19 in-range integers; mutually exclusive)

Open endpoint ↗

Explore item grades

Read the seven material grades from F through S and how they divide the material tables.

API reference

GET /api/rarity/tiers

Use this to learn the seven grade definitions from F through S and the boundaries between them.

Returns
seven grade descriptions and the material-rank counts for tool and wearable tables.

Open endpoint ↗

Read an item’s power budget

Find a graded budget and the channels suggested by an item’s name. Decide what that budget buys in your game.

API reference

GET /api/modifiers

Use this to learn how much power an item of this grade is entitled to and which attribute or elemental channels its name suggests, though the magnitudes remain yours to tune.

Returns
the grade envelope with a single budget number gated by grade and a themed channel for each name factor, derived by the same pinned hash as traits.
Parameters
indexes | rolls (19 in-range integers; mutually exclusive)

Open endpoint ↗

Plan item power

Read the budget for each grade and the shared theme channels before defining equipment effects.

API reference

GET /api/modifiers/spec

Use this to obtain the budget-per-grade schedule and the hash specification, that a client may recompute every budget and theme locally.

Returns
the seven budgets beside their craft costs, the thirty-one channels, and the FNV-1a derivation rule.

Open endpoint ↗

Price a material-grade floor

Choose a target grade and read its orb price and maximum sampling budget.

API reference

GET /api/craft/cost

Use this to learn the orb price required before attempting a craft at the given tier.

Returns
the orb cost and the budget of attempts the server will expend before declaring the craft capped.
Parameters
tier=1..7

Open endpoint ↗

Appraise salvage

Find an item’s orb return under the disassembly schedule. Your game decides when it can be redeemed.

API reference

GET /api/salvage

Use this to appraise what an item returns when destroyed for orbs, under the published schedule whose expected return per roll stays strictly below one orb.

Returns
the salvage value with the grade envelope, the full grade schedule, and the measured expectation that proves disassembly is a sink, not a printer.
Parameters
indexes | rolls | tier=1..7 (mutually exclusive; omit all for the schedule)

Open endpoint ↗

Price a stat increase

Compare the orb costs of raising a stat, one point at a time, up to Perfect.

API reference

GET /api/boost/cost

Use this to price the orb cost of raising a stat across the given range.

Returns
the total orbs and each per-step cost along the climb.
Parameters
from=8..23, to=9..24

Open endpoint ↗

Price an enemy’s drop

Use an enemy’s stats and encounter class to calculate an orb reward for a victory in your game.

API reference

GET /api/drop

Use this to determine how many orbs a slain enemy yields, given its nine stats (each 8 to 24) and encounter class. Threat scaling, such as a 10,000-HP boss, is your math; multipliers scale the drop, not the stat block.

Returns
the orb amount, seed, snapshot, base drop, class multiplier, and variance; a requested guaranteedItem includes salvage, with its requested floor, derived seed, budget, attempts, and cap outcome in guaranteedItemCraft.
Parameters
stats=9-ints-in-8..24, class, seed=uint32?, override=JSON?

Open endpoint ↗

Choose a drop class

Compare the five encounter multipliers, from trash to world-boss, before pricing a reward.

API reference

GET /api/drop/classes

Use this to learn the five encounter classes and the multiplier each bestows upon the base drop.

Returns
trash, veteran, elite, boss, and world-boss with multipliers 1, 3, 10, 50, and 250.

Open endpoint ↗

Read a trait’s impact

See which stats a named advantage or disadvantage changes, and by how much.

API reference

GET /api/traits/impact

Use this to learn the exact stat modifier a trait name produces, for the hash is deterministic and does not vary.

Returns
the primary stat, its delta, the secondary stat if the tier warrants one, and the tier of the impact.
Parameters
name, kind=advantage|disadvantage

Open endpoint ↗

Compare trait impacts

Read every advantage or disadvantage with its stat deltas, ready for a character builder.

API reference

GET /api/traits/impacts

Use this to obtain every trait pre-scored with its stat modifier in a single call.

Returns
each trait name with its tier and the primary and secondary deltas the hash has ordained.
Parameters
kind=advantage|disadvantage

Open endpoint ↗

Derive character attributes

Turn a reconciled stat block into health, stamina, damage, movement, and the other derived values.

API reference

GET /api/attributes

Use this to expand base stats into health, damage, speed, dodge, and the remaining derived attributes.

Returns
each of the twenty-three attributes with its computed value.
Parameters
stats=9-ints-in-8..24

Open endpoint ↗

Read the attribute formulas

Inspect the stats and coefficients behind every derived value, then calculate them in your game.

API reference

GET /api/attributes/spec

Use this to obtain the formula behind every derived attribute, that a client may recompute them locally.

Returns
the full formula table with base, primary coefficient, secondary coefficient, and the stats each attribute draws from.

Open endpoint ↗

Rate a character

Give a reconciled character one rating for your roster rules. Compare it with the maximum at your chosen level.

API reference

GET /api/power

Use this to grade a whole character as one canonical number, that a roster’s salary cap may be a sum instead of a recipe.

Returns
the power rating beside its maximum for the level, computed by the same formula the character sheet displays.
Parameters
stats=9-ints-in-8..24, level=1..90071992547392?, skills=0..4?

Open endpoint ↗

Basic lightweight combat

Experimental, optional combat rules for a game that needs a starting point.

Use your own combat rules, or start here.

Pass finalStats in canonical order. Damage includes dodge, critical hits, and 20-point stamina costs.

Initiative returns who acts first and how many action opportunities each character gets. Movement distance stays separate.

No status effects, equipment effects, or saved battle state.

Read the skill ↗

basic-lightweight-combat-1

API reference

GET /api/basic-lightweight-combat/skill

Use this to adopt a small damage and initiative model when your game has no combat rules yet; skill-based games can ignore it.

Returns
a Markdown skill with formulas, attribute coverage, request examples, action-count semantics, and replay rules.

Open endpoint ↗

Resolve experimental combat

Calculate one attack or a window of action opportunities from reconciled stats.

API reference

GET /api/basic-lightweight-combat

Use this to resolve an attack or schedule turns using the optional fallback. Supply nine reconciled integer stats in 8..24; health and stamina remain in your game.

Returns
experimental and version stamps, effective inputs, damage and resource changes with random rolls, or chronological action opportunities and per-actor move counts. Moves are not grid distance or guaranteed attacks.
Parameters
mode=damage: attacker=<9>, defender=<9>, kind=physical|magical|action?, health?, stamina?, elapsedMs=0..30000?, seed=uint32?; mode=initiative: actors=JSON [{id,stats}] (1..128), startMs=integer?, durationMs=1..30000? (default 5000), end<=1000000000; rulesVersion?, contentVersion?

Open endpoint ↗

Read the combat formulas

Inspect the experimental damage channels, stamina rules, initiative clock, and input limits.

API reference

GET /api/basic-lightweight-combat/spec

Use this to implement or inspect the optional combat interpretation locally, including its limits and what it leaves to your game.

Returns
the rules version, content snapshot, stat order, damage kinds, formulas, stamina constants, initiative boundaries, exclusions, and guide links.

Open endpoint ↗