Skip to content

Target selection and threat rating

How objects pick targets on their own, which candidates they reject, and how per-type threat coefficients score the rest.

Features & systemsCombat & weaponsCombat & targeting

Changed in 0.2.0

Anyone already writing mission sections in a rules file can skip to the five stages.

A mission is what an object is doing at this moment: guarding, moving toward a destination, hunting, harvesting, selling itself. Every object on the map is in exactly one, and the mission page lists them all. A player order, a team script, a trigger action and the engine’s idle handling all work by putting an object into a mission. Nothing below depends on how the object got there.

Each mission has a rules section named after it, such as [Guard], [Area Guard], [Hunt] or [Harmless]. Its settings apply to every object in that mission, whatever the object’s type, so a mission section changes a behavior for all of them at once. A mission with no section keeps the engine’s values.

Four mission settings affect the decisions on this page and on engineers, capture and sabotage.

SettingWhat it decides for an object in that mission
NoThreatAt yes, no other object’s scan will accept it as a candidate. The candidate’s mission decides this, not the scanning object’s
RetaliateAt no, damage never makes it turn on its attacker
ScatterAt no, the object does not scatter from a threat. On this page, that stops an object refused retaliation from stepping aside
RateThe fraction of a minute between one servicing pass of the mission and the next

Written out, one mission section looks like this.

rules.ini
[Harmless]
NoThreat=yes
Retaliate=no
Rate=.5

An object in Harmless is passed over by every scan, does not turn on an attacker, and has its mission serviced about twice a minute. It stays harmless only until an attacker damages it. An object outside a team then returns to its idle mission unless the section also sets Zombie=yes.

An object scans for a target only when its current mission calls for a scan. Five stages then produce one target, and each stage narrows what the next one sees. The first stage decides whether there is a scan at all, and only the last one scores anything.

StageWhat it decides
MissionWhether to scan, the point to scan from, and which kinds of target are wanted
Object kindRewrites those kinds from the object’s weapons and role
ScanWalks rings of cells outward from the scan point, or walks every object on the map
CellOffers at most one occupant per cell
CandidateRejects what may not be attacked, then scores what is left

The object takes the chosen candidate as its target. Retaliation is a separate path that never scans.

The table lists every mission that scans. The last two rows are team missions, in which one member scans on the team’s behalf. A mission not in this table never scans. An object in one gets a target only by being given one or by retaliating.

The middle column gives each scan’s shape and reach. A ring scan walks whole rings of cells outward from a point and stops at the radius named; the next section gives the three radii. A whole map scan walks every object instead and has no radius.

MissionScanNotes
GuardRing, guard radiusNot run on an engineer. An aircraft seldom reaches this scan. It attacks a target it already holds, returns to idle handling at cruising height, and does not scan while landed unless it is docked. A human-owned aircraft scans only while airborne. A computer-owned aircraft whose house is not under attack first looks for an enemy vehicle outside that vehicle’s base, preferring near ones and ones that cannot fire at aircraft. If it finds one, it attacks it without scanning
Guard areaRing, area radius, from the home positionRuns only while the object has no target
PatrolRing, patrol radius, from the object, then re-scanned from the patrol cellAn aircraft on patrol with ammunition left runs only the first scan
MoveRing, guard radiusRuns only while the object has no target, only for a computer house, never on an aircraft, and never for a member of a Suicide=yes team
HuntWhole mapOutside campaigns, an aircraft first scans for Tiberium processors alone (objects whose type sets a nonzero Storage), then scans again without that restriction
RescueWhole mapThe result is kept only when it lies within 1.5 times the area radius of the spot where the mission began
Guard, on an armed buildingRing, guard radiusRuns only while the building has no target. Not run on an EM pulse cannon, or on a building that holds a chemical missile
Team attackWhole mapThe team mission’s Quarry sets the kind of target. A TeamType with OnlyTargetHouseEnemy=yes considers only its house’s declared enemy
Team patrolRing, guard radiusThe team leader scans every PatrolScan minutes

