Electromagnetic Pulse (EMP)

EMP disables susceptible units and buildings along with their special functions and makes them vulnerable to attacks. EMP can affect units and buildings in various ways:

  • Primary effect: units will not respond to any commands. They will stop moving and will not attack anything.
  • Hovering units (such as the Robot Tank) will land.
  • Units display an optional sparkles animation
  • Voxel-based units are darkened (SHP-based units are not).
  • Buildings that can undeploy into vehicles (e.g. MCVs) still can, but the resulting vehicle will remain deactivated until the effect wears off.
  • Aircraft will immediately crash.
  • Power plants cease to produce power.
  • Factories will stop working.
  • Base defenses will not be able to fire their weapon.
  • Gap Generators will stop emitting radar gap.
  • Laser Fence Posts will stop emitting laser fences.
  • Robot Control Centers will stop working.
  • Super weapon buildings will shut down and the super weapons themselves will stop charging, if they have [SuperWeapon]►IsPowered=yes set.
  • Radar buildings will stop providing radar.
  • SpySat buildings will stop to reveal the map.
  • Units that spawn other units will cease to do so. If the spawner unit has launched any aircraft then the aircraft will immediately crash.
  • Slave Miner slaves will stop working.
  • Units that are in their unloading state (such as ore harvesters depositing ore or Siege Choppers transforming) will only become deactivated once they have finished unloading.
  • Harvesters that were in the middle of harvesting when hit by EMP will resume harvesting after EMP wears off.

New in version 0.1.

Defining EMP Weapons

Tiberian Sun used the weapon’s Damage tag to determine how long the EMP effect should last. Ares, however, uses two new tags to provide greater control. The weapon’s Damage will be delivered independently from EMP, so a weapon can both damage and deactivate its target. Tiberian Sun also used the tag EMEffect=yes, which is not used in Ares.

The following two tags are used together to determine how long (in frames) the affected units will be affected by EMP for.

[Warhead]►EMP.Duration= (integer - frames)
Defaults to 0.
[Warhead]►EMP.Cap= (integer - frames)
Defaults to -1.

The game keeps track of how much longer each unit will remain deactivated. Each unit essentially has a hidden EMP counter that counts down frame by frame until it reaches zero, at which point the unit will re-activate. This counter is what gets modified by EMP warheads.

A unit does not get affected by EMP if Verses is equal to 0%, otherwise the target is endowed with the full effect.

Quickstart

If you want a warhead to EMP a target for ten seconds, set EMP.Duration=150 on the warhead.

Damaging EMP

With a positive EMP.Duration the targets are going to be deactivated.

  • EMP.Cap is greater than zero.

    Makes this EMP effect stackable, but capped. The target’s EMP counter is increased by EMP.Duration up to but not exceeding EMP.Cap. If the target’s EMP counter is already greater than EMP.Cap (e.g. caused by some other EMP weapon) then it will not be reduced.

    Examples:

    • EMP counter is 0, EMP.Duration=10, EMP.Cap=20. Result: EMP counter will be set to 10, because the cap is not reached yet.
    • EMP counter is 15, EMP.Duration=10, EMP.Cap=20. Result: EMP counter will be set to 20. This weapon will not go beyond the cap.
    • EMP counter is 60, EMP.Duration=10, EMP.Cap=20. EMP counter will remain at 60, because it was higher than the cap already.
  • EMP.Cap=0 Makes this EMP effect stackable, but uncapped. The target’s EMP counter is incremented by EMP.Duration, without limit. This is Ares legacy behavior (before the EMP.Cap tag was added).

    Example:

    • EMP counter is 25, EMP.Duration=10. Result: EMP counter will be set to 35. Because there is no cap, firing this warhead will always add 10.
  • EMP.Cap=-1 The target’s EMP counter is set to this absolute number of frames specified by EMP.Duration, unless the target’s EMP counter is already greater than this.

    Examples:

    • EMP counter is 5, EMP.Duration=10. Result: EMP counter will be set to the absolute value of 10.
    • EMP counter is 20, EMP.Duration=10. EMP counter will remain at 20, because it was already higher.

Healing EMP

