Conditions are used in a number of places in the editor to tell the game when certain things should happen. Conditions are simply a list of one or more script functions that specify the circumstances under which a given editor item is valid. Conditions are used in the following editor sections:
- Idle Animations
- Quest Conditions
- Quest Stages
- Quest Objectives
- Perk Entry
- Effect Item
- Camera Paths
The Condition List
The condition list displays all of the individual Condition Items for this set of Conditions. Right-clicking in the list displays a popup menu which you can use to create New condition items, Duplicate or Delete existing condition items, Copy one or All items in the list, or Paste in items copied from elsewhere.
The << and >> buttons are used to move Condition Items up or down in the list, respectively, and the New button can be used to create a new item.
To edit a Condition Item, select it in the list and all of the data for that item will displayed in the controls beneath the list where the data can be altered.
The Condition Function dropdown list is the function to run. See Condition Functions for the complete list of script functions that can be used as conditions.
The Run on field is used to indicate that the function should be run on the indicated actor.
- Subject: The actor owning the object. In the case of dialogue, it's whoever is saying it. In the case of quest targets, it's the player. In the case of Magic Effects and other Effect Items, it is the reference being targeted by the effect.
- Target: For dialogue, this is the actor being spoken to. For Packages, it's the actor/object specified as the target.In the case of Magic Effects and Effect Items, it is the reference being targeted by the effect.
- Reference: A specific reference in the world. Use the Select button to find the reference.
- Combat Reference: If the owning actor is in combat, it is his current combat target. In the case of Magic Effects and Effect Items, it is the reference being targeted by the effect.
- Linked Reference: If the reference is linked to another reference, it will run on the linked reference.
The Function Parameters button opens up another dialog box in which parameters for the currently selected function can be set. This is where the Reference for a GetDistance function or the Faction for a GetFactionRank function is set.
The Comparison dropdown list determines how the return value for the function is compared with the Comparison Value to determine if the condition item is true.
The Comparison Value is normally a text field where a value is entered by hand. However, if the Use Global checkbox is checked, the Value is instead a dropdown list in which a global variable can be selected to use as the Comparison Value instead.
The OR checkbox is used to determine how a Condition Item is evaluated with the ones that follow it. Consecutive ORs are treated like a single block when evaluating and have order precedence over AND. For example, the Condition Items (A AND B OR C AND D) are evaluated as (A AND (B OR C) AND D) and not ((A AND B) OR (C AND D)).
By applying the distributive and other properties complex expressions can be converted into a list of Condition Items that will evaluate as intended. For example, the expression ((A AND B) OR (C AND D)) can be represented as the list of Condition Items (A OR C AND B OR C AND A OR D AND B OR D). As described above, this evaluates as ((A OR C) AND (B OR C) AND (A OR D) AND (B OR D)) which is equivalent to the initial expression.