In Guard, an infantry or vehicle that is not an engineer checks its current target before scanning. If the target is out of range of the weapon chosen against it, the object drops it and scans for another. It therefore does not keep chasing something it can no longer shoot.

Three conditions stop a scan before it starts. Any of them is enough, and each applies only to a human-owned object:

  • NoAutoFire=yes on the object’s type;
  • the object is in Guard, and it can cloak (from its type or a cloaking crate) or holds the CLOAK ability;
  • DeployToFire=yes on a vehicle.

Three scan radii are derived from GuardRange, the object type’s guard distance in cells. The mission table above says which one a mission uses.

RadiusValue
GuardGuardRange, when it is not zero and the object is not an engineer. Otherwise the object’s weapon range, as described below
AreaTwice GuardRange, or twice the longer weapon range when GuardRange is zero. At most 16 cells
PatrolThe same figure as the area radius, but kept between 7 and 16 cells

The scan walks that many whole rings of cells.

When the guard radius falls back to weapon range, the scan changes in two ways:

  • It walks as many rings as the longer of the two weapon ranges, in whole cells, plus one. An object with no weapon at all therefore scans only the cell it stands in.
  • Each candidate must also pass a range test. An object with a primary weapon accepts a candidate only within range of the weapon it would choose against it. An object with no primary weapon accepts a candidate within GuardRange.

A healer is an object whose weapons average negative damage, such as a medic. In Guard, a healer scans a fixed 2 cells, whatever the radius rules above give.

An unarmed building never scans. HasStupidGuardMode=yes goes further: it ends an unarmed building’s Guard processing outright. A repair bay with this setting no longer hands off a waiting unit, and a weapons factory no longer clears its exit.

An idle object settles into either Guard or Area Guard, and Area Guard is the mission that scans at the area radius. What sends an idle object to Area Guard depends on its kind:

  • A computer-owned infantry outside a team takes Area Guard once its house’s IQ reaches the GuardArea level in [IQ], provided it is armed, an engineer or a vehicle thief. Other unarmed infantry take Guard, and so does every infantry below that level.
  • A human-owned infantry takes Area Guard only through the GUARD_AREA ability, and only while it is outside a team.
  • An armed vehicle outside a team takes Area Guard once its house reaches that IQ level, or whenever it holds the GUARD_AREA ability. The IQ test does not check who owns the vehicle, so a human house whose scenario gives it that IQ sends its idle vehicles to Area Guard as well.
  • An armed aircraft takes Area Guard while it is computer-owned and outside a team, whatever its house’s IQ.

Before the scan runs, the kind of object doing the looking rewrites the list of wanted target kinds.

When the mission asks for no particular kind, an infantry or a vehicle fills the list from its weapons, one weapon slot at a time.

Projectile settingTarget kinds added
AV=yesVehicles only. AA and AG on the same projectile add nothing
AA=yesAircraft
AG=yesInfantry, vehicles and buildings

An aircraft does not fill the list from its weapons. It takes the ground fill in the next table instead, so the kinds its projectile would add never reach its scans.

Each kind of object then changes the list further. The row that applies is the one for the object doing the looking, not the one being looked at.

ObjectChanges
Anything that movesA list that names no infantry, vehicle or building kind gains all three
Anything that moves, under a scan restrictionAn area scan becomes a range scan. The restriction starts when the object stops because its path is completely blocked while its target is out of range. In a team, every member gets it. It lifts as soon as a scan finds nothing
InfantrySee below
VehicleA human-owned DeployToFire=yes vehicle finds nothing. Otherwise only the weapon fill applies
BuildingAdds what both weapon slots can attack, even when the mission already named a kind. A human-owned building drops buildings from the list. A building always runs a ring scan, never a whole-map scan

