This wiki is archived from 2021-09-05
Planetary Annihilation AI Build Conditions
Jump to navigation
Jump to search
File:Titans-icon.png Planetary Annihilation AI Build Conditions
Build conditions are evaluated based on the following flags:
- real time: evaluated every tick otherwise every 2 seconds
- planet wide: once per planet otherwise for every base
- system fixed: once at start (NEW)
The default is every 2 seconds for every base.
Personality
- HasPersonalityTag
- string8
- boolean
Economy
- PotentialEnergyEfficiency
- PotentialMetalEfficiency
- CurrentEnergyEfficiency
- CurrentMetalEfficiency
- DesireMetal
- DesireEnergy
- MetalStorageFrac
- EnergyStorageFrac
- MetalStorageToProductionRatio
- EnergyStorageToProductionRatio
- HaveEcoForAdvanced
Building
- CanAffordPotentialDrain
- string0 unitSpec
- CanAffordBuildDemand
- based on build arm with tool type TOOL_BuildArm
Unit Ratios / Counts
Planet Wide
- UnitRatio[ForArmy]
- unit_type_string0
- unit_type_string1
- compare0
- value0
- currently includes partially built
- UnitRatioOnPlanet[ForArmy]
- unit_type_string0
- unit_type_string1
- compare0
- value0
- currently includes partially built
- UnitPoolRatio[OnPlanetForArmy]
- unit_type_string0
- unit_type_string1
- compare0
- value0
- UnitCount[ForArmy]
- unit_type_string0
- boolean fully built
- compare0
- value0
- UnitCountOnPlanet[ForArmy]
- unit_type_string0
- boolean fully built
- compare0
- value0
- UnitPoolCount[OnPlanetForArmy]
- unit_type_string0
- boolean fully built
- compare0
- value0
- UnitCountPerPlanetRadius[ForArmy]
- unit_type_string0
- compare0
- value0
- UnitCountOnPlanetPerNumberPlanets[ForArmy] (NEW)
- unit_type_string0
- compare0
- value0
- AlliedUnitCountOnPlanet
- boolean fully built
- compare0
- value0 count
- UnitCountInCelestialTransit
- unit_type_string0
- compare0
- value0 count
- UnitCountInMainBase[ForArmy] (NEW)
- unit_type_string0
- compare0
- value0 count
- value1 alliance defaults to allies
Sorted Bases
- UnitCountInBase
- unit_type_string0
- compare0
- value0 count
- value1 optional alliance defaults to allies (NEW)
- UnitCountAroundBase
- unit_type_string0
- string0 alliance defaults to allies
- value0 radius defaults to outer base radius (NEW)
- compare0
- value1 count
Alliance Types
- Ally or Allied (NEW)
- Enemy or Hostile (NEW)
- Self (NEW)
Presence
- AloneOnPlanet
- boolean
- this is currently a check for armies on planet which is based on land, naval and air which excludes subs, orbital, economy, nuke, anti-nuke, anti-planet, etc
- EnemyPresenceOnPlanet
- boolean
- EnemySurfacePresenceOnPlanet
- boolean
- EnemyAirPresenceOnPlanet
- boolean
- EnemyOrbitalPresenceOnPlanet
- boolean
- HaveFullPlanetIntel
- boolean
- PlanetWithoutPresence
- boolean
- SafePlanetWithoutPresence
- boolean
- PlanetOrGasGiantWithoutPresence
- boolean
- SafePlanetOrGasGiantWithoutPresence
- boolean
- GasGiantWithoutPresence (NEW)
- boolean
- SafeGasGiantWithoutPresence (NEW)
- boolean
- HasGasGiant (NEW)
- boolean
- PlanetWithoutFabberWithTeleporter
- boolean
- PresenceOnOtherPlanet
- boolean
Commander
- WantCommanderOffPlanet
- WantCommanderOffPlanetByTeleporter
- NoWhereToRun
Planets
- PlanetHasUseablePlanetWeapon
- PlanetCanBeUsedAsKineticWeapon
- HaveThrustToMovePlanet
- PlanetCount
- StartingPlanetCount (NEW)
- SpawnablePlanetCount
- PlanetIsGasGiant
- PlanetIsMainEcoBase
- PlanetIsRespawnable
- PlanetCircumference (NEW)
Metal
- UnableToExpand
- BaseHasEmptyMetalSpotFor (NEW)
- string0
- BaseHasEmptyMetalSpotForBasic
- BaseHasEmptyMetalSpotForAdvanced
- CanFindMetalSpotToBuild (NEW)
- string0
- CanFindMetalSpotToBuildBasic
- CanFindMetalSpotToBuildAdvanced
- AllMetalSpotsFull
- boolean
- this is a weird check of main base + non threatened bases for basic metal extractors ie not planet wide
Catalysts
- CanFindControlPointToBuild
Bases
- IsMainBase (NEW)
- boelan
- BaseThreatened
- DistFromMainBase
- DistFromNearestEnemyThreat
- compare0
- value0
- currently based on economy influence so my not be great indicator of threat
- DistFromNearestEnemyBase (NEW)
- compare0
- value0
- DistFromLandRallyPoint
- value0
- DistFromNavalRallyPoint
- value0
- DistFromOrbitalRallyPoint
- value0
Building
- CanFindPlaceToBuild
- CanDeployLandFromBase
- CanDeployNavalFromBase
Factories
- FactoryHasOpenSlot
- FactorySlotsEmpty
- NeedBasicLandFactory
- NeedAdvancedLandFactory
- NeedBasicVehicleFactory
- NeedAdvancedVehicleFactory
- NeedBasicBotFactory
- NeedAdvancedBotFactory
- NeedBasicAirFactory
- NeedAdvancedAirFactory
- NeedBasicNavalFactory
- NeedAdvancedNavalFactory
- NeedOrbitalLauncher
- NeedOrbitalFactory
Fabbers
- NeedBasicVehicleFabber
- NeedAdvancedVehicleFabber
- NeedBasicBotFabber
- NeedAdvancedBotFabber
- NeedBasicAirFabber
- NeedAdvancedAirFabber
- MetMinBasicFabberCount
- currently only applies to tank, bot and air using min_basic_fabbers * fabber_alone_on_planet_mod
- MetMinAdvancedFabberCount
- currently only applies to tank, bot and air using min_advanced_fabbers * fabber_alone_on_planet_mod
Strategic Assistance
- OtherPlanetNeedsReconAssistance
- OtherPlanetNeedsLandUnitAssistance
- OtherPlanetNeedsOrbitalUnitAssistance
- OtherPlanetCanReceiveLandUnitAssistance
- OtherPlanetCanProvideLandUnitAssistance
- CanProvideLandUnitAssistance
- ThisPlanetNeedsLandUnitAssistance
- ThisPlanetNeedsReconAssistance
- ThisPlanetNeedsOrbitalUnitAssistance
Threats
- GravWellThreat
- string0: influence type
- compare0: comparison string
- value0: number
- SystemThreat
- string0: influence type
- compare0: comparison string
- value0: number
- PlanetThreat
- string0: influence type
- compare0: comparison string
- value0: number
- BaseThreat
- string0: influence type
- compare0: comparison string
- value0: number
- FocusTargetThreat
- string0: influence type
- compare0: comparison string
- value0: number
- PlanetHighestEnemyArmyThreat
- string0: influence type
- compare0: comparison string
- value0: number
Threat Ratios
- GravWellToPlanetThreatRatio
- SystemToPlanetThreatRatio
- PlanetThreatRatio
- BaseThreatRatio
- FocusTargetThreatRatio
- PlanetHighestEnemyArmyThreatRatio
Threat Vision
- HaveSeenEnemyUnits
- unit_type_string0
- HaveHadANukeEvent
- boolean0
Attacks
Neutral Network Based Attacks
- CanAttackWithPoolUnitsLand (neural network)
- unit_type_string0
- string0 friendly world layer
- string1 enemy world layer
- string2 optional target world layer (defaults go friend world layer)
- boolean use naval rally point
- max weapon range is based on target layer
- search range is based on 50% of platoon radius + max weapon range
- CanAttackWithPoolUnitsBomber (neural network)
- unit_type_string0
- string0 friendly world layer
- string1 enemy world layer
- string2 optional target world layer (defaults go friend world layer)
- boolean use naval rally point
- max weapon range is based on target layer
- search range is based on 50% of platoon radius + max weapon range
- CanAttackWithPoolUnitsFighter (neural network)
- unit_type_string0
- string0 friendly world layer
- string1 enemy world layer
- string2 optional target world layer (defaults go friend world layer)
- boolean use naval rally point
- max weapon range is based on target layer
- search range is based on 50% of platoon radius + max weapon range
Non Neural Network Based Attacks
- CanAttackWithPoolUnits
- string0 attack world layer
- boolean use naval rally point
- can use this to bypass neural network
- CanAttackWithPoolUnitsNaval (NEW)
- string0 attack world layer
- CanAttackWithPoolUnitsOrbital (NEW)
- string0 attack world layer
Assistance
- CanProvideAirSupportWithPoolUnits
- OnTaskType
- HaveTeleporterForThreat (NEW)
- value0 minimum threat