Effect target reference
During execution of effects, a list of references is passed between various effects, behaviors, abilities and validators. These references point to units, locations and players, that should be affected. Later, they are used in effects and validators, to specify which unit to modify/validate. Unit/point and player list are separate. Unit list contains following references:
For example, when a unit uses instant ability (such as stimpack), this ability's effect will get this list, with all references pointing to the caster of the ability.
These list are mainly used in effects or validators, behaviors and abilities just carry them on. In both effect and validator, there is a Target+ field, that is used to select which of these references is to be tested. For example it is possible to create a targeted ability, that will have different effects, depending on the casters current health.
I would like to create a complete reference here for each list transition, that will state how the effects are transferred. (list transitions happen when any of above mentioned objects creates a new object. (e.g. Apply Behavior effect creates a behavior, which then copies it's target list from the effect). If a reference is not mentioned, it is propably carried over from creator.
Propably applies only to buffs, other behaviors maybe don't carry target list.
- Units - Behaviors+ field
- All references to this unit
- Target set to the unit that recieves behavior
- All references to caster
- Load/Unload Cargo behavior
- Target is the cargo unit, caster is the transport
- Load/Unload Transport behavior
- Target is the transport, caster it the cargo
- Behavior - any executed effects
- All references same as the behavior (note: Target points to the unit carrying the behavior)
- All references are copied
- [[Ability#Effect - Instant|Ability - Effect Instant]
- All references to the caster
- [[Ability#Effect - Target|Ability - Effect Target]
- Target is the target, others to the caster