Infantry make the most changes. They apply in this order:

  • A computer-owned unarmed Infiltrate=yes infantry goes straight for its house’s recapture target when that building is within 15 cells, without scanning. Otherwise its scan is limited to capturable buildings. C4=yes and Engineer=yes both imply Infiltrate=yes.
  • A VehicleThief=yes infantry already heading for a vehicle within 15 cells that is not IsTrain=yes keeps that vehicle as its target, without scanning.
  • An unarmed infantry that is neither Infiltrate=yes nor VehicleThief=yes finds nothing. An unarmed vehicle thief looks for vehicles, never buildings or aircraft.
  • An infantry whose primary weapon has an organic warhead considers only infantry. A warhead counts as organic when its Verses percentage against heavy armor is exactly 0%; no setting marks it directly. This is what confines a dog to infantry. A healer’s list is replaced by the healer rule below, so this rule never decides what a healer treats.
  • A human-owned armed infantry drops buildings. A computer-owned C4=yes infantry, or one holding the C4 ability, adds them.
  • A Thief=yes infantry considers only capturable buildings that have a nonzero Storage.

The organic rule and the human-owned rule do not undo a team attack’s Quarry. A quarry that names a kind of building, such as power plants or factories, still reaches buildings.

Two more rules apply after these, to infantry and vehicles:

  • A healing infantry or vehicle considers only damaged allies of the kinds it mends. An infantry mends infantry and a vehicle mends vehicles; Mechanic=yes switches that to vehicles and OmniHealer=yes to both.
  • An engineer, whoever owns it, never considers infantry or vehicles.

The engine tests each candidate against these rows in order and rejects it at the first row that matches. A rejected candidate is not scored.

Rejected whenDetail
The candidate is in limbo, or already at zero strength
It is cloaked, its cell is not sensed by this house, and it belongs to another house
It has not yet entered the playable areaReinforcements still crossing in from off the map are not targeted
Its current mission sets NoThreat=yes
It is more than 20 leptons below ground levelA cell is 256 leptons across
It is in a different movement zoneA ring scan tests the cell and a whole-map scan tests the candidate. Neither test runs for a range scan, or when the scanning object is a building or an aircraft
It is an allyUnless this object heals or is an engineer and the ally is damaged. A healer also rejects an allied aircraft that is airborne or standing in a building’s cell, and an ally of a kind it does not mend. A berzerk infantry skips this row and attacks whatever is near it. Infantry goes berzerk through the Go Berzerk trigger action or team mission, or from damage when its type is Cyborg=yes under BerzerkAllowed=yes
Harvester immunity is on and its type is listed in HarvesterUnitImmunity comes from the multiplayer harvester truce or from a scenario’s HarvesterImmune setting
It is beyond the scan radiusOr, when the scan uses weapon range, out of range of the weapon chosen against it
Campaigns only, when the scanning house is the player’s: the candidate is not the player’s, the player has never discovered it, and it is not an aircraftA computer house’s campaign scan skips this row
It is a building whose type sets InvisibleInGame=yes
Its kind is not among the wanted kindsA landed aircraft counts as a vehicle. So does a building that can undeploy into a vehicle, unless it is a construction yard
Skirmish and multiplayer only: its house’s country sets MultiplayPassive=yesUnless the match lets objects attack neutral houses
Its type sets LegalTarget=no
It is an IsTrain=yes type and this object is a vehicle thief
It is a Disguised=yes infantryUnless this object’s type sets DetectDisguise=yes, or AIDetectDisguise=yes is set and the scanning house is computer-controlled
This object’s primary projectile is AG=no and the candidate is at ground levelThis rejects every ground object, not only landed aircraft. It reads the primary slot even when the secondary would be fired
The scan asked for civilians
The scan is limited to capturable buildings and this is not a Capturable=yes building
A human-owned object outside a team is looking at a building that cannot shoot backThat is a building with no weapon in its first slot, or one whose weapon has no range. Engineers are exempt, and so is a building that can undeploy into a vehicle
This object is an engineer and the candidate is not a building, or is an ally above ConditionRed, or is an ally that costs nothing
The scan is limited to Tiberium processors and the candidate’s Storage is zero
Both stand in bridge cells, and only one of the two is up on the bridge
This object has a web warhead and the candidate is an infantry still webbed for more than a quarter of the warhead’s WebDurationThe secondary slot’s warhead is used when it is Webby=yes, otherwise the primary slot’s

