Badges

Little icons and notes attached to a power in the origin-selection screen.

Badges are Origins’ way of annotating a power in the origin-selection screen — a keybind hint, a crafting recipe, an icon with a tooltip. They are purely informational: a badge never changes what a power does.

There are four badge types, each with its own page:

TypeWhat it shows
origins:spriteAn icon and nothing else.
origins:tooltipAn icon with hover text.
origins:keybindAn icon whose text names the key the power is bound to.
origins:crafting_recipeAn icon that hovers out a crafting grid.

Two ways to attach one

Inline, on the power

Add a top-level badges array to the power file itself (data/<namespace>/powers/<id>.json). This is the common case.

{
  "type": "apoli:action_on_key_press",
  "key": { "key": "key.apoli.primary_active" },
  "entity_action": { "type": "apoli:add_velocity", "y": 1.0 },
  "badges": [
    {
      "type": "origins:tooltip",
      "sprite": "origins:textures/gui/badge/active.png",
      "text": "Leap into the air."
    }
  ]
}

An entry with no type is read as origins:keybind.

A power marked "hidden": true is skipped entirely — its inline badges are never loaded.

Standalone, then referenced

A badge can live in its own file at data/<namespace>/badges/<path>.json. The file is the badge object, and its id is <namespace>:<path>:

// data/my_pack/badges/aquatic.json
{
  "type": "origins:tooltip",
  "sprite": "my_pack:textures/gui/badge/water.png",
  "text": "Works underwater."
}

Powers then reference it by id, as a plain string in their badges array:

{
  "type": "apoli:swimming",
  "badges": [ "my_pack:aquatic" ]
}

Use this when the same note belongs on several powers. A standalone badge that no power references shows up nowhere — defining the file is not enough.

Automatic badges

A power with no badges array gets one for free when its type implies an obvious note:

Power typeBadge you get
apoli:togglekeybind badge, using the power’s own key
apoli:action_on_key_presskeybind badge, using the power’s own key
apoli:recipecrafting-recipe badge, built from the power’s recipe

Writing your own badges array replaces the automatic one — it does not add to it.

Multiple powers

An apoli:multiple power with no badges of its own shows the merged badges of all its sub-powers, so a bundled origin trait still surfaces the keybinds and recipes hidden inside it. Give the multiple its own badges array to override that with a single summary badge instead.