This can be used for re-activating deactivated allied units. With a negative EMP.Duration, the EMP counter is reduced by this number of frames.

  • EMP.Cap=-1 The target’s EMP counter is reduced by the number of frames specified by EMP.Duration.

    Examples:

    • EMP counter is 50, EMP.Duration=-10. Result: EMP counter will be set to 40.
    • EMP counter is 7, EMP.Duration=-10. Result: EMP counter will be set to zero and the unit will re-activate, because EMP effect was removed completely.
  • EMP.Cap is greater than zero. The target’s EMP counter is reduced by the number of frames specified by EMP.Duration. If this value is still greater than EMP.Cap then the EMP counter is reduced further to equal EMP.Cap.

    Examples:

    • EMP counter is 50, EMP.Duration=-10, EMP.Cap=70. Result: EMP counter will be set to 40.
    • EMP counter is 50, EMP.Duration=-10, EMP.Cap=20. Result: EMP counter will be set to 20. It is reduced to the value of the cap.
    • EMP counter is 7, EMP.Duration=-10. Result: EMP counter will be set to zero and the unit will re-activate. Even without the cap the unit would reactivate.
  • EMP.Cap=0 EMP.Duration does not matter because the EMP counter will be set to zero by the cap and the unit will re-activate immediately. This is a special case of the description above.

EMP Immunity

There are several ways to create units that are not affected by EMP weapons.

[TechnoType]►ImmuneToEMP= (boolean)

The above tag specifies whether or not the TechnoType is immune to the effects of EMP. The default immunity status is determined based on the following rules:

  • BuildingTypes: Defaults to no if Powered=yes and Power is negative. Defaults to no if providing one or more of the following special functions:

    • Radar
    • Super weapons (SuperWeapon and SuperWeapon2 only)
    • Undeploy into a vehicle (e.g. Construction Yards)
    • Powers vehicles (e.g. Robot Control Centre)
    • Gap Generator
    • Sensors
    • Laser Fence Posts

    Defaults to yes otherwise.

  • InfantryTypes: Defaults to no if Cyborg=yes, to yes otherwise.

  • VehicleTypes and AircraftTypes: Defaults to yes if Organic=yes, to no otherwise.

EMP immunity can also be granted using the new veteran/elite ability EMPIMMUNE. Set VeteranAbilities or EliteAbilities on the TechnoType.

EMP immunity also respects TypeImmune on the TechnoType, as well as AffectsAllies and AffectsEnemies on the warhead.

Modifying the Effect Duration

Instead of either affecting an object fully or not at all, Ares allows to also reduce or increase the duration of EMP for each type. A high tech tank could thus stay deactivated longer than a normal tank, while a low tech jeep could reactivate sooner than the tank.

[TechnoType]►EMP.Modifier= (float - multiplier)
If the EMP effect duration is positive it will be multiplied by this factor. You can create units that are more or less prone to the Electromagnetic Pulse. Defaults to 100%.

Destructive EMP

This setting allows objects to be destroyed by EMP rather than just being deactivated temporarily. This is to bridge a difference between flying aircraft, which is destroyed by EMP instantaneously, and other flying objects like the Siege Chopper, Kirov and Yuri’s Disk, which are not because they are no AircraftTypes.

You can create units that only take a certain amount of EMP before failing completely, as well as BalloonHover=yes or JumpJet=yes units that either crash just like aircraft when in air, or get deactivated like ground units and just stay alive.

[TechnoType]►EMP.Threshold= (enumeration - one of yes|no|inair *or* integer - frames)

Specifies whether or not an object of this type will be destroyed by EMP weapons. Use an integer to set the exact EMP duration this unit has to exceed to get destroyed.

  • Positive values will destroy the unit if the number of EMP frames exceeds this value. yes equals 1, meaning immediately.
  • Negative values will destroy the unit only if is currently in-air. inair equals -1, meaning immediately if in air.
  • A value of zero will disable this feature. no equals 0.

Defaults to inair, destroying all units if they are in the air the instant the EMP hits.

Note

Parachuting units do not count as being in the air. Only exceeding their positive threshold (if set) will kill them.

For example, using inair causes a deployed Siege Chopper not to be destroyed. Using -100 will crash the Siege Chopper only if it is in-air and it accumulates an EMP duration of more than 100 frames.

New in version 0.2.

Sparkles Animation

When a unit or building is under the effect of EMP, it can display an optional animation.

[TechnoType]►EMP.Sparkles= (animation)
The animation played over an object of this type disabled by EMP as long as the effect lasts. When the effect subsides, the animation will finish playing and then disappear. Use none to disable the animation. Defaults to [General]►EMPulseSparkles.

This animation can be overridden by the warhead that initiates the EMP effect.

[Warhead]►EMP.Sparkles= (animation)
If set, overrides the default animation to be played on the unit or structure under EMP. This only applies if the object does not already have an EMP animation.

Note

The file emp_fx01.shp that comes with Yuri’s Revenge and which is referenced by default by [General]►EMPulseSparkles is still in the Tiberian Sun palette and needs to be converted.

New in version 0.A.