Each candidate that passes gets a threat score from five coefficients. All five come from the type of the object doing the choosing, never from the candidate’s type. Changing one changes what that type prefers, not how other types treat it.

SettingMultipliesSign
TargetEffectivenessCoefficientThe Verses percentage of the candidate’s chosen warhead against this object’s armorPositive prefers candidates that can hurt this object
TargetSpecialThreatCoefficientThe candidate type’s SpecialThreatValuePositive prefers a high SpecialThreatValue
MyEffectivenessCoefficientThe Verses percentage of this object’s chosen warhead against the candidate’s armorPositive prefers candidates this object can hurt
TargetStrengthCoefficientThe candidate’s current strength as a fraction of its maximum, from 0 to 1Positive prefers healthy candidates, negative prefers wounded ones
TargetDistanceCoefficientHow far beyond weapon range the candidate lies, and zero inside itNegative penalizes distance; positive rewards distant candidates

Both effectiveness terms use Verses as a fraction against the relevant armor class: none, wood, light, heavy or concrete.

threat score, in evaluation order
threat = ± TargetEffectivenessCoefficient × Verses of the candidate's warhead vs. my armor
+ TargetSpecialThreatCoefficient × the candidate's SpecialThreatValue
+ EnemyHouseThreatBonus (candidate belongs to the declared enemy)
+ MyEffectivenessCoefficient × Verses of my warhead vs. the candidate's armor
+ TargetStrengthCoefficient × the candidate's health fraction
+ TargetDistanceCoefficient × max(0, distance − weapon range)
+ 100000

Every score includes a fixed 100000. EnemyHouseThreatBonus is a flat addition for a candidate that belongs to the house this house has declared as its enemy. The finished score is rounded down to a whole number.

When a type does not set a coefficient, the matching [General] setting supplies it: MyEffectivenessCoefficientDefault, TargetEffectivenessCoefficientDefault, TargetSpecialThreatCoefficientDefault, TargetStrengthCoefficientDefault and TargetDistanceCoefficientDefault. SpecialThreatValue has no such default.

rules.ini
[General]
TargetEffectivenessCoefficientDefault=1
TargetDistanceCoefficientDefault=-1
[MYTANK] ; example UnitType
MyEffectivenessCoefficient=2
TargetStrengthCoefficient=-0.5

MYTANK gives double weight to how much it can hurt a candidate, prefers wounded candidates, and takes the two [General] defaults for the coefficients it does not set. These are example values, not recommendations.

These adjustments apply after the score is calculated, in this order:

  1. If this house has been ordered to hunt with everything and has a declared enemy, any candidate outside that enemy scores exactly 1.
  2. A scan for power plants adds Power × 1000 for a building with a positive Power, and sets any other building’s score to zero.
  3. A scan for factories sets the score of a building that produces nothing to zero.
  4. A scan for base defenses sets the score of any candidate with no primary weapon to zero.
  5. If this object’s primary weapon sets Supress=yes, the score is halved once for each cell near the candidate that holds a building of this house or an ally. The cells checked are the square rings around the candidate’s cell, out to one cell less than the FireSupress distance in [CombatDamage]. A building that covers several of those cells halves the score several times. At FireSupress=1 there is no ring to check, so the halving never happens until FireSupress is raised.
  6. A score of exactly zero rejects the candidate. Any other score below 1 is raised to 1.

The effectiveness terms and every range test in the rejection table use the weapon each side would choose against the other. Unless a web weapon is involved, the choice compares the two weapon slots:

  • Each slot scores its warhead’s Verses percentage against the target’s armor, multiplied by 1000.
  • The score doubles when the target is within that slot’s range.
  • The score is zero when the slot cannot fire at the target at that moment: the target is illegal for it, it is reloading, or something else stops it firing, such as an unpowered building.
  • The higher score wins, and a tie goes to the primary slot.

