Skip to content

Nested structs

The shape of each block that nests inside an +AbilityEdits entry. These are the structures you type; which fields apply depends on the Class you name - see the family pages under Reference.

AdditionalCooldownEdit

Field Type Guard Description
AbilityName name — Ability whose cooldown entry is added/updated in AditionalAbilityCooldowns.
NumTurns int SetNumTurns Cooldown applied to that other ability, in turns.
UseAbilityCooldownNumTurns bool SetUseAbilityCooldownNumTurns —
ApplyCooldownType name — AdditionalCooldown_ApplyLarger or AdditionalCooldown_ApplySmaller. Applied when non-empty.

BonusChargeEdit

Field Type Guard Description
AbilityName name — Ability that grants the bonus charges.
NumCharges int SetNumCharges —

CostEdit

Field Type Guard Description
Class string — Cost class to target/instantiate, e.g. X2AbilityCost_ActionPoints. Bare names are auto-prefixed with XComGame.; empty falls back to X2AbilityCost.
Mode EAbilityCostEditMode — Per-entry edit mode (EAbilityCostEditMode). Defaults to the enum's first value, which clears the existing list.
FreeCost bool SetFreeCost Makes the ability cost nothing. The ability must satisfy the requirement to be usable, but using it doesn't consume action point.
NumPoints int SetNumPoints Action points the ability consumes.
AddWeaponTypicalCost bool SetAddWeaponTypicalCost Adds the weapon's own typical action cost on top of NumPoints.
ConsumeAllPoints bool SetConsumeAllPoints Ends the turn by consuming every remaining action point, rather than just NumPoints.
MoveCost bool SetMoveCost Treats the cost as movement, so effects and abilities that key off moving apply.
AllowedTypes array<name> — Action point types that may pay this cost. Restricting it stops the ability being paid for with, say, a Run-and-Gun point.
AllowedTypesMode ENameArrayEditMode — —
DoNotConsumeAllEffects array<name> — If the user is under any of these effects, ConsumeAllPoints is ignored and the turn does not end.
DoNotConsumeAllEffectsMode ENameArrayEditMode — —
DoNotConsumeAllSoldierAbilities array<name> — If the user has any of these abilities, ConsumeAllPoints is ignored. This is how Blademaster lets Slash keep the turn going.
DoNotConsumeAllSoldierAbilitiesMode ENameArrayEditMode — —
SharedAbilityCharges array<name> — Other abilities whose charges are spent alongside this one, as Skulljack and Skullmine share a pool. Applied when paying, never when checking affordability.
SharedAbilityChargesMode ENameArrayEditMode — —
FocusAmount int SetFocusAmount Templar focus consumed.
ConsumeAllFocus bool SetConsumeAllFocus Spends the user's entire focus pool rather than FocusAmount.
GhostOnlyCost bool SetGhostOnlyCost Only charges focus to a Ghost, leaving the original Templar's pool untouched.
NumAmmo int SetNumAmmo Ammo consumed per use. With ConsumeAllAmmo set this becomes the minimum needed to fire, rather than the amount spent.
UseLoadedAmmo bool SetUseLoadedAmmo Draws from the loaded grenade rather than the weapon's ammo, for grenade-launcher abilities.
ReturnChargesError bool SetReturnChargesError Reports a shortfall as "out of charges" instead of "out of ammo", for abilities presented to the player as charge-based.
ConsumeAllAmmo bool SetConsumeAllAmmo Spends the whole magazine. NumAmmo then only sets the minimum required to fire.
NumCharges int SetNumCharges Charges consumed per use.
OnlyOnHit bool SetOnlyOnHit Only spends the charge when the ability hits, so a miss costs nothing.
AlsoExpendChargesOnSharedBondmateAbility bool SetAlsoExpendChargesOnSharedBondmateAbility Also spends the bondmate's charges of the shared ability.

CooldownEdit

Field Type Guard Description
Class string — Optional. Omitted = edit the existing cooldown in place. Set = target/instantiate that class, e.g. X2AbilityCooldown_PerPlayerType. Bare names are auto-prefixed with XComGame..
NumTurns int SetNumTurns Turns the ability is unavailable after use.
IgnoreOnHit bool SetIgnoreOnHit Skips applying the cooldown when the ability hits, so only a miss puts it on cooldown.
AdditionalCooldownMode EAdditionalCooldownEditMode — —
AdditionalCooldowns array<AdditionalCooldownEdit> — Cooldowns this ability also puts on other abilities, keyed by AbilityName. Used where firing one thing should lock out another.
NumTurnsForAI int SetNumTurnsForAI Cooldown used when the unit is AI-controlled, letting XCOM and the enemy run different timings. Only on X2AbilityCooldown_PerPlayerType.
NumGlobalTurns int SetNumGlobalTurns Cooldown applied across every unit on the team, not just the one that used the ability. Only on the global cooldown classes.

ChargesEdit

Field Type Guard Description
Class string — Optional. Omitted = edit the existing charges object in place. Set = target/instantiate that class, e.g. X2AbilityCharges_GremlinHeal. Bare names are auto-prefixed with XComGame..
InitialCharges int SetInitialCharges Charges the ability starts a mission with.
BonusChargesMode EChargesBonusMode — —
BonusCharges array<BonusChargeEdit> — Extra charges granted when the unit has another ability, keyed by AbilityName. This is how Restoration adds charges to the medikit heal.
RemoveCharges bool — Set to true to remove the ability's charges object entirely. No Class needed; the other fields of the block are ignored.
Stabilize bool SetStabilize Whether the charges behave as the stabilise-style pool, on the charge classes that support it.

AECustomProperty

Field Type Guard Description
Key name — —
Value string — —

ConditionEdit

