Uncrafted item
- Slot
- —
- Grade
- —
- Material
- —
- Rarity
- —
- Orb value
- —
- Affects
- —
Measured on the logarithmic rarity scale.
- Odds
- —before orb selection
- Grade —+
- —with — orbs
Draw from the world’s weighted tables. Every item comes with its grade, material, and orb value.
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.
Bring forth a character with a class, traits, attributes, and a full set of equipment.
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.
Gather a party from one seed. Choose how many characters answer the call.
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.
An example scenario of a fully formed party adventuring through a maze.
Roll a party to fill the four empty slots.
Craft one item. Spend more orbs to improve your chances of a better result.
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.
Two armies of 16 level-one characters meet on a field of stones.
Click the board, or focus it and press Space or Enter, to pause or resume. Class names above and below open original character sheets.
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.
Confirm that Set is reachable before drawing an identity or building a game.
GET /api
Use this to confirm the world yet lives and answers.
Find each operation, its inputs, and what it returns. Use one primitive or compose a whole game.
GET /api/spec
Use this to discover every endpoint and its purpose without reading source.
Start with one character or learn how to bring Set’s generation, attributes, and economy into your game.
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.
Learn how crafting, stat prices, drops, and salvage fit into a progression loop you control.
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.
Find the nine stats, their accepted bounds, and the order used to calculate attributes and drops.
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.
Read each slot’s capacity and the attributes it can influence. A full set holds fifteen items.
GET /api/slots
Use this to learn which slots exist, how many items each holds, and their advisory derived-attribute domains.
Browse the practices and distinctions a character can carry into your world.
GET /api/skills
Use this to obtain the full table of 288 skills from which characters draw their distinctions.
Find the strengths a character may inherit, then inspect their effects on base stats.
GET /api/advantages
Use this to obtain the full advantages table for building trait pickers and character creation.
Find the flaws a character may inherit, then inspect their effects on base stats.
GET /api/disadvantages
Use this to obtain the full disadvantages table for building flaw systems and challenge modifiers.
Browse the classes, their mainhand weapons, and the disciplines that define them.
GET /api/classes
Use this to obtain the 144 classes and the mainhand weapon each is bound to.
Read the world’s named conditions and descriptions. Give them mechanics in your game.
GET /api/effects
Use this to obtain the status-effect vocabulary for a game that defines its own effect mechanics.
Confirm that the generator route answers before requesting an item, equipment set, or character.
GET /api/roll
Use this to confirm the generator API is reachable before rolling.
Outfit a character with fifteen items. Inspect their grades, slot domains, and combined orb value.
GET /api/roll/set
Use this to outfit a character with a complete equipment set in one call, reproducibly when a seed is given.
Read an item’s material grade, orb value, and the weighted factors that make its name rare.
GET /api/rarity
Use this to appraise an item and learn its material grade, tier, quality score, and the contribution of each factor.
Read the seven material grades from F through S and how they divide the material tables.
GET /api/rarity/tiers
Use this to learn the seven grade definitions from F through S and the boundaries between them.
Find a graded budget and the channels suggested by an item’s name. Decide what that budget buys in your game.
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.
Read the budget for each grade and the shared theme channels before defining equipment effects.
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.
Choose a target grade and read its orb price and maximum sampling budget.
GET /api/craft/cost
Use this to learn the orb price required before attempting a craft at the given tier.
Find an item’s orb return under the disassembly schedule. Your game decides when it can be redeemed.
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.
Compare the orb costs of raising a stat, one point at a time, up to Perfect.
GET /api/boost/cost
Use this to price the orb cost of raising a stat across the given range.
Use an enemy’s stats and encounter class to calculate an orb reward for a victory in your game.
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.
Compare the five encounter multipliers, from trash to world-boss, before pricing a reward.
GET /api/drop/classes
Use this to learn the five encounter classes and the multiplier each bestows upon the base drop.
See which stats a named advantage or disadvantage changes, and by how much.
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.
Read every advantage or disadvantage with its stat deltas, ready for a character builder.
GET /api/traits/impacts
Use this to obtain every trait pre-scored with its stat modifier in a single call.
Turn a reconciled stat block into health, stamina, damage, movement, and the other derived values.
GET /api/attributes
Use this to expand base stats into health, damage, speed, dodge, and the remaining derived attributes.
Inspect the stats and coefficients behind every derived value, then calculate them in your game.
GET /api/attributes/spec
Use this to obtain the formula behind every derived attribute, that a client may recompute them locally.
Give a reconciled character one rating for your roster rules. Compare it with the maximum at your chosen level.
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.
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.
basic-lightweight-combat-1
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.
Calculate one attack or a window of action opportunities from reconciled stats.
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.
Inspect the experimental damage channels, stamina rules, initiative clock, and input limits.
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.