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> |
— | — |