A web weapon replaces those scores. When either slot has a Webby=yes warhead and can fire at the target at that moment, the web slot is chosen against infantry that can be webbed and against most map cells. Infantry can be webbed unless it is IsWebImmune=yes or immobilized. The other slot is chosen against everything else.

A target that is not an object, such as a cell, counts as armor class none.

The primary slot does not always hold Primary. An elite object uses its Elite weapon in that slot, and a building’s plugged-in upgrades can replace the weapon in either case; the elite weapon covers both. On this page, “primary weapon” means whatever weapon that slot holds.

When aircraft are wanted, a ring scan first makes two passes over flying objects, and these passes do keep the highest score. The first pass takes aircraft and JumpJet=yes infantry; the second takes any other infantry that is off the ground. Neither looks at vehicles, so a vehicle with a jumpjet locomotor is found by neither. A ground candidate then replaces the flying one only if it scores higher than the best flying score.

A ring scan can stop early. Once it has found an object, it stops at the end of the ring a quarter of the way out, or at the end of the ring halfway out. An object found beyond the halfway ring does not stop the scan, and later candidates keep replacing it.

Until a ring scan finds an object, it also looks for a wall to attack in each cell. Only computer-owned objects attack walls this way. A cell counts as a wall target only when none of these is true:

  1. the difficulty sets DestroyWalls=no;
  2. the cell has no overlay, or its overlay type is not Wall=yes;
  3. the wall is out of range of the weapon chosen against it;
  4. this object has no primary weapon, or its primary weapon names no warhead;
  5. the primary weapon’s projectile sets AG=no;
  6. the primary weapon’s warhead is not Wall=yes;
  7. the wall has no owner, or belongs to this house or an ally.

Only the third test uses the weapon chosen against the wall. The three after it read the primary slot, even when the secondary would fire, so a secondary weapon built to break walls never makes a wall a target. A nearer wall scores higher. The scan returns the best wall at the end of the ring where it found one, even if an object turns up later in that ring.

The whole-map scan is the only scan that ranks ground candidates. It checks aircraft and then every ground object, and keeps the highest score. When two candidates tie, the one reached first wins.

Damage is answered without a scan. The engine tests the rows below in order, and the first row the object matches decides whether it retaliates.

ConditionRetaliates
Human-owned and already has a targetNo
The warhead is Veinhole=yesYes, unless the object is human-owned and has a movement destination
No attacker is knownNo
The current mission sets Retaliate=noNo
The attacker is an allyNo
The object’s weapons average zero damage or less, or it has no primary weaponNo
The chosen weapon’s Verses against the attacker’s armor is 0%No
The attacker is an aircraft and the chosen weapon’s projectile is AA=noNo
Human-owned C4=yes infantry, or any human-owned object holding the C4 ability, damaged by a buildingNo
Human-owned vehicle whose DeploysInto type is Artillary=yesNo
Human-owned object other than a building, with PlayerReturnFire=no in [CombatDamage], outside Guard, Area Guard and PatrolNo
Member of a Suicide=yes teamNo
Computer-owned, and its current target scores higher than the attackerNo
OtherwiseYes

The computer-owned comparison uses the unrounded threat score, so a fraction can decide it.

An object that retaliates switches to attacking the attacker, whatever its mission. It does so at once when the attacker is in range. Out of range, a computer-owned object still retaliates, but a human-owned one does so only when the attacker is within Sight plus half a cell.

A damaged building can also take its attacker as a target directly, without the table above. All of these must hold:

  • the building is not being deconstructed;
  • the attacker is not an ally;
  • the building has a primary weapon whose projectile is not AA=yes;
  • the building has no target, or its target is out of range.

The building then targets the attacker, unless the attacker is an aircraft, or the building is human-owned and PlayerReturnFire=no is set. In those two cases it turns to a random facing instead.

