Skip to main content

B1AggroTableRow

Aggro Reason data — the TableRow Id itself is used as the Reason.
- Chase vs immediate (bAutoChase)
- Per-row arrival distance override (OffsetDistanceOverride)
- Arrival fire: Interaction / Script list / Howling (at least one of the three must be defined)
- Emotion applied on AddAggro (OnTriggeredEmotionId)

Aggro → Emotion is one-way (apply only). The reverse direction (emotion expression → aggro decrement)
is not handled here; Script-side code adjusts aggro directly via B2AggroHelper::DecreaseAggroByReason(...).

PropertyTypeDescriptionMetadata
bAutoChaseboolWhen false, immediate mode: AddAggro skips chase and fires arrival immediately. Autonomy is not blocked.Category: Aggro|Behavior
DispositionEB1AggroDispositionDisposition of this Reason. Friendly branches (e.g. sending an affectionate text) treat only Hostile aggro as a blocker.Category: Aggro|Behavior
bPossessManualControlboolWhen true, a possessed character (the player's own Zoi) holding this Reason starts nothing automatically:
no new chase, no in-place rotation, no arrival fire. The aggro entry itself (emotion, hit reaction, crime handling) is kept,
so the fight only happens through player input. Non-possessed characters are unaffected.
A chase queued before possession switched keeps walking to its destination (only its arrival attack is suppressed);
the player cancels that movement the usual way (move input -> bUserAborted).
Defaults to true so a newly added Reason never drives the player's character without an explicit data decision.
Category: Aggro|Behavior
bUseOriginLeashDecayboolWhen true, decay accelerates once the Source moves beyond OriginLeashDistance from the aggro origin.Category: Aggro|Behavior
OffsetDistanceOverridefloatArrival distance override (cm). Negative falls back to UB1AggroDataAsset.OffsetDistance. Ignored in immediate mode.Category: Aggro|Behavior
AutoPickupIdFNameAuto-pickup policy Id (FK -> AutoPickup.Id). On chase start, that policy's probability decides whether to pick up a weapon (nearby object).
NAME_None means this Reason does no auto-pickup (uses aggro/chase but keeps pickup off).
Category: Aggro|Behavior
Foreign: AutoPickup.Id
OnArrivedInteractionIdFNameInteractionBag Id to fire on arrival.Category: Aggro|Arrival
Foreign: InteractionBag.Id
OnArrivedScriptIdListTArrayScript Ids to run sequentially on arrival.Category: Aggro|Arrival
Foreign: Script.Id
OnArrivedHowlingIdFNameHowling Id to fire at the arrival location.Category: Aggro|Arrival
Foreign: Howling.Id
OnTriggeredEmotionIdFNameEmotion Id applied to the Source's EmotionComponent when this Reason is the TopReason in a Source-Target entry.
Intensity (value) is expressed by the aggro total, so only the EmotionId is configured here.
NAME_None disables the emotion application.
Category: Aggro|Emotion
Foreign: Emotion.Id
IdFNameUnique IdCategory: B1TableRowBase
CommentFStringDev CommentCategory: B1TableRowBase