Run Stored Power (Entity Action Type)

Fires a power held in an apoli:power_storage as though a key had been pressed.

Fires a power held in an apoli:power_storage as though a key had been pressed on it. The stored power does not have to be granted, and it does not have to be bound to the key you name — whatever keybind it declares, this action runs it with the one you pass instead. A storage left on its defaults already gives the stored power its own keybind, so this action is for firing it from somewhere else; a storage with own_key: false makes it the only way in, which is what a steal-an-ability mechanic usually wants.

Type ID: apoli:run_stored_power

It fires the key-driven half of a stored power: apoli:action_on_key_press, apoli:toggle, apoli:fire_projectile and apoli:inventory. Their own cooldowns, conditions and activation packets all apply exactly as if the holder had pressed the key themselves.

A stored apoli:multiple fires every key-driven sub-power it holds, each still gated by its own condition and cooldown — so a spell written as one bundle stores and casts as one unit.

Fields

FieldTypeDefaultDescription
storageIdentifieroptionalOnly read this storage power. Omit to search every apoli:power_storage the entity has.
keyKeyoptionalThe key to run as. Omit and the stored power fires regardless of which key it declares.
powerIdentifieroptionalOnly run this stored power.
tagsString or listoptionalOnly run stored powers carrying one of these tags.
indexInteger-1Run only the stored power at this position, oldest first. -1 means “no position filter”.
allBooleanfalseRun every match instead of stopping after the first one that fires.

Examples

Cast whatever is in the book when the player presses their primary key:

{
  "type": "apoli:action_on_key_press",
  "key": { "key": "key.apoli.primary" },
  "entity_action": {
    "type": "apoli:run_stored_power",
    "storage": "example:spell_book",
    "key": { "key": "key.apoli.primary" }
  }
}

Fire only the fire-tagged spell in slot 0, and let the stored power’s own key be ignored:

{
  "type": "apoli:run_stored_power",
  "storage": "example:spell_book",
  "index": 0,
  "tags": "fire"
}

Run everything in the book at once:

{
  "type": "apoli:run_stored_power",
  "all": true
}

When key is set, apoli:prevent_key_press can still block the cast, the same as a real press of that key. Leave key out and nothing can block it.

A stored power that is not key-driven has nothing for this action to run, and a stored power’s own condition, cooldown and apoli:prevent_key_press all still apply. With /apoli:dev_mode on, a cast that does nothing says whether the storage was empty, whether the filters matched nothing, or whether something matched and refused to fire.