Only objects that can move scatter.

An object allowed to retaliate still scatters if it ends up with neither a target nor a destination. Any of these is enough:

Retaliating sets a target at once, so this happens only when an allowed retaliation produced no attack. There are two such cases: a Veinhole=yes warhead with no veinhole monster to turn on, and a human-owned object whose attacker is beyond both weapon range and Sight plus half a cell.

An object refused retaliation scatters when all of these hold:

  • its current mission sets Scatter=yes;
  • it is not tethered;
  • it is not moving;
  • it has neither a target nor a destination;
  • it is not an aircraft;
  • any of: the object is computer-owned; PlayerScatter=yes is set; it holds the SCATTER ability.

Threat ratings that are not target selection

Section titled “Threat ratings that are not target selection”

Two settings named for threat play no part in choosing a target.

ThreatPosed measures how dangerous an object is, not how attractive it is as a target. It sets the object’s value when a team weighs its members, and feeds the per-region threat map each house keeps. It also sizes a computer house’s base defense response, which multiplies the attacker’s value by ComputerBaseDefenseResponse in [AI].

ThreatAvoidanceCoefficient is used only for pathfinding, where it scales how much of the threat map a route may cross. A team’s AvoidThreats=yes raises it to 1 for its members.

  • The undiscovered-target rejection applies only in campaigns.
  • The MultiplayPassive rejection applies only outside campaigns. A launch file can lift it, and a neutral house is then scanned like any other. A player’s units outside a team still ignore buildings that cannot shoot back, so they attack the armed part of a neutral base and leave the rest.
  • An aircraft on Hunt first scans for Tiberium processors only outside campaigns.
  • Harvester immunity comes from the multiplayer lobby’s harvester truce outside campaigns, and from a scenario’s HarvesterImmune setting in campaigns.
  • Outside campaigns, MPLAYER.INI can rewrite a warhead’s Verses, which changes every effectiveness term that uses that warhead.

Five house-wide coefficients are read and stored but never used, because every house uses the per-type coefficients instead: DumbMyEffectivenessCoefficient, DumbTargetEffectivenessCoefficient, DumbTargetSpecialThreatCoefficient, DumbTargetStrengthCoefficient and DumbTargetDistanceCoefficient.

Two target kinds have no effect either. Nothing ever scans for civilians, and a scan that did would reject every candidate. AG=yes also adds a boats kind, but no object counts as a boat, so it neither widens nor narrows a scan.

37 of 37

