Skip to Content

Boon

Boons in a fixed slot layout for the run, defined under configuration.boons. Activate runs onActivateInvocations; deactivate runs onDeactivateInvocations or drops rules that were added via Rule.AddRule / Rule.AddRuleById during activate.

Config

Definitions under merged configuration.boons (or equivalent in your JSON layout) — see GetBoonDefinition in source.

State (Ephemeral)

PathPurpose
Ephemeral.maxBoonSlotsSlot cap when Ephemeral.boons.maxSize is not the effective limit
Ephemeral.filledBoonSlotsCountSlots that hold a boon (denormalized for rules/UI)
Ephemeral.emptyBoonSlotsCountFree slots (maxBoonSlots − filled)
Ephemeral.boonsFixed-slot list, listCount, filledSlotsCount, emptySlotsCount, maxSize, stack/duplicate flags

Each list slot is an object with boonId (may be empty for an empty slot — see GnosisBoonService).

How it looks in ephemeral.json

ephemeral.json
{ "Ephemeral": { "maxBoonSlots": 6, "filledBoonSlotsCount": 0, "emptyBoonSlotsCount": 6, "boons": { "list": [], "listCount": 0, "filledSlotsCount": 0, "emptySlotsCount": 6, "maxSize": 6, "allowDuplicates": false, "stackable": false, "maxStackSize": 1 } } }

Example one equipped boon: "list": [ { "boonId": "yourBoonId" } ] (slot layout depends on how your run fills the list).

Events

String ids are in GnosisBoonEvents (Runtime/GnosisEngine/Source/Services/Ephemeral/Services/BoonService/).

Event idKind
REQUEST_BOON_ADDRequest
FACT_BOON_ADDFact
FACT_BOON_ADDEDFact
REQUEST_BOON_REMOVERequest
FACT_BOON_REMOVEFact
FACT_BOON_REMOVEDFact

Functions

FunctionParameters
ActivateBoonboonId or itemId alias
DeactivateBoonboonId
GetBoonInventory
GetBoonSlotCounts
AddMaxBoonSlotsDeltadelta, optional maxCapacity
ReorderBoonsboonIds list

Statistics

None.

Last updated on