Field Type Guard Description
Class string — Condition class to target/instantiate, e.g. X2Condition_UnitProperty. Bare names are auto-prefixed with XComGame..
Mode EArrayEditMode — Per-entry edit mode (EArrayEditMode). Defaults to the enum's first value, which clears the existing array.
OwnerHasSoldierAbilitiesMode ENameArrayEditMode — X2Condition_AbilityProperty
OwnerHasSoldierAbilities array<name> — Soldier abilities the unit owning the ability must have.
TargetMustBeInValidTiles bool SetTargetMustBeInValidTiles Reject targets standing outside the ability's valid tiles.
WantsReload bool SetWantsReload Fail with AA_AmmoAlreadyFull when the source weapon's clip is already full.
CheckAmmo bool SetCheckAmmo Compare the source weapon's ammo against CheckAmmoData.
CheckAmmoData CheckConfig SetCheckAmmoData The ammo check used when CheckAmmo is true: Value, CheckType, and ValueMin/ValueMax for range checks.
NotLoadedAmmoInSecondaryWeapon bool SetNotLoadedAmmoInSecondaryWeapon Fail when the source weapon is currently loaded as ammo in the secondary weapon.
MatchGrenadeType name SetMatchGrenadeType Grenade template the source weapon, or its loaded ammo, must be.
CheckGrenadeFriendlyFire bool SetCheckGrenadeFriendlyFire Reject friendly targets unless the grenade template allows friendly fire.
CheckAmmoTechLevel bool SetCheckAmmoTechLevel Reject the source ammo when it is not valid for the unit's primary weapon.
MatchWeaponTemplate name SetMatchWeaponTemplate Weapon template the source weapon must be, exact match on its DataName.
StilettoRounds bool SetStilettoRounds Pass only while the Stiletto Rounds dark event is active.
RequiredGameplayTag name SetRequiredGameplayTag Tactical gameplay tag XCOM HQ must carry for the ability to be valid.
DisallowGameplayTag name SetDisallowGameplayTag Tactical gameplay tag that makes the ability invalid while XCOM HQ carries it.
HourChecksMode ENameArrayEditMode — X2Condition_GameTime
HourChecks array<CheckConfig> — Checks against the current hour of the day; the condition passes when any one of them does. Merge adds checks not already present.
NumTurnsCheck CheckConfig SetNumTurnsCheck Check against the number of turns the target's controlling player has taken.
ActionPointChecksMode ENameArrayEditMode — X2Condition_UnitActionPoints (merged by ActionPointType)
ActionPointChecks array<ActionPointCheck> — Action point checks; passes when any one of them does. Each names an action point type, whether to count reserved points, and the value check.
RequiredAlertStatusMaximum int SetRequiredAlertStatusMaximum Highest alert level the unit may have. -1 ignores it; the condition fails when both limits are -1.
RequiredAlertStatusMinimum int SetRequiredAlertStatusMinimum Lowest alert level the unit may have. -1 ignores it; the condition fails when both limits are -1.
ExcludeEffectsMode ENameArrayEditMode — X2Condition_UnitEffects and its subclasses (merged by EffectName)
ExcludeEffects array<EffectReason> — Effects that reject the unit when present, each with the failure reason to return.
RequireEffectsMode ENameArrayEditMode — —
RequireEffects array<EffectReason> — Effects that must all be present on the unit, each with the failure reason to return.
ExcludeDamageTypesMode ENameArrayEditMode — X2Condition_UnitImmunities
ExcludeDamageTypes array<name> — Damage types; a unit immune to any of them is rejected.
OnlyOnCharacterTemplate bool SetOnlyOnCharacterTemplate Consider only the immunities of the unit's character template, not those granted by effects.
InteractionType UnitInterationType SetInteractionType Kind of interaction point the unit must be next to: eInteractionType_Normal or eInteractionType_Hack.
RelevantSlot EInventorySlot SetRelevantSlot Inventory slot whose item is checked.
ExcludeWeaponCategory name SetExcludeWeaponCategory Weapon category that rejects the unit when the item in RelevantSlot has it.
RequireWeaponCategory name SetRequireWeaponCategory Weapon category the item in RelevantSlot must have. Fails when the slot is empty.
ExcludeAlive bool SetExcludeAlive Reject living units.
ExcludeDead bool SetExcludeDead Reject dead units.
ExcludeRobotic bool SetExcludeRobotic Reject robotic units.
ExcludeOrganic bool SetExcludeOrganic Reject organic units.
ExcludeCivilian bool SetExcludeCivilian Reject units whose character template is civilian, whatever their team.
ExcludeNonCivilian bool SetExcludeNonCivilian Reject units whose character template is not civilian, whatever their team.
ExcludeCosmetic bool SetExcludeCosmetic Reject cosmetic units, such as Gremlins.
ExcludeImpaired bool SetExcludeImpaired Reject impaired units.
ExcludePanicked bool SetExcludePanicked Reject panicked units.
ExcludeInStasis bool SetExcludeInStasis Reject units in stasis.
ExcludeTurret bool SetExcludeTurret Reject turrets.
ExcludePsionic bool SetExcludePsionic Reject psionic units.
ExcludeNonPsionic bool SetExcludeNonPsionic Reject non-psionic units.
IsAdvent bool SetIsAdvent Require an ADVENT unit.
ExcludeAdvent bool SetExcludeAdvent Reject ADVENT units.
ExcludeNoCover bool SetExcludeNoCover Reject units that are not in cover.
ExcludeNoCoverToSource bool SetExcludeNoCoverToSource Reject units with no cover between them and the source.
ExcludeFullHealth bool SetExcludeFullHealth Reject units at full HP, unless a persistent damage effect listed in MedikitHealEffectTypes is on them.
IsBleedingOut bool SetIsBleedingOut Require a unit that is bleeding out.
IsUnspotted bool SetIsUnspotted Require a unit that has not been spotted.
CanBeCarried bool SetCanBeCarried Require a unit that can be carried.
IsOutdoors bool SetIsOutdoors Require a unit standing outdoors.
IsConcealed bool SetIsConcealed Require a concealed unit.
ExcludeConcealed bool SetExcludeConcealed Reject concealed units. Only applies to the check without a source; visibility rules normally cover this.
IsSuperConcealed bool SetIsSuperConcealed Require a unit in super concealment.
IsImpaired bool SetIsImpaired Require an impaired unit.
HasClearanceToMaxZ bool SetHasClearanceToMaxZ Require open space above the unit up to the map ceiling.
ExcludeAlien bool SetExcludeAlien Reject alien units.
ExcludeNonHumanoidAliens bool SetExcludeNonHumanoidAliens Reject aliens that are not humanoid.
ExcludeStunned bool SetExcludeStunned Reject stunned units.
ExcludeDazed bool SetExcludeDazed Reject dazed units.
ExcludeUnableToAct bool SetExcludeUnableToAct Reject units that are unable to act.
IsPlayerControlled bool SetIsPlayerControlled Require a player-controlled unit.
ExcludeUnrevealedAI bool SetExcludeUnrevealedAI Reject AI units that have not been revealed yet.
IncludeWeakAgainstTechLikeRobot bool SetIncludeWeakAgainstTechLikeRobot Treat units flagged as weak against tech as robotic for the robotic checks.
ImpairedIgnoresStuns bool SetImpairedIgnoresStuns Do not count stuns when deciding whether a unit is impaired.
IsScampering bool SetIsScampering Require a unit that is currently scampering.
ExcludeDeadFromSpecialDeath bool SetExcludeDeadFromSpecialDeath Reject units killed by a special death.
ExcludeLargeUnits bool SetExcludeLargeUnits Reject units larger than one tile.
ImpairedIgnoresImpairingMomentarily bool SetImpairedIgnoresImpairingMomentarily Do not count momentary impairment when deciding whether a unit is impaired.
MinRank int SetMinRank Lowest soldier rank allowed.
MaxRank int SetMaxRank Highest soldier rank allowed.
ExcludeSoldierClassesMode ENameArrayEditMode — —
ExcludeSoldierClasses array<name> — Soldier classes that reject the unit. Non-soldiers always pass.
RequireSoldierClassesMode ENameArrayEditMode — —
RequireSoldierClasses array<name> — Soldier classes the unit must be one of, when non-empty. Non-soldiers always fail.
ExcludeHostileToSource bool SetExcludeHostileToSource Reject units hostile to the source.
ExcludeFriendlyToSource bool SetExcludeFriendlyToSource Reject units friendly to the source.
TreatMindControlledSquadmateAsHostile bool SetTreatMindControlledSquadmateAsHostile Count a mind-controlled squadmate as hostile rather than friendly.
ExcludeSquadmates bool SetExcludeSquadmates Reject units on the same team as the source.
RequireSquadmates bool SetRequireSquadmates Require the unit to be on the same team as the source.
RequireWithinRange bool SetRequireWithinRange Require the unit to be within WithinRange of the source.
WithinRange float SetWithinRange Maximum distance between source and target, in Unreal units. A tile is 96.
RequireWithinMinRange bool SetRequireWithinMinRange Require the unit to be within WithinMinRange of the source.
WithinMinRange float SetWithinMinRange Distance for the minimum-range check, in Unreal units. A tile is 96.
BeingCarriedBySource bool SetBeingCarriedBySource Require a unit currently carried by the source.
RequireUnitSelectedFromHQ bool SetRequireUnitSelectedFromHQ Require a unit that was selected from Headquarters for the mission. XCOM only.
FailOnNonUnits bool SetFailOnNonUnits Fail with AA_NotAUnit on non-unit targets instead of passing them through.
CheckStatsMode ENameArrayEditMode — X2Condition_UnitStatCheck (merged by StatType)
CheckStats array<CheckStat> — Stat checks that must all pass: the stat, the value check, and whether to compare as a percentage of the stat's maximum.
IncludeTypesMode ENameArrayEditMode — X2Condition_UnitType
IncludeTypes array<name> — Character groups the unit must belong to, when non-empty. Takes precedence over ExcludeTypes.
ExcludeTypesMode ENameArrayEditMode — —
ExcludeTypes array<name> — Character groups that reject the unit. Ignored while IncludeTypes is non-empty.
CheckValuesMode ENameArrayEditMode — X2Condition_UnitValue (merged by UnitValue)
CheckValues array<CheckValue> — Unit value checks that must all pass: the value name, the value check, and an optional failure code to return instead of the default.
NoEnemyViewers bool SetNoEnemyViewers Fail when any enemy can see the target.
RequireMatchCoverType bool SetRequireMatchCoverType Require the target to be in the cover type given by TargetCover.
RequireNotMatchCoverType bool SetRequireNotMatchCoverType Require the target not to be in the cover type given by TargetCover.
TargetCover ECoverType SetTargetCover Cover type used by RequireMatchCoverType and RequireNotMatchCoverType.
CannotPeek bool SetCannotPeek Require the shooter to see the target from its own tile, without peeking.
RequireLOS bool SetRequireLOS Require line of sight.
RequireBasicVisibility bool SetRequireBasicVisibility Require line of sight and range.
RequireGameplayVisible bool SetRequireGameplayVisible Require line of sight, range and the situational gameplay-visibility rules.
AllowSquadsight bool SetAllowSquadsight Accept any squadmate's view of the target if the unit has Squadsight. Overrides RequireGameplayVisible.
ActAsSquadsight bool SetActAsSquadsight Accept any squadmate's view of the target whether or not the unit has Squadsight. Overrides RequireGameplayVisible.
VisibleToAnyAlly bool SetVisibleToAnyAlly Accept the target when any squadmate can see it, without line of sight from the unit itself. Overrides RequireGameplayVisible.
DisablePeeksOnMovement bool SetDisablePeeksOnMovement Forbid peeking once the target has moved.
ExcludeGameplayVisible bool SetExcludeGameplayVisible Fail when the target has gameplay visibility of the source.
RequireGameplayVisibleTagsMode ENameArrayEditMode — —
RequireGameplayVisibleTags array<name> — Visibility tags that must be present on the visibility info, such as concealed or stealthed.
MissionAborted bool SetMissionAborted Require the mission to have been aborted.
MissionNotAborted bool SetMissionNotAborted Require the mission not to have been aborted.
CiviliansTargetedByAliens bool SetCiviliansTargetedByAliens Require a mission where aliens target civilians.
CiviliansNotTargetedByAliens bool SetCiviliansNotTargetedByAliens Require a mission where aliens do not target civilians.
IncludeTheLostInEngagedCount bool SetIncludeTheLostInEngagedCount Count the Lost among the engaged enemies.
MinEngagedEnemies int SetMinEngagedEnemies Fewest engaged enemies required. -1 ignores it.
MaxEngagedEnemies int SetMaxEngagedEnemies Most engaged enemies allowed. -1 ignores it.
FailOnNonUnitTargets bool SetFailOnNonUnitTargets Fail with AA_NotAUnit on non-unit targets instead of passing them through.
MinBondLevel int SetMinBondLevel Lowest bond level between the two units, inclusive.
MaxBondLevel int SetMaxBondLevel Highest bond level between the two units, inclusive.
RequiresAdjacency AdjacencyRequirement SetRequiresAdjacency Whether the bondmates may, must not, or must be adjacent: EAR_AnyAdjacency, EAR_DisallowAdjacency or EAR_RequireAdjacency.
SkipCheckWithSource bool SetSkipCheckWithSource Only check that the source has a bondmate on the mission, not that the target is that bondmate. For self-targeted bondmate abilities.
IntrusionProtocol bool SetIntrusionProtocol Hack objects at range: needs gameplay visibility of the object instead of an adjacent interaction point.
HaywireProtocol bool SetHaywireProtocol Target units instead of objects: living, unhacked, robotic enemies the unit sees or has squadsight on.
RequiredAbilityName name SetRequiredAbilityName Ability the interactive object must expose. For hacking, empty accepts any object; for a normal interaction it must match exactly.
MustBeDoor bool SetMustBeDoor Require the object to be a door.
RestrictRange bool SetRestrictRange Require the loot to be within LootableRange of the source.
LootableRange int SetLootableRange Maximum distance to the loot, in Unreal units, when RestrictRange is set. A tile is 96.
NotAFloorTileTag name SetNotAFloorTileTag Tag of tiles that must not count as ground.
MaxPanicUnitsPerPod int SetMaxPanicUnitsPerPod Most units of an AI pod that may be panicked at once. 0 removes the limit.
HackAbilityName Name SetHackAbilityName Hack ability whose rewards the target must offer, e.g. FinalizeSKULLJACK.
CheckFlanking bool SetCheckFlanking Fail when any enemy flanks the unit.
RequireVisible bool SetRequireVisible Require a free neighbouring tile the unit could be pulled to, rather than any free neighbouring tile.
AllowedBiomesMode ENameArrayEditMode — X2Condition_MapProperty
AllowedBiomes array<string> — Map biomes the mission must be in, when non-empty.
CustomProperties array<AECustomProperty> — Free-form key/value pairs for bridge-mod editors; ignored by the built-in editors.