KeyDescriptionValueWhen omitted
AABulletTypeAllows the projectile to be fired at targets that are in the air.booleanno
AGBulletTypeAllows the projectile to be fired at targets that are on the ground.booleanyes
AVBulletTypeNarrows the target categories the weapon contributes to a scan down to vehicles alone.booleanno
ComputerBaseDefenseResponseglobal rulesMultiplies an attacker's ThreatPosed to size the defenders a computer house calls up.integer3
EliteAircraftType, BuildingType, InfantryType, UnitTypeThe WeaponType an elite object fires in place of its primary.classnone
EnemyHouseThreatBonusglobal rulesAdded to a candidate's threat score when the candidate belongs to the house's declared enemy.floating point0
FireSupressglobal rulesHow far around a candidate target allied buildings are searched for when the firing weapon suppresses friendly fire.distance (cells)1
GuardAreaglobal rulesThe IQ level at which a computer house leaves idle objects in Area Guard instead of Guard.integer4
GuardRangeAircraftType, BuildingType, InfantryType, UnitTypeThe distance in cells an object scans for targets while guarding, overriding its weapon range.distance (cells)0
HasStupidGuardModeBuildingTypeMakes an unarmed building do nothing while on its Guard mission, skipping its idle handling.booleanyes
IsThreatRatingNodeNo effectBuildingTypeMarks a building upgrade meant to put its house on the per-type threat coefficients, which every house already uses.booleanno
IsWebImmuneInfantryTypeKeeps a webbing warhead from pinning the soldier in place.booleanno
LegalTargetNo effect in some scopes12 applicable typesWhether the type may be picked as a target by an automatic scan or by a player pointing at it.booleanVaries by type
MechanicAircraftType, BuildingType, InfantryType, UnitTypeTurns a healing weapon away from infantry and onto vehicles.booleanno
MyEffectivenessCoefficientAircraftType, BuildingType, InfantryType, UnitTypeWeights a candidate target by how much damage this object's warhead does to that candidate's armor.floating pointComputed
MyEffectivenessCoefficientDefaultglobal rulesThe MyEffectivenessCoefficient every object type falls back on.floating point0
NoAutoFireAircraftType, BuildingType, InfantryType, UnitTypeStops a human-owned object of this type from picking targets on its own.booleanno
NoThreatmission behaviorKeeps an object that is in this mission from being picked as a target by an automatic scan.booleanno
OmniHealerAircraftType, BuildingType, InfantryType, UnitTypeLets a healing weapon mend infantry and vehicles alike.booleanno
PlayerReturnFireglobal rulesLets human-owned objects fire back automatically outside the guard missions.booleanno
PrimaryAircraftType, BuildingType, InfantryType, UnitTypeThe WeaponType in the object type's first weapon slot.classnone
Retaliatemission behaviorWhether an object in this mission fires back at whatever damages it.booleanyes
SecondaryAircraftType, BuildingType, InfantryType, UnitTypeThe WeaponType in the object type's second weapon slot.classnone
SpecialThreatValueAircraftType, BuildingType, InfantryType, UnitTypeA per-type figure that TargetSpecialThreatCoefficient scales into a candidate's threat score.floating point0
SupressWeaponTypeDiscounts a candidate target that stands near buildings allied to the firing object.booleanno
TargetDistanceCoefficientAircraftType, BuildingType, InfantryType, UnitTypeWeights a candidate target by how far beyond weapon range it lies, and not at all inside it.floating pointComputed
TargetDistanceCoefficientDefaultglobal rulesThe TargetDistanceCoefficient that vehicle, infantry, aircraft and structure types fall back on.floating point0
TargetEffectivenessCoefficientAircraftType, BuildingType, InfantryType, UnitTypeWeights a candidate target by how much damage that candidate's warhead does to this object's armor.floating pointComputed
TargetEffectivenessCoefficientDefaultglobal rulesThe TargetEffectivenessCoefficient that vehicle, infantry, aircraft and structure types fall back on.floating point0
TargetSpecialThreatCoefficientAircraftType, BuildingType, InfantryType, UnitTypeWeights a candidate target by the SpecialThreatValue of that candidate's type.floating pointComputed
TargetSpecialThreatCoefficientDefaultglobal rulesThe TargetSpecialThreatCoefficient that vehicle, infantry, aircraft and structure types fall back on.floating point0
TargetStrengthCoefficientAircraftType, BuildingType, InfantryType, UnitTypeWeights a candidate target by how much of its maximum strength it still has.floating pointComputed
TargetStrengthCoefficientDefaultglobal rulesThe TargetStrengthCoefficient that vehicle, infantry, aircraft and structure types fall back on.floating point0
ThreatPosedAircraftType, BuildingType, InfantryType, UnitTypeHow much danger the type represents, used by the region threat map and base-defense call-ups.integer0
VersesWarheadTypeThe percentage of a weapon's damage the warhead delivers against each armor class, in armor order.string100%,100%,100%,100%,100%
WebDurationWarheadTypeThe number of frames a webbed infantryman stays pinned.integer300
WebbyWarheadTypeThe warhead entangles the infantry it catches instead of damaging them.booleanno

History

  1. Changed0.1.0

    Make seeing through a disguise a stated ability

  2. Changed0.1.0

    Reacquire stale Guard targets

  3. Changed0.2.0In development

    Auto-target neutrals on AttackNeutralUnits