ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

VHPScan

From ModEnc
Revision as of 12:28, 15 April 2020 by TAK02 (talk | contribs) (VHP=VirtualHitPoints?Y not...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
Flag: VHPScan
File(s): rules(md).ini
Values: None, Normal, Strong
Default: None
Applicable to: InfantryTypes, VehicleTypes, AircraftTypes, BuildingTypes


This flag influences the way the unit in question chooses its targets when it has not explicitly been assigned a target.

Each object on the map has an internal "projected health" independent from its current health. This projected health gets reduced by the estimated amount of damage the unit will likely take on impact every time a projectile not set to inaccurate is launched towards the unit. This provides attackers currently automatically seeking targets with information about whether it is efficient to attack this unit or not (e.g. if two projectiles are currently in the air which will kill the unit once they impact, there is no reason a new attacker should bother picking the same unit as its next target - it will be dead in a moment anyway).

The projected health cannot go below -30 hitpoints, and it will increase every 4 frames until it equals the real health. Repairing a unit will set the projected health to the current health.

Values

  • None
Ignores the projected health when looking for a new target.
  • Normal
Values targets with a projected health of less than half their Strength twice as high, and targets with a projected health of zero or less half. I.e. take the chance to finish off a unit quickly.
In other words: Focus on units that are projected almost dead.
  • Strong
Ignores all targets whose projected health is lower or equal to zero, that is whose deaths are imminent.
In other words: Attacks everything projected alive.

Please keep in mind that this flag is only part of the entire system that is responsible for automatic targeting.

Examples

Assuming Apocalypse Tanks had VHPScan=Strong set.

3 Grizzlies are attacked by 3 Apocalypse Tanks. 2 Apos attack 1 Grizzly, the other Apo attacks another one; one Grizzly stays unattacked. Due to prior damage on the second Grizzly, the single Apo kills his target first. He now has to scan for new targets. At this point, the other two Apos each fire a shot towards their Grizzly. Each time a bullet leaves one of their barrels, the Grizzly's projected health gets reduced by the amount of damage the bullet will likely cause once it impacts. As the bullets fly towards the Grizzly, the single Apo checks its projected health. He sees that the Grizzly is projected to be dead once all bullets impacted, and chooses the unattacked Grizzly instead.

Assuming Grizzly Tanks had VHPScan=Normal set.

2 Grizzlies attack 3 Flak Tracks. Each picks one, leaving one unattacked and at full health. The Grizzlies' shells do extensive damage to the attacked Flak Tracks. As the two Flak Tracks are below half health and another projectile is on the way to destroy the first one, a third Grizzly enters the combat zone. It queries the Flak Tracks' projected health, and realizes that two of them have less than half their strength and one will be destroyed within a split second. It chooses to attack the damaged one that is not destroyed when the projectile impacts.

As you can see, VHPScan helps uncontrolled units to pick their targets more efficiently, leading to a better distribution of firepower.

Notes

This flag is only set on the Patriot Missile ([NASAM]) in RA2 and YR; it is set to strong.

Meaning of "VHP"

Since the source comments and variable names used by Westwood are unfortunately unavailable, the original meaning of "VHP" is unknown at this point; theories are listed below.

  • V...HealthProjection
    • ValueHealthProjection
  • V...HitPoints
    • VirtualHitPoints