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)
| Path | Purpose |
|---|---|
Ephemeral.maxBoonSlots | Slot cap when Ephemeral.boons.maxSize is not the effective limit |
Ephemeral.filledBoonSlotsCount | Slots that hold a boon (denormalized for rules/UI) |
Ephemeral.emptyBoonSlotsCount | Free slots (maxBoonSlots − filled) |
Ephemeral.boons | Fixed-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 id | Kind |
|---|---|
REQUEST_BOON_ADD | Request |
FACT_BOON_ADD | Fact |
FACT_BOON_ADDED | Fact |
REQUEST_BOON_REMOVE | Request |
FACT_BOON_REMOVE | Fact |
FACT_BOON_REMOVED | Fact |
Functions
| Function | Parameters |
|---|---|
ActivateBoon | boonId or itemId alias |
DeactivateBoon | boonId |
GetBoonInventory | — |
GetBoonSlotCounts | — |
AddMaxBoonSlotsDelta | delta, optional maxCapacity |
ReorderBoons | boonIds list |
Statistics
None.
Last updated on