Execute_TriggerCriminalBehavior
Description
Raises a criminal behavior on the BaseObject character from a script, for crimes that are not driven by a single interaction or talk (an active mode assault, for example).
The script only states that the behavior happened: which crime it is, how much score it adds and which conditions must pass all live in Crime data. S1 selects the crime and S2 selects the CriminalBehavior entries whose ScriptTriggerTags contains that key, so score tuning stays in one place instead of being spread across scripts.
Every matching entry is raised, one per entry, exactly like an interaction that belongs to several entries. For each of them it is the same pipeline as a criminal interaction/talk: one criminal behavior is recorded, the entry's ConditionIds decide whether the score is applied, CriminalBehaviorScriptIds always run, and CrimeReportScriptIds run once the accumulated score reaches CrimeScoreReportThreshold. Characters under HighTeen are ignored, and the score is clamped to the crime's CrimeScoreMin/Max.
Parameters
| Parameter | Description |
|---|---|
| BaseObject | The character who committed the crime |
| S1 | Crime ID to raise, e.g. Crime_Assault |
| S2 | Script trigger key declared in that crime's CriminalBehaviors[].ScriptTriggerTags |
F1 and F2 are not used: scores are defined by the CriminalBehavior entry, not by the script. This command must not be placed in a crime's CriminalBehaviorScriptIds or CrimeReportScriptIds: those run inside crime processing, so re-entering the same crime would recurse forever. Data validation rejects that usage, and FB2CrimeComponent blocks re-entry per CrimeId at runtime.
Examples
| Description | BaseObject | Command | S1 | S2 |
|---|---|---|---|---|
| Raise the active mode assault behavior on Self | Self | TriggerCriminalBehavior | Crime_Assault | ActiveAssault |
| Raise the same behavior on the Target of the script | Target | TriggerCriminalBehavior | Crime_Assault | ActiveAssault |