Skip to main content

FB1AggroTableRow

Overview

  • 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(...).

Metadata

FieldValue
Kindstruct
EnvironmentB1 - Presentation
Categorystructs
ExtendsFB1TableRowBase

Properties (10)

NameTypeDescription
AutoPickupIdstringAuto-pickup policy Id (FK -> AutoPickup.Id). At chase start, this 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 turns off pickup only).
DispositionEB1AggroDispositionDisposition of this Reason. Friendly branches (e.g. sending a kind message) treat only Hostile aggro as a blocking target.
OffsetDistanceOverridenumberArrival distance override (cm). Negative falls back to UB1AggroDataAsset.OffsetDistance. Ignored in immediate mode.
OnArrivedHowlingIdstringHowling Id to fire at the arrival location.
OnArrivedInteractionIdstringArrival fire — defined entries are all executed. If all three are empty, Validate fails. InteractionBag Id to fire on arrival.
OnArrivedScriptIdListstring[]Script Ids to run sequentially on arrival.
OnTriggeredEmotionIdstringEmotion — what kind of emotion the Source feels toward the Target Emotion 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.
bAutoChasebooleanChase behavior options — defined per Reason When false, immediate mode: AddAggro skips chase and fires arrival immediately. Autonomy is not blocked.
bPossessManualControlbooleanWhen 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.
bUseOriginLeashDecaybooleanWhen true, decay accelerates once the Source moves beyond OriginLeashDistance from the aggro origin.