---
name: set-status-effects
description: Reference for the 48 named status effects in the Set World API, such as Burn, Poison, Haste or Invisible, each with a line of prose. Use when listing or downloading the effect vocabulary, reading the schema of an effect row, choosing names for buffs, debuffs and conditions, or designing the duration, magnitude, stacking and resistance that Set leaves to the game.
license: Free to use when obtained from set.world, commercially too (the API, what it returns, the skills and downloaded models). The source code of Set is © Jimmy Lee under CC BY-NC 4.0 and its commercial use needs a paid waiver.
metadata:
  version: "0.8.9"
  title: Effects
---

# Effects

Set names 48 status effects and describes each in one or two sentences of in-world prose. It defines none of them. Duration, magnitude, stacking, resistance and what applies an effect are your game's design.

```sh
curl https://set.world/api/effects               # JSON
curl 'https://set.world/api/effects?format=csv'  # name,description
```

## Schema

```ts
type StatusEffect = { name: string; description: string };
type EffectsResponse = { count: number; data: StatusEffect[] };
```

```json
{
  "count": 48,
  "data": [
    { "name": "Burn", "description": "Let the afflicted be consumed by fire, and let all who strike the burning know their blows fall upon weakened flesh." },
    { "name": "Poison", "description": "Let the venom work its patient ruin upon the body, yet let it not claim the final breath, for that mercy belongs to the blade alone." }
  ]
}
```

Two of the 48 rows are shown.

## The 48 names

Burn, Poison, Bleed, Blight, Decay, Doom, Frozen, Petrified, Sleep, Charmed, Silenced, Taunted, Slowed, Blind, Frail, Fear, Wither, Despair, Berserk, Haste, Frenzy, Prowess, Leech, Keen, Reinforced, Regen, Invisible, Float, Chromatic, Vigilance, Exposed, Shielded, Heavy, Light, Grounded, Hysteria, Fortified, Warded, Anchored, Menaced, Provoked, Phased, Skulking, Deathtouched, Undying, Foretold, Exalted, Fading.

## Query one effect

```sh
curl 'https://set.world/api/effects?name=Burn'     # one effect by name
curl 'https://set.world/api/effects?q=fire'       # every effect whose name or description has the text
```

```json
{ "count": 1, "data": [{ "name": "Burn", "description": "Let the afflicted be consumed by fire, and let all who strike the burning know their blows fall upon weakened flesh." }] }
```

The filters are owned by [API connection](https://set.world/skills/api-connection); the voice of `description` by [Text flavor](https://set.world/skills/text-flavor).

## What Set provides and what it does not

| Set provides | Your game decides |
| --- | --- |
| A stable name | What applies the effect |
| A prose description | How long it lasts and how it ends |
| | Its magnitude and how it stacks |
| | What resists it |

The prose sometimes reads like a rule ("let it not claim the final breath"). Treat it as mood. Set implements no effect anywhere in the API: no endpoint applies, resolves or tracks one, the optional combat fallback excludes them, and no generated character or item carries one. Effects are reference content and are not part of `contentVersion`.

## A schema for your game's effects

A hypothetical design that covers what Set leaves open:

```ts
type EffectRule = {
  name: string;                    // one of the names above
  kind: 'harm' | 'help' | 'control';
  durationMs: number;
  maxStacks: number;
  tick?: { everyMs: number; healthDelta?: number; staminaDelta?: number };
  modifiers?: Array<{ attribute: string; operation: 'add' | 'multiply'; value: number }>;
  resistedBy?: string;             // for example "ailmentResistance"
};

type EffectInstance = { name: string; sourceId: string; targetId: string; stacks: number; remainingMs: number; magnitude: number };
```

```json
{
  "name": "Burn",
  "kind": "harm",
  "durationMs": 6000,
  "maxStacks": 3,
  "tick": { "everyMs": 1000, "healthDelta": -4 },
  "modifiers": [{ "attribute": "physicalDamageReduction", "operation": "add", "value": -0.05 }],
  "resistedBy": "ailmentResistance"
}
```

Every number in that rule is invented for the example. Two hooks in Set's data help such a design, both owned by [Calculations](https://set.world/skills/calculations): the `ailmentResistance` attribute, which the API computes and never uses, and the 8 elemental theme channels (fire, frost, lightning, poison, shadow, holy, arcane, nature) that `/api/modifiers` assigns to item words.
