AttachEffect

The AttachEffect system was designed as a spiritual successor to NPatch‘s Upgrade logic, but it was aimed to not be limited only to superweapons. AttachEffect tags can be applied to both the Big Four (all TechnoTypes) and Warheads, unless stated otherwise.

Note

The state of AttachEffects on units does not update while in a transport, while under a temporal effect and so on. In this matter, they behave like IvanBombs.

Quickstart

To create a healing/repairing or residual damage effect, attach an animation with appropriate Warhead and Damage settings. This will affect the target unit for the entire duration of the AttachEffect, applying damage using the animation damage mechanism.

[Section]►AttachEffect.Animation= (AnimationType)

The optional animation to play on the affected unit. The animation is attached to the unit and moves along with it. Defaults to none.

The animation is removed when the unit is cloaked. The animation is recreated once the unit is uncloaked again. While cloaked, the AttachEffect is still applied, but the effects caused by the animation are not.

Note

The animation always loops until the effect subsides. LoopCount is ignored.

[Section]►AttachEffect.Duration= (integer - frames)
The duration of the effect in frames. Use -1 for infinite duration. Defaults to 0.
[Section]►AttachEffect.TemporalHidesAnim= (boolean)
Whether a TechnoType with this type of AttachEffect applied on it should remove the animation while being warped out by a Temporal=yes weapon. Otherwise the animation stays active and unaffected by the temporal weapon. Defaults to no.
[Section]►AttachEffect.SpeedMultiplier= (float - multiplier)
Speed bonus while the AttachEffect lasts. Defaults to 1.0.
[Section]►AttachEffect.ArmorMultiplier= (float - multiplier)
Armor bonus while the AttachEffect lasts. Defaults to 1.0.
[Section]►AttachEffect.FirepowerMultiplier= (float - multiplier)

Firepower bonus while the AttachEffect lasts. Defaults to 1.0.

Note

Mind that this works fundamentally differently from the other effects, which are applied the instant they are needed (like a firepower for a bullet impacting) as long as the effect is active: the reload time is computed once when the reloading starts, but the modified reloading time may take longer than the attached effect lasts.

For instance, a unit that was struck with an effect slowing down the ROF extremely might thus render the unit unable to fire way longer than the AttachEffect is active, because the reload timer will not speed up again when the effect expires.

[Section]►AttachEffect.ROFMultiplier= (float - multiplier)
Rate of fire bonus while the AttachEffect lasts. Defaults to 1.0.
[Section]►AttachEffect.Cloakable= (boolean)
Whether the unit gains cloaking ability while the AttachEffect lasts. Defaults to no.
[Section]►AttachEffect.ForceDecloak= (boolean)
Whether affected units will be forced to decloak when the AttachEffect gets applied (useful for non-damaging anim-based AttachEffects). Defaults to no.
[Section]►AttachEffect.DiscardOnEntry= (boolean)
Whether the AttachEffect will be removed when the affected unit is removed from the map (entering a building or another unit). Defaults to no.
[Section]►AttachEffect.PenetratesIronCurtain= (boolean)
Whether the AttachEffect can attach to a unit or structure under the influence of an Iron Curtain or Force Shield. Defaults to no.

The following tags are valid on TechnoTypes only:

[TechnoType]►AttachEffect.Delay= (integer - frames)
Defines how many frames after the previous effect subsides the AttachEffect is recreated on the unit itself. Negative values do not renew the effect. Defaults to 0 (immediately).
[TechnoType]►AttachEffect.InitialDelay= (integer - frames)
Defines the delay before creating the AttachEffect for the very first time. Subsequent delays are defined by AttachEffect.Delay. Use 0 to create effect immediately. Defaults to 0.

The following tags are valid on Warheads only:

[Warhead]►AttachEffect.Cumulative= (boolean)
If set to yes, an unlimited amount of this type of AttachEffect from this warhead can be applied to the target (it is stackable). If no, only one instance of this type of the AttachEffect can be on a single unit and that one instance gets updated if it is to be applied again. Defaults to no.
[Warhead]►AttachEffect.AnimResetOnReapply= (boolean)
If this type of AttachEffect is not stackable, enabling this flag resets the animation on every time of reapplying. Defaults to no.

New in version 0.4.

Changed in version 2.0.