Skip to Content

Ability

Abilities you own for the run (not consumed when used), defined under configuration.abilities. One id is selected at a time; UseAbility / UseSelectedAbility run that definition’s invocations on demand.

State (Ephemeral)

PathPurpose
Ephemeral.selectedAbilityIdActive ability id; normalized when the list changes (may be empty)
Ephemeral.abilitieslist of owned abilities, capacity flags, and denormalized counters (see below)

Storage lives under Ephemeral.abilities. Each list element is an object with id (the ability id) plus fields copied from configuration.abilities[id] (see GnosisAbilityService — keys like id, currentCount, quantity, data are reserved and not overwritten from config).

How it looks in ephemeral.json

Shape matches the Gnosis Engine default template; list entries gain extra fields at runtime from configuration.

ephemeral.json
{ "Ephemeral": { "selectedAbilityId": "", "abilities": { "list": [], "listCount": 0, "filledSlotsCount": 0, "emptySlotsCount": 1, "maxSize": 1, "allowDuplicates": false, "stackable": false, "maxStackSize": 1 } } }

Example one owned ability (minimal): "list": [ { "id": "yourAbilityId" } ] — the service may hydrate more keys from configuration.abilities.

Events

String ids are in GnosisAbilityEvents (Runtime/GnosisEngine/Source/Services/Ephemeral/Services/AbilityService/).

Event idKind
REQUEST_ABILITY_ADDRequest
FACT_ABILITY_ADDFact
FACT_ABILITY_ADDEDFact
REQUEST_ABILITY_REMOVERequest
FACT_ABILITY_REMOVEFact
FACT_ABILITY_REMOVEDFact
REQUEST_ABILITY_USERequest
FACT_ABILITY_USEDFact

Optional payload: playerId (PAYLOAD_PLAYER_ID).

Functions

FunctionParameters
GetList
GetCount
AddAbilityabilityId
RemoveAbilityabilityId
ClearAbilities
SetSelectedAbilityabilityId
GetSelectedAbility
UseSelectedAbilityoptional playerId
UseAbilityabilityId, optional playerId

Statistics

None in the excerpted API; check partials.

Last updated on