B1FreeTimeInteractionPoolTableRow
- Row that classifies a FreeTime autonomy interaction into pools and emotion-exclusion rules.
* Id = InteractionBag.Id: each row carries the pool/forbid data for that single bag.
* Pool membership is evaluated against the current state: emotion pool if a current emotion matches an OpenEmotions key, trait pool if the character has an OpenTraitIds trait,
* base pool if IsBasePool is true. A bag may belong to multiple pools and must belong to at least one (validated).
| Property | Type | Description | Metadata |
|---|---|---|---|
| OpenEmotions | TArray | Emotion pool: opens when the current emotion matches any key and the current level is >= that key's EmotionLevel. | Category: B1FreeTimeInteractionPoolTableRow |
| OpenTraitIds | TArray | Trait pool: opens when the character has any of these traits. | Category: B1FreeTimeInteractionPoolTableRow Foreign: Trait.Id |
| IsBasePool | bool | Base pool: when true, the bag is also selectable in the always-available base pool regardless of emotion/trait conditions. | Category: B1FreeTimeInteractionPoolTableRow |
| ForbidEmotions | TArray | Per-bag exclusion: excluded when the current emotion matches any key and the current level is >= that key's EmotionLevel. | Category: B1FreeTimeInteractionPoolTableRow |
| SelectionLevel | int32 | FreeTime selection level (0/1/2). Each level is one geometric ratio step more likely; the same-room bonus adds one level. | Category: B1FreeTimeInteractionPoolTableRow |
| Id | FName | Unique Id | Category: B1TableRowBase |
| Comment | FString | Dev Comment | Category: B1TableRowBase |