StatChangeEdit

Field Type Guard Description
StatType ECharStatType SetStatType —
StatAmount float SetStatAmount —
ModOp EStatModOp SetModOp —
ApplicationRule ECharStatModApplicationRule SetApplicationRule —

WeaponDamageValueEdit

Field Type Guard Description
Damage int SetDamage —
Spread int SetSpread —
PlusOne int SetPlusOne —
Crit int SetCrit —
Pierce int SetPierce —
Rupture int SetRupture —
Shred int SetShred —
Tag name SetTag —
DamageType name SetDamageType —

EffectEdit

Field Type Guard Description
Class string — Effect class to target/instantiate, e.g. X2Effect_ApplyWeaponDamage. Bare names are auto-prefixed with XComGame.; empty falls back to X2Effect.
Slot EAbilityEffectSlot — Which effect array to edit (EAbilityEffectSlot): eAES_Target, eAES_MultiTarget or eAES_Shooter.
Mode EArrayEditMode — Per-entry edit mode (EArrayEditMode). Defaults to the enum's first value, which clears the existing array.
ApplyOnTickClass string — Redirects this entry at an effect nested in the parent's ApplyOnTick list, so every other field below applies to that child instead. Only X2Effect_Persistent and its subclasses have one. Use it to reach the damage of a damage-over-time effect: the X2Effect_Burning object itself only carries duration, while the per-tick damage lives in an X2Effect_ApplyWeaponDamage beneath it. Bare names are auto-prefixed with XComGame..
ApplyOnTickIndex int — Which matching child to edit when several in ApplyOnTick share the same class. Counts only matches of ApplyOnTickClass, so 0 is the first one. Default 0.
ApplyOnTickMode EArrayEditMode — What to do when ApplyOnTickClass is not already in the list (EArrayEditMode): eAEM_Merge/eAEM_AddOnly append one, eAEM_Remove removes it, eAEM_ReplaceAll clears the list first. Ignored when ApplyOnTickClass is empty.
ApplyOnHit bool SetApplyOnHit Whether the effect is applied when the ability hits. Most effects want this true; setting it false is how an effect is made to trigger only on a miss.
ApplyOnMiss bool SetApplyOnMiss Whether the effect is applied even when the ability misses.
ApplyChance int SetApplyChance Percentage chance the effect applies at all, rolled per target. 0 behaves as "always", since the roll is only made when a chance is set.
ApplyToWorldOnHit bool SetApplyToWorldOnHit Whether the effect is applied to the world (tiles, cover, environment) on a hit, rather than to a unit. Used by fire, smoke, acid and the other world effects.
ApplyToWorldOnMiss bool SetApplyToWorldOnMiss As ApplyToWorldOnHit, but for a miss. Grenades typically set both, so they still affect the ground when they scatter.
UseSourcePlayerState bool SetUseSourcePlayerState Records the source player on the effect when it is applied, so later logic can tell whose effect it was. Needed by effects that behave differently for XCOM and the AI.
IsImpairing bool SetIsImpairing Marks the effect as impairing the unit, which fires the impairment event and makes the unit report as impaired. This is what stuns, panic and disorientation use.
IsImpairingMomentarily bool SetIsImpairingMomentarily Fires the impairment event without leaving the unit flagged as impaired afterwards. For effects that interrupt an action but do not linger.
BringRemoveVisualizationForward bool SetBringRemoveVisualizationForward Moves this effect's removal visualization earlier in the sequence, taking the whole context's visualization with it. Used when a removal must be seen before what follows.
ShowImmunity bool SetShowImmunity Shows a flyover when the target is immune to this effect. Only when the application actually failed because of immunity.
ShowImmunityAnyFailure bool SetShowImmunityAnyFailure Shows the immunity flyover whenever the effect fails to apply for any reason, not only immunity. Broader, and noisier, than ShowImmunity.
AppliesDamage bool SetAppliesDamage Marks the effect as dealing damage, so it counts towards damage statistics and raises the generic ability-damage events. Set it on any custom source of damage.
CanBeRedirected bool SetCanBeRedirected Whether the effect is eligible to be redirected onto another target, by Untouchable, Bladestorm parries and similar. Leave false for effects that must hit their target.
HideDeathWorldMessage bool SetHideDeathWorldMessage Suppresses the usual death message when this effect is what kills the unit, for deaths that should read as something other than a normal kill.
DamageTypesMode ENameArrayEditMode — —
DamageTypes array<name> — Damage types this effect counts as. A unit immune to any type listed here resists the effect, and cleansing effects look at these types to decide what they can remove.
TargetConditions array<ConditionEdit> — Conditions attached to the effect (X2Effect.TargetConditions)
MinStatContestResult int SetMinStatContestResult For effects resolved by a stat contest: the contest result must be at least this for the effect to apply. Used to band outcomes, so a stronger roll applies a stronger effect.
MaxStatContestResult int SetMaxStatContestResult Upper bound of the same stat-contest band. Ignored when it is below MinStatContestResult.
DelayVisualizationSec float SetDelayVisualizationSec Seconds to delay this effect's visualization, for sequencing it against the rest of the ability rather than changing any game state.
OverrideMissMessage string SetOverrideMissMessage Replaces the usual "Miss" flyover with your own text, for abilities where a miss should read as something else.
NumTurns int SetNumTurns How many turns the effect lasts. Ignored when InfiniteDuration is true.
InitialShedChance int SetInitialShedChance Percentage chance the effect is shed immediately on the first tick, before PerTurnShedChance takes over.
PerTurnShedChance int SetPerTurnShedChance Percentage chance per tick that the effect wears off early. 0 means it only ends when its turns run out.
EffectRank int SetEffectRank Precedence among effects of the same kind, used by auras so a stronger source wins over a weaker one.
EffectHierarchyValue int SetEffectHierarchyValue Decides which effect controls the unit’s animation when several apply at once. The higher value wins.
VisionArcDegreesOverride float SetVisionArcDegreesOverride Narrows the unit’s sight arc to this many degrees. When two effects both set it, the smaller arc applies.
InfiniteDuration bool SetInfiniteDuration The effect never expires on its own. It then only ends through one of the RemoveWhen... rules below, or by something cleansing it.
TickWhenApplied bool SetTickWhenApplied Ticks once the moment it is applied, rather than waiting for the turn to come round. Damage-over-time effects use this to hurt immediately.
CanTickEveryAction bool SetCanTickEveryAction Ticks after every action the target takes rather than once a turn, where the character template supports it.
ConvertTurnsToActions bool SetConvertTurnsToActions When ticking per action, multiplies NumTurns by the actions available per turn, so a "3 turn" effect still lasts roughly three turns.
RemoveWhenSourceDies bool SetRemoveWhenSourceDies Removes the effect when whoever applied it dies. Typical for effects sustained by their caster, such as mind control.
RemoveWhenTargetDies bool SetRemoveWhenTargetDies Removes the effect when the affected unit dies, rather than leaving it on the body.
RemoveWhenSourceDamaged bool SetRemoveWhenSourceDamaged Removes the effect as soon as the source takes damage, for concentration-style effects broken by being hit.
RemoveWhenTargetConcealmentBroken bool SetRemoveWhenTargetConcealmentBroken Removes the effect when the target loses concealment. Used by effects that only make sense while hidden.
PersistThroughTacticalGameEnd bool SetPersistThroughTacticalGameEnd Keeps the effect on the unit after it leaves play, until the mission ends. Needed by effects that must still be read when the mission is scored.
IgnorePlayerCheckOnTick bool SetIgnorePlayerCheckOnTick Ticks regardless of whose turn it is. Normally an effect only ticks on its owner’s turn.
UniqueTarget bool SetUniqueTarget Only one target may carry this effect from a given source at a time; applying it elsewhere removes the earlier one.
StackOnRefresh bool SetStackOnRefresh Re-applying the effect increments a stack counter instead of simply refreshing its duration, so effects that grow with repetition can read the count.
DupeForSameSourceOnly bool SetDupeForSameSourceOnly When checking whether the target already has this effect, only consider copies from the same source. Lets several units apply their own instance.
EffectForcesBleedout bool SetEffectForcesBleedout A unit reduced to zero health while under this effect bleeds out instead of dying outright.
DisplayInUI bool SetDisplayInUI Whether the effect appears in the unit’s status UI at all. An effect with no FriendlyName set will show as blank.
DisplayInSpecialDamageMessageUI bool SetDisplayInSpecialDamageMessageUI Shows FriendlyName in the damage feedback as a distinct source, so its damage reads separately from the weapon’s.
SourceDisplayInUI bool SetSourceDisplayInUI As DisplayInUI, but for the unit that applied the effect rather than the one carrying it.
CustomIdleOverrideAnim name SetCustomIdleOverrideAnim Idle animation to play while the effect is active, taking over the unit’s normal idle.
EffectName name SetEffectName Identifier used when deciding how this effect stacks with others, and the name other effects use to find or remove it.
AbilitySourceName name SetAbilitySourceName Which ability this is presented as coming from. Controls how a passive buff is coloured in the HUD.
EffectAppliedEventName name SetEffectAppliedEventName Event fired when the effect is applied, for listeners and triggered abilities to react to.
ChanceEventTriggerName name SetChanceEventTriggerName Event fired when the per-turn shed-chance roll succeeds.
VFXSocket name SetVFXSocket Socket on the unit’s skeleton to attach the particle system to.
VFXSocketsArrayName name SetVFXSocketsArrayName Named array of sockets to attach the particle system to, for effects that appear in several places at once. Optional.
FriendlyName string SetFriendlyName Name shown in the unit’s status UI.
FriendlyDescription string SetFriendlyDescription Description shown beneath FriendlyName in the status UI.
IconImage string SetIconImage Path to the status icon shown in the UI.
SourceFriendlyName string SetSourceFriendlyName Name shown on the unit that applied the effect, as opposed to the one carrying it.
SourceFriendlyDescription string SetSourceFriendlyDescription Description shown on the applying unit.
SourceIconLabel string SetSourceIconLabel Short label drawn on the applying unit’s icon.
StatusIcon string SetStatusIcon Path to the small status icon used in condensed UI, alongside IconImage.
VFXTemplateName string SetVFXTemplateName Particle system played on the unit for as long as the effect lasts.
PersistentPerkName string SetPersistentPerkName Perk effect played on the unit while this effect is active.
ExplosiveDamage bool SetExplosiveDamage Counts the damage as explosive, so explosive-specific rules such as Blast Padding apply.
IgnoreBaseDamage bool SetIgnoreBaseDamage Leave out the weapon's base damage; only the effect's own damage and tagged extra damage apply.
DamageTag name SetDamageTag Tag selecting one of the weapon's ExtraDamage entries and the upgrade bonus damage with the same tag.
AlwaysKillsCivilians bool SetAlwaysKillsCivilians Civilian targets die outright regardless of the damage rolled.
ApplyWorldEffectsForEachTargetLocation bool SetApplyWorldEffectsForEachTargetLocation Apply the ability's world effects at every target location instead of once.
AllowFreeKill bool SetAllowFreeKill Let free-kill weapon upgrades, such as the Repeater, trigger on this damage.
AllowWeaponUpgrade bool SetAllowWeaponUpgrade Let weapon upgrades add their bonus damage.
BypassShields bool SetBypassShields Damage ignores shield HP and goes straight to health.
IgnoreArmor bool SetIgnoreArmor Damage ignores armor.
BypassSustainEffects bool SetBypassSustainEffects Damage ignores sustain effects that would otherwise keep the unit alive.
EnvironmentalDamageAmount int SetEnvironmentalDamageAmount Environmental damage dealt to terrain and cover.
WeaponDamageValue WeaponDamageValueEdit — Damage the effect adds on its own, on top of the weapon: Damage, Spread, Crit, Pierce, Shred, Rupture, PlusOne, DamageType and Tag.
StatChangeMode EStatChangeMode — X2Effect_PersistentStatChange
StatChange array<StatChangeEdit> — Stat changes applied while the effect lasts, merged by StatType.
CHLForceReapplyOnRefresh bool SetCHLForceReapplyOnRefresh Re-apply the stat changes when the effect is refreshed. Community Highlander field.
ImmuneTypesAreInclusive bool SetImmuneTypesAreInclusive true: immune to the listed damage types only. false: immune to every damage type except the listed ones.
RemoveAfterAttackCount int SetRemoveAfterAttackCount Remove the effect after this many attacks against the unit. 0 keeps it.
ImmuneTypesMode ENameArrayEditMode — —
ImmuneTypes array<name> — Damage types the immunity covers, or excludes when ImmuneTypesAreInclusive is false.
NumActionPoints int SetNumActionPoints Action points granted.
PointType name SetPointType Type of action point granted, e.g. standard or move.
ApplyOnlyWhenOut bool SetApplyOnlyWhenOut Grant only when the unit has no standard action points left.
SelectUnit bool SetSelectUnit Select the unit in the tactical UI once the points are granted.
SkipWithEffectMode ENameArrayEditMode — —
SkipWithEffect array<name> — Effects that, when present on the unit, skip the grant.
RecordUnitValueWithGrantMode ENameArrayEditMode — X2Effect_GrantActionPointsWithRecord (merged by UnitValueName)
RecordUnitValueWithGrant array<RecordData> — Unit values that accumulate the action points granted, each with its cleanup rule. Merge updates the entry with the same UnitValueName or adds it.
EffectNamesToRemoveMode ENameArrayEditMode — X2Effect_RemoveEffects
EffectNamesToRemove array<name> — Effect names removed from the target.
Cleanse bool SetCleanse Remove the effects as a cleanse, so whatever they do on wearing off does not trigger.
CheckSource bool SetCheckSource Match effects whose source is this effect's target, instead of effects whose target it is.
DoNotVisualize bool SetDoNotVisualize Skip the removal visualization, for when another RemoveEffects on the ability already shows it.
UnitName name SetUnitName Unit value written.
NewValueToSet float SetNewValueToSet Value written to the unit value.
CleanupType EUnitValueCleanup SetCleanupType When the unit value is cleared: eCleanup_BeginTurn, eCleanup_BeginTactical, eCleanup_Never or eCleanup_BeginTacticalChain.
ArmorMitigationAmount int SetArmorMitigationAmount Armor points granted while the effect lasts.
StunLevel int SetStunLevel Action points the stun takes away.
SkipAnimation bool SetSkipAnimation Skip the stun animations.
StunStartAnimName name SetStunStartAnimName Animation played when the stun starts, if the unit can play it.
StunStopAnimName name SetStunStopAnimName Animation played when the stun ends.
StunnedTriggerName name SetStunnedTriggerName Event fired when the unit is stunned.
SustainedAbilityName name SetSustainedAbilityName Ability on the source that is fired again once a full turn completes, to keep the effect going.
FragileAmount int SetFragileAmount Damage the source may take in a full turn before the effect breaks. 0 never breaks it.
EffectsToRemoveFromSourceMode ENameArrayEditMode — —
EffectsToRemoveFromSource array<name> — Effects removed from the source when this effect ends.
EffectsToRemoveFromTargetMode ENameArrayEditMode — —
EffectsToRemoveFromTarget array<name> — Effects removed from the target when this effect ends.
RegisterAdditionalEventsLikeImpairMode ENameArrayEditMode — —
RegisterAdditionalEventsLikeImpair array<name> — Extra events on the source that end the effect as if the source had become impaired.
ReasonNotVisible name SetReasonNotVisible Visibility tag given as the reason the vanished unit cannot be seen.
VanishRevealAdditiveAnimName name SetVanishRevealAdditiveAnimName Additive animation played on reveal when VanishRevealAnimName is empty.
VanishRevealAnimName name SetVanishRevealAnimName Animation played when the unit is revealed.
VanishSyncAnimName name SetVanishSyncAnimName Additive animation played when the vanished state is visualized from a save.
ReserveType name SetReserveType Type of action point reserved.
NumPoints int SetNumPoints Number of action points reserved.
AbilityToActivate name SetAbilityToActivate Ability fired when the covering fire check matches.
GrantActionPoint name SetGrantActionPoint Reserve action point given to the covering unit when the check matches.
MaxPointsPerTurn int SetMaxPointsPerTurn Most times per turn the action point can be granted. 0 or less removes the limit.
DirectAttackOnly bool SetDirectAttackOnly Only match when the unit carrying the effect is attacked directly.
PreEmptiveFire bool SetPreEmptiveFire Fire before the attacker's shot resolves instead of after it.
OnlyDuringEnemyTurn bool SetOnlyDuringEnemyTurn Only fire during the enemy turn.
UseMultiTargets bool SetUseMultiTargets Fire the ability at the covering unit itself and hit its multi-targets, instead of retaliating at the attacker.
OnlyWhenAttackMisses bool SetOnlyWhenAttackMisses Only fire when the attack missed.
SelfTargeting bool SetSelfTargeting The fired ability targets the covering unit itself.
ActivationPercentChance int SetActivationPercentChance Percent chance the ability fires when the check matches. 0 always fires.
TraversalChangesMode ENameArrayEditMode — X2Effect_PersistentTraversalChange (merged by Traversal)
TraversalChanges array<TraversalChange> — Traversal types switched on or off while the effect lasts, merged by Traversal.
ToHitMin int SetToHitMin Lowest hit chance at which the damage multiplier applies.
DmgMod float SetDmgMod Multiplier applied to the damage when the effect's condition is met.
AdverseClassesMode ENameArrayEditMode — X2Effect_AdverseSoldierClasses
AdverseClasses array<name> — Soldier classes whose attacks trigger the damage multiplier.
AlertRangeMeters int SetAlertRangeMeters Radius in meters within which Lost are alerted.
BonusDamageMult float SetBonusDamageMult Fraction of the damage added as bonus.
MinBonusDamage int SetMinBonusDamage Smallest bonus damage applied, when the fraction comes out lower.
AcidParticleSystem1Tile string SetAcidParticleSystem1Tile Particle system path for an acid pool covering a single tile.
AcidParticleSystem2Tiles string SetAcidParticleSystem2Tiles Particle system path for an acid pool covering two tiles.
AcidParticleSystem3TilesLine string SetAcidParticleSystem3TilesLine Particle system path for an acid pool covering three tiles in a line.
AcidParticleSystem3TilesCorner string SetAcidParticleSystem3TilesCorner Particle system path for an acid pool covering three tiles in a corner.
AcidParticleSystem4TilesLine string SetAcidParticleSystem4TilesLine Particle system path for an acid pool covering four tiles in a line.
AcidParticleSystem4TilesSquare string SetAcidParticleSystem4TilesSquare Particle system path for an acid pool covering a 2x2 square.
AcidParticleSystem4TilesL string SetAcidParticleSystem4TilesL Particle system path for an acid pool covering four tiles in an L shape.
AcidParticleSystem4TilesReverseL string SetAcidParticleSystem4TilesReverseL Particle system path for an acid pool covering four tiles in a mirrored L shape.
AcidParticleSystem4TilesT string SetAcidParticleSystem4TilesT Particle system path for an acid pool covering four tiles in a T shape (the game's 4pc_Middle).
AcidParticleSystem4TilesS string SetAcidParticleSystem4TilesS Particle system path for an acid pool covering four tiles in an S shape.
AcidParticleSystem4TilesReverseS string SetAcidParticleSystem4TilesReverseS Particle system path for an acid pool covering four tiles in a mirrored S shape.
OverrideParticleSystem string SetOverrideParticleSystem Particle system path played on the target instead of the default one. Empty keeps the default.
DamageTypeTemplateName name SetDamageTypeTemplateName Damage type of the environmental damage.
PlusNumZTiles int SetPlusNumZTiles Extra tiles of height hit above the affected tile.
UseWeaponEnvironmentalDamage bool SetUseWeaponEnvironmentalDamage Use the source weapon's environmental damage instead of EnvironmentalDamageAmount.
UseWeaponDamageType bool SetUseWeaponDamageType Use the source weapon's damage type instead of DamageTypeTemplateName.
HitSourceTile bool SetHitSourceTile Apply the damage at the source's tile.
HitTargetTile bool SetHitTargetTile Apply the damage at the target's tile.
HitAdjacentDestructibles bool SetHitAdjacentDestructibles Also damage destructibles adjacent to the hit tile along the damage direction.
AllowDestructionOfDamageCauseCover bool SetAllowDestructionOfDamageCauseCover When a unit caused the damage, allow it to destroy that unit's own cover, which is normally protected.
FireChance_Level1 float SetFireChance_Level1 Weight of a level 1 fire when rolling the intensity of new fires; relative to the other two levels.
FireChance_Level2 float SetFireChance_Level2 Weight of a level 2 fire when rolling the intensity of new fires; relative to the other two levels.
FireChance_Level3 float SetFireChance_Level3 Weight of a level 3 fire when rolling the intensity of new fires; relative to the other two levels.
UseFireChanceLevel bool SetUseFireChanceLevel Roll the fire intensity from the three FireChance weights instead of using the default.
DamageFragileOnly bool SetDamageFragileOnly Only damage fragile objects.
CheckForLOSFromTargetLocation bool SetCheckForLOSFromTargetLocation Only set tiles on fire that are visible from the target location.
PerUseHP int SetPerUseHP HP healed per application.
IncreasedHealProject name SetIncreasedHealProject Research that, once completed, switches the heal to IncreasedPerUseHP.
IncreasedPerUseHP int SetIncreasedPerUseHP HP healed per application once IncreasedHealProject is researched.
PoisonParticleSystem string SetPoisonParticleSystem Particle system path for a poison cloud tile.
SmokeParticleSystem string SetSmokeParticleSystem Particle system path for a smoke tile.
Pierce int SetPierce Armor pierced.
CritChance int SetCritChance Crit chance added.
CritDamage int SetCritDamage Crit damage added.
EventsToUpdateMode ENameArrayEditMode — X2Effect_Aura
EventsToUpdate array<name> — Events that make the aura re-evaluate which units it covers.
NumHitsForMod int SetNumHitsForMod Hits taken in the turn before the damage multiplier applies.
ExplosiveDamageReduction float SetExplosiveDamageReduction Fraction of explosive damage removed.
BonusDamage int SetBonusDamage Bonus damage added when the effect's condition is met.
ThreatenedBondmateAimBonus int SetThreatenedBondmateAimBonus Aim bonus, from bond level 2, against a target that threatens the bondmate.
BondmateTargetAimBonus int SetBondmateTargetAimBonus Aim bonus, from bond level 3, against a target the bondmate attacked since last turn.
BondmateTargetCritBonus int SetBondmateTargetCritBonus Crit bonus, from bond level 3, against a target the bondmate attacked since last turn.
BleedoutDurationAdjustment int SetBleedoutDurationAdjustment Turns added to the bleedout duration.
BonusDmg int SetBonusDmg Bonus damage added to the weapon's damage.
WillMod int SetWillMod Change applied to the target's current Will; negative lowers it.
DamageTypeImmunitiesMode ENameArrayEditMode — X2Effect_CombatStims, X2Effect_Solace
DamageTypeImmunities array<name> — Damage types the affected unit is immune to while the effect lasts.
ModifyOutgoingDamage bool SetModifyOutgoingDamage Apply to damage the unit deals.
ModifyIncomingDamage bool SetModifyIncomingDamage Apply to damage the unit takes.
DamageModifier float SetDamageModifier Damage multiplier; 1.0 leaves the damage unchanged.
DamageBonus int SetDamageBonus Flat damage added after the multiplier.
DamageMultiplier float SetDamageMultiplier Extra damage as a fraction of the damage being dealt.
TriggerEventName name SetTriggerEventName Event the effect fires.
ApplyRulerModifiers bool SetApplyRulerModifiers Subtract the per-ruler freeze modifier from the rolled ruler freeze count.
LargeUnitFreezeDuration int SetLargeUnitFreezeDuration Turns a large unit, an Avatar or a Chosen stays frozen.
NormalUnitFreezeDuration int SetNormalUnitFreezeDuration Turns any other non-ruler unit stays frozen.
MinRulerFreezeCount int SetMinRulerFreezeCount Lower bound of the XCOM actions a ruler stays frozen for. The roll is Rand(Max - Min) + Min.
MaxRulerFreezeCount int SetMaxRulerFreezeCount Upper bound of the ruler freeze roll, exclusive: Min equal to Max gives exactly Min actions.
ApplyToRevealedAIOnly bool SetApplyToRevealedAIOnly Only revealed AI units lose their action points; unrevealed ones are left alone.
GlobalAbility name SetGlobalAbility Global ability switched on for the rest of the battle.
DamageImmunitiesMode ENameArrayEditMode — X2Effect_Fortress
DamageImmunities array<name> — Damage types the unit is immune to. The game assumes Fire, Acid and Poison are among them.
CoverType ECoverForceFlag SetCoverType Cover the unit provides to others: none, low or high (ECoverForceFlag).
RemoveWhenMoved bool SetRemoveWhenMoved Remove the effect when the unit moves.
RemoveOnOtherActivation bool SetRemoveOnOtherActivation Remove the effect when the unit activates another ability.
OverrideStartAnimName Name SetOverrideStartAnimName Animation played on the pulled unit at the start, when set.
OverrideStopAnimName Name SetOverrideStopAnimName Animation played on the pulled unit at the end, when set.
RequireVisibleTile bool SetRequireVisibleTile Only pull to a neighbouring tile the target can be bound to; otherwise any free neighbouring tile will do.
HeightBonus int SetHeightBonus Extra aim an attacker gets when it has height advantage over the affected unit.
AllowedAbilitiesMode ENameArrayEditMode — X2Effect_Guardian
AllowedAbilities array<name> — Abilities that can trigger the extra reaction shot.
ProcChance int SetProcChance Percent chance of the extra reaction shot.
HitMod int SetHitMod Hit chance modifier applied.
DelayTimeS float SetDelayTimeS Seconds before the death is visualized.
AbilityToTrigger name SetAbilityToTrigger Ability fired when the mine goes off.
BonusCritChance int SetBonusCritChance Crit chance added when the effect's condition is met.
AbilityName name SetAbilityName Ability fired by the effect.
ActivateAbilityOnTarget bool SetActivateAbilityOnTarget Find and fire the ability on the target instead of the source.
EffectTargetOnly bool SetEffectTargetOnly Fire only against the effect's target; false fires against every available target.
ImplacableThisTurnValue name SetImplacableThisTurnValue Unit value that records Implacable already triggered this turn.
CohesionAmount int SetCohesionAmount Cohesion added between the unit and its bondmate.
ShieldPerMiss int SetShieldPerMiss Shield HP gained each time an attack misses the unit.
KnockbackDistance int SetKnockbackDistance Distance the unit is knocked back, in meters.
KnockbackDestroysNonFragile bool SetKnockbackDestroysNonFragile Let the knocked-back unit destroy non-fragile objects it hits.
OverrideRagdollFinishTimerSec float SetOverrideRagdollFinishTimerSec Seconds before the ragdoll settles. Negative keeps the default.
OnlyOnDeath bool SetOnlyOnDeath Only knock back units the attack kills.
BenefitFromEmpoweredUpgrades bool SetBenefitFromEmpoweredUpgrades Increase the crit bonus when XCOM has empowered weapon upgrades. Community Highlander field.
CritBonus int SetCritBonus Crit chance added on top of the distance-based bonus.
LifeAmountMultiplier float SetLifeAmountMultiplier Multiplier on the health stolen. 0 leaves the amount unchanged.
AbilityToMark name SetAbilityToMark Ability whose valid activation tiles are marked.
OnlyUseTargetLocation bool SetOnlyUseTargetLocation Mark only the target location, ignoring the ability's multi-target area.
VisualizeFlagsOnCursor bool SetVisualizeFlagsOnCursor Show the marked tiles on the targeting cursor.
DamageMod int SetDamageMod Damage added to attacks of the melee damage type.
MeleeDamageTypeName name SetMeleeDamageTypeName Damage type that counts as melee for the adjustment.
AbilitiesAllowedToHitMode ENameArrayEditMode — X2Effect_MimicBeacon
AbilitiesAllowedToHit array<name> — Abilities that may still target the mimic beacon.
NumTurnsForAI int SetNumTurnsForAI Turns the control lasts when an AI player is the controller. 0 uses the effect's normal duration.
RemoveGroupFromInitiativeOrder bool SetRemoveGroupFromInitiativeOrder Remove the unit's group from the initiative order.
AddGroupToInitiativeOrder bool SetAddGroupToInitiativeOrder Add the unit's group to the initiative order.
AllowCrit bool SetAllowCrit Allow reaction fire to crit.
ReactionModifier int SetReactionModifier Aim modifier applied to reaction fire.
AdditionalSuccessModifiersMode ENameArrayEditMode — X2Effect_ModifyStatCheckSuccesses (merged by AbilityName)
AdditionalSuccessModifiers array<AdditionalSuccessModifier> — Bonus successes added to a stat check made by the named ability, when the checked unit is the ability's source. Merge updates the entry with the same AbilityName or adds it.
ModifyFocus int SetModifyFocus Focus points added; negative removes them.
ArmorPierce int SetArmorPierce Armor pierced.
ObsessedTargetValueName Name SetObsessedTargetValueName Unit value holding the object ID of the obsessed-over target.
DeathActionClass string SetDeathActionClass Qualified class path of the X2Action that replaces the normal death visualization, e.g. XComGame.X2Action_ExplodingUnitDeathAction. Empty removes the override.
OverrideAnimNameOnLoad name SetOverrideAnimNameOnLoad Death animation shown for the unit when a save is loaded.
CritBoostPerKill int SetCritBoostPerKill Crit chance gained per kill.
MaxCritBoost int SetMaxCritBoost Cap on the accumulated crit chance.
AltUnitToSpawnName name SetAltUnitToSpawnName Character template spawned instead of the usual one, when set.
UseWeaponRadius bool SetUseWeaponRadius Use the source weapon's radius as the sight radius. Requires a source weapon.
ViewRadius float SetViewRadius Sight radius of the viewer.
UseSourceLocation bool SetUseSourceLocation Place the viewer at the source's location rather than the target's.
InitialDamage int SetInitialDamage Damage dealt when the effect is applied.
WeaponTemplateName name SetWeaponTemplateName Item template equipped on the possessed unit.
Amount int SetAmount Turns taken off each cooldown.
ReduceAll bool SetReduceAll Clear the cooldowns entirely instead of reducing them by Amount.
AbilitiesToTickMode ENameArrayEditMode — X2Effect_ReduceCooldowns
AbilitiesToTick array<name> — Abilities whose cooldowns are reduced. Empty means every ability.
HealAmount int SetHealAmount HP healed per tick.
MaxHealAmount int SetMaxHealAmount Total HP the effect may heal, tracked in HealthRegeneratedName. 0 removes the cap.
HealthRegeneratedName name SetHealthRegeneratedName Unit value that accumulates the HP healed so far, for the MaxHealAmount cap.
EventToTriggerOnHeal name SetEventToTriggerOnHeal Event fired after each heal.
UnitDamageMultiplier float SetUnitDamageMultiplier Multiplier on the damage the detonated object deals to units.
DamageRadiusMultiplier float SetDamageRadiusMultiplier Multiplier on the detonation's damage radius.
DamageTypesToRemoveMode ENameArrayEditMode — X2Effect_RemoveEffectsByDamageType
DamageTypesToRemove array<name> — Effects carrying any of these damage types are removed.
UseAllPointsWithAbilitiesMode ENameArrayEditMode — X2Effect_ReserveOverwatchPoints
UseAllPointsWithAbilities array<name> — Abilities that, when the unit has any of them, reserve as many points as were spent instead of NumPoints.
NumActions int SetNumActions Number of behavior tree actions the unit runs.
BehaviorTreeName name SetBehaviorTreeName Behavior tree run on the unit.
InitFromPlayer bool SetInitFromPlayer Reset the behavior tree variables on each run as if the player turn were starting.
SetActionPointCount int SetSetActionPointCount Standard action points given to the unit before the tree runs.
ShatteredTargetValueName Name SetShatteredTargetValueName Unit value holding the object ID of the unit that shattered the target.
UnitValueToRead name SetUnitValueToRead Unit value read to find how much health to steal.
DestructibleArchetype string SetDestructibleArchetype Archetype path of the destructible actor spawned.
DestroyOnRemoval bool SetDestroyOnRemoval Destroy the spawned actor when the effect is removed.
TargetableBySpawnedTeamOnly bool SetTargetableBySpawnedTeamOnly Only the team that spawned the actor can target it.
AnimationName name SetAnimationName Reanimation animation played on the corpse.
StartAnimationMinDelaySec float SetStartAnimationMinDelaySec Shortest delay, in seconds, before the reanimation animation starts.
StartAnimationMaxDelaySec float SetStartAnimationMaxDelaySec Longest delay, in seconds, before the reanimation animation starts.
ShadowbindUnconciousCheckName name SetShadowbindUnconciousCheckName Unit value checked to tell whether the shadowbound unit was unconscious.
UnitToSpawnName name SetUnitToSpawnName Character template of the unit spawned.
ClearTileBlockedByTargetUnitFlag bool SetClearTileBlockedByTargetUnitFlag Spawn on the target's own tile.
CopyTargetAppearance bool SetCopyTargetAppearance Give the spawned unit the target's appearance. Takes precedence over CopySourceAppearance.
CopySourceAppearance bool SetCopySourceAppearance Give the spawned unit the source's appearance.
KnockbackAffectsSpawnLocation bool SetKnockbackAffectsSpawnLocation Spawn where the target ended up after knockback rather than where it was hit.
AddToSourceGroup bool SetAddToSourceGroup Put the spawned unit in the source's AI group.
CopyReanimatedFromUnit bool SetCopyReanimatedFromUnit Copy the reanimated unit's inventory and abilities too, not just its appearance.
CopyReanimatedStatsFromUnit bool SetCopyReanimatedStatsFromUnit Copy the reanimated unit's stats.
SetProcessedScamperAs bool SetSetProcessedScamperAs Mark the spawned unit's group as having already scampered, so it does not reveal and scamper on sight.
BecomeUnspotted bool SetBecomeUnspotted Mark the unit as unspotted instead of spotted.
StunStartAnim name SetStunStartAnim Animation played when stasis starts.
StunStopAnim name SetStunStopAnim Animation played when stasis ends.
SkipFlyover bool SetSkipFlyover Skip the flyover text.
StartAnimBlendTime float SetStartAnimBlendTime Blend time, in seconds, into the start animation.
ConcealAmountScalar float SetConcealAmountScalar Multiplier on the base chance of losing super concealment, added to the modifier.
AbilitiesAffectedFilterMode ENameArrayEditMode — X2Effect_SuperConcealModifier
AbilitiesAffectedFilter array<name> — Abilities the modifier applies to. Empty means every ability.
RemoveOnAbilityActivationMode ENameArrayEditMode — X2Effect_SuperConcealModifier
RemoveOnAbilityActivation array<name> — Abilities whose activation removes the effect.
ResumeMissionTimer bool SetResumeMissionTimer Resume the mission timer instead of suspending it.
AimMod int SetAimMod Aim added.
BonusDmgFloat float SetBonusDmgFloat Bonus damage: a flat amount with MODOP_Addition, or a multiplier on the damage with MODOP_Multiplication.
BonusModType EStatModOp SetBonusModType How BonusDmgFloat is applied: MODOP_Addition or MODOP_Multiplication.
WithinTileDistance int SetWithinTileDistance Farthest distance to the target, in tiles, at which the bonus applies.
PrimaryTargetOnly bool SetPrimaryTargetOnly Only apply to the attack's primary target.
BonusDamageTypesMode ENameArrayEditMode — X2Effect_TargetDamageTypeBonus
BonusDamageTypes array<name> — Damage types the bonus applies to.
ImmediateActionPoint name SetImmediateActionPoint Reserve action point given to the target as soon as the effect is applied.
FocusLevelsMode ENameArrayEditMode — X2Effect_TemplarFocus (merged by position: entry N is focus level N)
FocusLevels array<FocusLevelModifiers> — One entry per focus level from level 0: the stat changes, armor mitigation and bonus weapon damage granted at that level. Merge overwrites the level at the same position or appends it.
ApplyAsTarget bool SetApplyAsTarget Apply the modifiers to attacks against the unit rather than attacks it makes.
ConeLength float SetConeLength Length of the marked cone from the source to the target.
ConeEndDiameter float SetConeEndDiameter Diameter of the marked cone at its far end.
PassTargetAsSource bool SetPassTargetAsSource Fire the event with the target as its source.
ActionPointType name SetActionPointType Type of action point added, or removed, at the start of the turn.
ActionPointsRemoved bool SetActionPointsRemoved Remove the action points instead of adding them.
MovingVanishRevealAdditiveAnimName name SetMovingVanishRevealAdditiveAnimName Additive animation played on reveal when the unit is revealed while moving.
DamagePerAction int SetDamagePerAction Damage dealt for each action point stolen.
HealthReturnMod float SetHealthReturnMod Fraction of the damage dealt that is returned to the source as health.
WallBreakingEffectName name SetWallBreakingEffectName Name of the effect on the unit that grants wall breaking.
CenterTile bool SetCenterTile Apply the world effect to the centre tile only.
StatTypesToRestoreMode ENameArrayEditMode — X2Effect_PersistentStatChangeRestoreDefault
StatTypesToRestore array<ECharStatType> — Stats reset to their default value while the effect lasts.
ApplyDamageModConditions array<ConditionEdit> — X2Effect_ConditionalDamageModifier
LethalDamageConditions array<ConditionEdit> — X2Effect_LethalWeaponDamage
ToHitConditions array<ConditionEdit> — X2Effect_ToHitModifier
EffectHitModifiers array<EffectHitModifier> — Replace-only: when non-empty, replaces X2Effect_ToHitModifier.Modifiers entirely (EffectHitModifier entries, incl. MatchToHit class ref via qualified name).
CustomProperties array<AECustomProperty> — Free-form key/value pairs for bridge-mod editors; ignored by the built-in editors.

ToHitCalcEdit

Field Type Guard Description
Class string — Optional. Omitted = edit the existing calc in place. Set = target/instantiate that class, e.g. X2AbilityToHitCalc_StandardAim. Bare names are auto-prefixed with XComGame..
HitModifiers array<ShotModifierInfo> — Replace-only: when non-empty, replaces the calc's always-on HitModifiers array entirely (ShotModifierInfo: ModType, Value, Reason).
IndirectFire bool SetIndirectFire Treats the attack as indirect, like a grenade: it always hits, though crit, dodge and armour mitigation still apply.
MeleeAttack bool SetMeleeAttack Treats the attack as melee, which ignores cover and applies the intrinsic melee hit bonus.
ReactionFire bool SetReactionFire Treats the attack as reaction fire, which takes the reaction penalty and forgoes the flanking bonus.
AllowCrit bool SetAllowCrit Whether crits are built into the hit table at all. Turning it off makes the ability incapable of critting.
HitsAreCrits bool SetHitsAreCrits Converts every successful hit into a crit after the roll is made.
MultiTargetOnly bool SetMultiTargetOnly Guarantees success when the ability has no primary target, for abilities that only ever hit multi-targets.
OnlyMultiHitWithSuccess bool SetOnlyMultiHitWithSuccess Multi-target hits only land if the roll succeeded, as with Faceoff.
GuaranteedHit bool SetGuaranteedHit Always hits, skipping the normal hit modifiers. Armour mitigation still rolls.
IgnoreCoverBonus bool SetIgnoreCoverBonus Ignores the target's high and low cover bonuses.
FinalMultiplier float SetFinalMultiplier Scales the final hit chance after everything else. Appears in the shot breakdown attributed to the ability.
BuiltInHitMod int SetBuiltInHitMod Flat aim modifier the ability always carries.
BuiltInCritMod int SetBuiltInCritMod Flat crit modifier the ability always carries.
PercentToHit int SetPercentToHit Flat percentage chance to hit, ignoring aim entirely. For abilities whose odds are fixed rather than calculated.
NoGameStateOnMiss bool SetNoGameStateOnMiss Produces no game state at all on a miss, so nothing is recorded or visualised.
FocusMultiplier int SetFocusMultiplier Percentage points added to the hit chance per point of Templar focus.
PercentToHitInBuddyZone int SetPercentToHitInBuddyZone Replaces PercentToHit when the target is inside the buddy zone.
AlwaysSucceed bool SetAlwaysSucceed Makes the hack always succeed.
StatToRoll ECharStatType SetStatToRoll Which unit stat the roll is made against.
BaseChance int SetBaseChance Base percentage before the stat is taken into account.
BaseValue int SetBaseValue Base value the stat contest is measured against.
AttackerStat ECharStatType SetAttackerStat Attacker's stat in a unit-versus-unit contest.
DefenderStat ECharStatType SetDefenderStat Defender's stat in a unit-versus-unit contest.
CustomProperties array<AECustomProperty> — Free-form key/value pairs for bridge-mod editors; ignored by the built-in editors.

TargetStyleEdit

Field Type Guard Description
Class string — Optional. Omitted = edit the existing style in place. Set = target/instantiate that class, e.g. X2AbilityTarget_Cursor. Bare names are auto-prefixed with XComGame..
OnlyIncludeTargetsInsideWeaponRange bool SetOnlyIncludeTargetsInsideWeaponRange Excludes targets beyond the weapon's range from selection.
AllowInteractiveObjects bool SetAllowInteractiveObjects Lets the ability target interactive objects such as doors and consoles.
AllowDestructibleObjects bool SetAllowDestructibleObjects Lets the ability target destructible scenery.
IncludeSelf bool SetIncludeSelf Lets the user target itself.
ShowAOE bool SetShowAOE Draws the area-of-effect preview while aiming.
RestrictToWeaponRange bool SetRestrictToWeaponRange Limits the cursor to the weapon's range.
IncreaseWeaponRange int SetIncreaseWeaponRange Extra range in tiles beyond the weapon's own, when restricted to weapon range.
RestrictToSquadsightRange bool SetRestrictToSquadsightRange Limits the cursor to squadsight range rather than the weapon's.
FixedAbilityRange int SetFixedAbilityRange Fixed range in tiles, ignoring the weapon entirely.
MovementRangeAdjustment int SetMovementRangeAdjustment Tiles added to or removed from how far the unit may move to reach a melee target.
CustomProperties array<AECustomProperty> — Free-form key/value pairs for bridge-mod editors; ignored by the built-in editors.

MultiTargetStyleEdit

Field Type Guard Description
Class string — Optional. Omitted = edit the existing style in place. Set = target/instantiate that class, e.g. X2AbilityMultiTarget_Radius. Bare names are auto-prefixed with XComGame..
AllowSameTarget bool SetAllowSameTarget Lets the primary target also be picked up as a multi-target.
UseSourceWeaponLocation bool SetUseSourceWeaponLocation Measures the area from the shooter's weapon rather than the unit.
NumTargetsRequired int SetNumTargetsRequired Minimum targets that must be in the area for the ability to be usable.
UseWeaponRadius bool SetUseWeaponRadius Takes the radius from the weapon. TargetRadius is then added on top.
UseWeaponBlockingCoverFlag bool SetUseWeaponBlockingCoverFlag Takes the weapon's setting for whether cover blocks the area.
IgnoreBlockingCover bool SetIgnoreBlockingCover Lets the area pass through cover that would otherwise block it.
TargetRadius float SetTargetRadius Radius of the area in metres. Added to the weapon's radius when UseWeaponRadius is set.
TargetCoveragePercentage float SetTargetCoveragePercentage How much of a tile the area must cover before that tile counts as affected.
AddPrimaryTargetAsMultiTarget bool SetAddPrimaryTargetAsMultiTarget Moves the primary target into the multi-target list, so it is treated as part of the area rather than separately.
AllowDeadMultiTargetUnits bool SetAllowDeadMultiTargetUnits Includes already-dead units in the area.
ExcludeSelfAsTargetIfWithinRadius bool SetExcludeSelfAsTargetIfWithinRadius Leaves the user out of its own area of effect.
AbilityBonusRadiiMode ENameArrayEditMode — merged by RequiredAbility
AbilityBonusRadii array<AbilityGrantedBonusRadius> — Extra radius granted when the unit has a particular ability, merged by RequiredAbility. Lets a perk widen the blast without a separate ability.
ConeEndDiameter float SetConeEndDiameter Width of the cone at its far end, in metres.
ConeLength float SetConeLength How far the cone reaches, in metres.
UseWeaponRangeForLength bool SetUseWeaponRangeForLength Takes the cone's length from the weapon's range instead of ConeLength.
LockShooterZ bool SetLockShooterZ Restricts the cone to tiles at the shooter's own height, so it does not spread up or down floors.
AbilityBonusConesMode ENameArrayEditMode — merged by RequiredAbility
AbilityBonusCones array<AbilityGrantedBonusCone> — Extra cone length and width granted by a particular ability, merged by RequiredAbility.
TileWidthExtension int SetTileWidthExtension Extra tiles of width added to the line.
SightRangeLimited bool SetSightRangeLimited Stops the line at the limit of sight.
AbilityBonusWidthsMode ENameArrayEditMode — merged by RequiredAbility
AbilityBonusWidths array<AbilityGrantedBonusWidth> — Extra line width granted by a particular ability, merged by RequiredAbility.
TargetHeight float SetTargetHeight Height of the cylinder in metres.
UseOnlyGroundTiles bool SetUseOnlyGroundTiles Restricts the cylinder to ground-level tiles.
NumExtraShots int SetNumExtraShots Additional shots fired at the same target beyond the first.
OnlyAllyOfType name SetOnlyAllyOfType Restricts targeting to allies of this character type.
AcceptFriendlyUnits bool SetAcceptFriendlyUnits Includes friendly units.
AcceptEnemyUnits bool SetAcceptEnemyUnits Includes hostile units.
OnlyAcceptRoboticUnits bool SetOnlyAcceptRoboticUnits Restricts targeting to robotic units.
OnlyAcceptAlienUnits bool SetOnlyAcceptAlienUnits Restricts targeting to aliens.
OnlyAcceptAdventUnits bool SetOnlyAcceptAdventUnits Restricts targeting to ADVENT units.
RandomlySelectOne bool SetRandomlySelectOne Picks a single target at random from everything that qualified.
DontAcceptNeutralUnits bool SetDontAcceptNeutralUnits Leaves civilians and other neutrals out.
RandomChance int SetRandomChance Percentage chance each qualifying unit is actually included.
UseAbilitySourceAsPrimaryTarget bool SetUseAbilitySourceAsPrimaryTarget Treats the ability's user as the primary target.
ClaymoreEnvironmentalDamage int SetClaymoreEnvironmentalDamage Environmental damage the claymore blast does to scenery.
CustomProperties array<AECustomProperty> — Free-form key/value pairs for bridge-mod editors; ignored by the built-in editors.

TriggerEdit

Field Type Guard Description
Class string — Trigger class to target/instantiate, e.g. X2AbilityTrigger_UnitPostBeginPlay. Bare names are auto-prefixed with XComGame..
Mode EArrayEditMode — Per-entry edit mode (EArrayEditMode). Defaults to the enum's first value, which clears the existing array.
Priority int SetPriority Order this trigger runs in relative to others on the same event. Lower runs first.
ListenerEventID name SetListenerEventID Event this listener waits for. The handling function can only be assigned in code, so a listener added purely from config never fires - editing an existing one does.
ListenerDeferral EventListenerDeferral SetListenerDeferral When the listener runs relative to the event being processed.
ListenerFilter AbilityEventFilter SetListenerFilter Which units the event is accepted from, such as only the source or only the target.
ListenerPriority int SetListenerPriority Order among listeners for the same event.
MethodName name SetMethodName Method on the observer class that the trigger calls.
EventObserverClass string SetEventObserverClass Class that observes the event. Loaded by name at runtime.
RulerActionExclusions_XComEffectsMode ENameArrayEditMode — X2AbilityTrigger_DLC_Day60OnAbilityActivated (Alien Hunters, via the AbilityEditorAlienHunters bridge)
RulerActionExclusions_XComEffects array<name> — Effects on the acting XCOM unit that stop the ruler from reacting.
RulerActionExclusions_AbilityNamesMode ENameArrayEditMode — —
RulerActionExclusions_AbilityNames array<name> — Abilities whose activation never triggers a ruler reaction.
CustomProperties array<AECustomProperty> — Free-form key/value pairs for bridge-mod editors; ignored by the built-in editors.

AbilityEventListenerEdit

Field Type Guard Description
EventID name — Matches the existing Template.AbilityEventListeners entry to edit. Entries cannot be added (their EventFn delegate is code-only).
Deferral EventListenerDeferral SetDeferral —
Filter AbilityEventFilter SetFilter —
Priority int SetPriority —

ExtraEditorRegistration

Field Type Guard Description
EditorClass string — —
Priority int — —

AbilityEdit

Field Type Guard Description
Ability name — Required. Template name of the ability to edit, or - with Create=true - to create (e.g. SwordSlice).
Create bool — Create the ability when no template of that name exists, then apply the rest of the entry to it. If it already exists, a warning is logged and the entry is applied as a normal edit.
CloneFrom name — With Create=true: existing ability to deep-copy as the starting point. Its costs, cooldown, charges, effects (including their ApplyOnTick and condition lists), conditions, triggers and styles are copied, not shared, so editing the copy never changes the original. Empty = blank template built by Preset. If the source does not exist, nothing is created.
Preset EAbilityCreatePreset — Blank creation only (Create=true, no CloneFrom): which standard game-state and visualization functions the new ability runs (EAbilityCreatePreset). Ignored when CloneFrom is set.
Hostility EAbilityHostility SetHostility Whether the ability is offensive, defensive or neutral. Drives AI targeting and the reticle colour. One of eHostility_Offensive, eHostility_Defensive, eHostility_Neutral.
ConcealmentRule EConcealmentRule SetConcealmentRule What happens to the shooter's concealment when the ability is used.
AdditionalAbilities array<name> — —
AdditionalAbilitiesMode ENameArrayEditMode — —
PrerequisiteAbilities array<name> — —
PrerequisiteAbilitiesMode ENameArrayEditMode — —
OverrideAbilities array<name> — —
OverrideAbilitiesMode ENameArrayEditMode — —
Cooldown CooldownEdit — —
CostMode EAbilityCostEditMode — —
Costs array<CostEdit> — —
Charges ChargesEdit — —
Effects array<EffectEdit> — —
ShooterConditions array<ConditionEdit> — Template-level condition arrays
TargetConditions array<ConditionEdit> — —
MultiTargetConditions array<ConditionEdit> — —
ToHitCalc ToHitCalcEdit — To-hit calc slots
ToHitOwnerOnMissCalc ToHitCalcEdit — —
TargetStyle TargetStyleEdit — Targeting style slots
MultiTargetStyle MultiTargetStyleEdit — —
Triggers array<TriggerEdit> — Trigger array + event listener edits
AbilityEventListenerEdits array<AbilityEventListenerEdit> — —
CrossClassEligible bool SetCrossClassEligible —
IsPassive bool SetIsPassive —
UniqueSource bool SetUniqueSource —
AllowedByDefault bool SetAllowedByDefault —
TriggerChance float SetTriggerChance —
SuperConcealmentLoss int SetSuperConcealmentLoss —
ChosenActivationIncreasePerUse int SetChosenActivationIncreasePerUse —
LostSpawnIncreasePerUse int SetLostSpawnIncreasePerUse —
AbilityPointCost int SetAbilityPointCost —
DefaultSourceItemSlot EInventorySlot SetDefaultSourceItemSlot —
UseThrownGrenadeEffects bool SetUseThrownGrenadeEffects —
UseLaunchedGrenadeEffects bool SetUseLaunchedGrenadeEffects —
AllowFreeFireWeaponUpgrade bool SetAllowFreeFireWeaponUpgrade —
AllowAmmoEffects bool SetAllowAmmoEffects —
AllowBonusWeaponEffects bool SetAllowBonusWeaponEffects —
SilentAbility bool SetSilentAbility —
CannotTeleport bool SetCannotTeleport —
PreventsTargetTeleport bool SetPreventsTargetTeleport —
FinalizeAbilityName name SetFinalizeAbilityName —
CancelAbilityName name SetCancelAbilityName —
TwoTurnAttackAbility name SetTwoTurnAttackAbility —
IconImage string SetIconImage —
AbilityIconColor string SetAbilityIconColor —
AbilityIconBehaviorHUD EAbilityIconBehavior SetAbilityIconBehaviorHUD —
ShotHUDPriority int SetShotHUDPriority —
DisplayInUITooltip bool SetDisplayInUITooltip —
DisplayInUITacticalText bool SetDisplayInUITacticalText —
DontDisplayInAbilitySummary bool SetDontDisplayInAbilitySummary —
DisplayTargetHitChance bool SetDisplayTargetHitChance —
HideOnClassUnlock bool SetHideOnClassUnlock —
AbilitySourceName name SetAbilitySourceName —
LimitTargetIcons bool SetLimitTargetIcons —
BypassAbilityConfirm bool SetBypassAbilityConfirm —
UseAmmoAsChargesForHUD bool SetUseAmmoAsChargesForHUD —
AmmoAsChargesDivisor int SetAmmoAsChargesDivisor —
FriendlyFireWarning bool SetFriendlyFireWarning —
FriendlyFireWarningRobotsOnly bool SetFriendlyFireWarningRobotsOnly —
CommanderAbility bool SetCommanderAbility —
FriendlyName string SetFriendlyName Name shown in the UI. Short text only: the ini cannot carry quotes, commas or parentheses. For prose use a [MyAbility X2AbilityTemplate] section in XComGame.int.
LongDescription string SetLongDescription Description shown in the ability tooltip and on the promotion screen. Same limits as FriendlyName.
HelpText string SetHelpText Short help line shown in the tactical HUD tooltip. Same limits as FriendlyName.
FlyOverText string SetFlyOverText Text of the flyover shown when the ability activates. Same limits as FriendlyName.
TargetingMethod string SetTargetingMethod Qualified class path of the targeting method, e.g. XComGame.X2TargetingMethod_OverTheShoulder. The class default is X2TargetingMethod_TopDown.
CinescriptCameraType string SetCinescriptCameraType Cinescript camera played when the ability is visualized, e.g. StandardGunFiring (see DefaultCameras.ini).
AbilityConfirmSound string SetAbilityConfirmSound Sound played when the ability is confirmed in the HUD, e.g. TacticalUI_SwordConfirm.
ActivationSpeech name SetActivationSpeech Speech line played when the ability activates.
CustomFireAnim name SetCustomFireAnim Animation played instead of the weapon's normal fire animation.
SkipFireAction bool SetSkipFireAction Do not exit cover, fire and re-enter cover when the ability activates.
ShowActivation bool SetShowActivation Show the ability name over the activating unit when it is used.
SkipMoveStop bool SetSkipMoveStop Move-then-act abilities only: do not play the stop-moving animation before acting.
FrameEvenWhenUnitIsHidden bool SetFrameEvenWhenUnitIsHidden Frame the camera on the source unit when the ability is used even if the unit is hidden in the fog.
AssociatedPassivesMode ENameArrayEditMode — --- Template name arrays ---
AssociatedPassives array<name> — —
PostActivationEventsMode ENameArrayEditMode — —
PostActivationEvents array<name> — —
HideIfAvailableMode ENameArrayEditMode — —
HideIfAvailable array<name> — —