This wiki is archived from 2021-09-05
Planetary Annihilation AI Implementation
Jump to navigation
Jump to search
File:Titans-icon.png Planetary Annihilation Titans & Classic AI Implementation
- AI Brain
- Economy Manager
- Interplanetary Request Manager
- Planet Managers
- Planet Manager
- Strategic Manager
- Influence Map
- Recon Manager
- Base Threats
- Enemy Base Locations
- Attack Locations
- Base Manager
- Factory Manager
- Metal Spot Info
- Rally Points
- Build Locations
- Fabber Manager
- Platoon Manager
- Strategic Manager
- Planet Manager
Influence Manager
Planet threat evaluations
- threats for position radius (overlapping)
- threats at position radius (within)
Influence types
- Commander
- Economy
- EconomyProduction (factories)
- Land
- Air
- Naval
- Sub
- Orbital
- Artillery
- Nuke
- AntiNuke
- AntiSurface
- AntiAir
- AntiSub
- AntiOrbital
- AntiPlanet (catalyst, halley, ragnarok)
Fabber Manager
Manages fabbers for a planet:
- idle / assisting
- builders
Processes a maximum of 8 fabbers each tick (may make this configurable).
Idle / assisting fabbers are prioritised:
- idle advanced
- idle commanders
- idle basic
- assisting advanced
- assisting commanders
- assisting basic
Platoon Manager
Platoons contain squads.
Platoon Tasks
- None
- Commander
- Scout
- Orbital Recon
- Patrol
- LandAttack
- BomberAttack
- FighterAttack
- NavalAttack
- OrbitalFighterAttack
- OrbtialLaserAttack
- Nuke
- Artillery
- UnitCannon
- ThreatResponse
- TransportToPlanet
- TransportToSafePlanet
- OrbitalFabberMoveToPlanet
- OrbitalFabberMoveToSafePlanet
- OrbitalFabberMoveToGasGiant
- OrbitalFabberMoveToSafeGasGiant
- TransferReconToPlanet
- TransferOrbitalToPlanet
- TransferOrbitalAttackToPlanet
- TeleportLandToPlanet
- TeleportLandOnPlanet (NEW)
- TeleportFabberToPlanet
- Build
- BuilderAssist
- AreaBuild
- GiveUp
Squad Types
- General
- Fast
- Artillery
- Close
- Defense
- Escort (area patrol)
- Transport
- Suicide
Build Conditions
- EnemyPresenceOnPlanet (boolean)
- EnemySurfacePresenceOnPlanet (boolean)
- UnitCountInBase (unit_type_string0, compare0, value0 count)
- UnitCountOnPlanet (unit_type_string0, compare0, value0 count)
- UnitCountAroundBase (unit_type_string0, string0 AllianceType, value0 radius, compare0, value1 count)
- DistFromNearestEnemyThreat (compare0, value0)
Unit Type Strings
Simple boolean logic:
- | or
- & and
- - exclude
- bracket precedence
Examples
- (Bot & Mobile) - Fabber (any bots that are not fabbers including titans)
- (Bot & Mobile & Basic) - Construction - Fabber - Artillery (dox and booms)
- (Bot & Mobile & Advanced) - Construction - Fabber - Artillery - Tactical - Titan (slammers)
- (Bot & Mobile & Construction) - Fabber (combat fabricators)
Unit Types
Planetary Annihilation Unit Types
Build Conditions
- PotentialEnergyEfficiency
- PotentialMetalEfficiency
- CurrentEnergyEfficiency
- CurrentMetalEfficiency
- DesireMetal
- DesireEnergy
- CanAffordPotentialDrain (string0 unitSpec)
- CanAffordBuildDemand
- MetalStorageFrac
- EnergyStorageFrac
- MetalStorageToProductionRatio
- EnergyStorageToProductionRatio
- HaveEcoForAdvanced
- OnTaskType
- UnitRatio (unit_type_string0, unit_type_string1, compare0, value0)
- UnitRatioOnPlanet (unit_type_string0, unit_type_string01, compare0, value0)
- UnitCount
- UnitCountOnPlanet
- UnitPoolCount[OnPlanet] (unit_type_string0, compare0, value0)
- UnitPoolRatio
- UnitCountInBase
- UnitCountInMainBase (NEW)
- UnitCountAroundBase
- UnitCountPerPlanetRadius
- UnitCountOnPlanetPerNumberPlanets (NEW)
- AlliedUnitCountOnPlanet
- AloneOnPlanet
- EnemyPresenceOnPlanet
- EnemySurfacePresenceOnPlanet
- EnemyAirPresenceOnPlanet
- EnemyOrbitalPresenceOnPlanet
- HaveFullPlanetIntel
- PlanetWithoutPresence
- SafePlanetWithoutPresence
- PlanetOrGasGiantWithoutPresence
- SafePlanetOrGasGiantWithoutPresence
- HasGasGiant (NEW)
- PlanetWithoutFabberWithTeleporter
- PresenceOnOtherPlanet
- WantCommanderOffPlanet
- WantCommanderOffPlanetByTeleporter
- UnitCountInCelestialTransit
- PlanetHasUseablePlanetWeapon
- PlanetCanBeUsedAsKineticWeapon
- HaveThrustToMovePlanet
- PlanetCount
- StartingPlanetCount (NEW)
- SpawnablePlanetCount
- PlanetIsGasGiant
- PlanetIsMainEcoBase
- PlanetIsRespawnable
- NoWhereToRun
- UnableToExpand
- HasPersonalityTag
- BaseHasEmptyMetalSpotForBasic
- BaseHasEmptyMetalSpotForAdvanced
- CanFindMetalSpotToBuildBasic
- CanFindMetalSpotToBuildAdvanced
- CanFindControlPointToBuild
- AllMetalSpotsFull
- IsMainBase (boolean) (NEW)
- BaseThreatened
- DistFromMainBase
- DistFromNearestEnemyThreat
- FactoryHasOpenSlot
- FactorySlotsEmpty
- NeedBasicVehicleFabber
- NeedAdvancedVehicleFabber
- NeedBasicBotFabber
- NeedAdvancedBotFabber
- NeedBasicAirFabber
- NeedAdvancedAirFabber
- MetMinBasicFabberCount
- MetMinAdvancedFabberCount
- NeedBasicLandFactory
- NeedAdvancedLandFactory
- NeedBasicVehicleFactory
- NeedAdvancedVehicleFactory
- NeedBasicBotFactory
- NeedAdvancedBotFactory
- NeedBasicAirFactory
- NeedAdvancedAirFactory
- NeedBasicNavalFactory
- NeedAdvancedNavalFactory
- NeedOrbitalLauncher
- NeedOrbitalFactory
- CanDeployLandFromBase
- CanDeployNavalFromBase
- OtherPlanetNeedsReconAssistance
- OtherPlanetNeedsLandUnitAssistance
- OtherPlanetNeedsOrbitalUnitAssistance
- OtherPlanetCanReceiveLandUnitAssistance
- OtherPlanetCanProvideLandUnitAssistance
- CanProvideLandUnitAssistance
- ThisPlanetNeedsLandUnitAssistance
- ThisPlanetNeedsReconAssistance
- ThisPlanetNeedsOrbitalUnitAssistance
- GravWellThreat
- SystemThreat
- PlanetThreat
- BaseThreat
- FocusTargetThreat
- PlanetHighestEnemyArmyThreat
- GravWellToPlanetThreatRatio
- SystemToPlanetThreatRatio
- PlanetThreatRatio
- BaseThreatRatio
- FocusTargetThreatRatio
- PlanetHighestEnemyArmyThreatRatio
- HaveSeenEnemyUnits (unit_type_string0)
- HaveHadANukeEvent (boolean0
- CanAttackWithPoolUnits
- CanAttackWithPoolUnitsLand
- CanAttackWithPoolUnitsBomber
- CanAttackWithPoolUnitsFighter
- CanAttackWithPoolUnitsNaval (NEW)
- CanAttackWithPoolUnitsOrbital (NEW)
- CanProvideAirSupportWithPoolUnits
- CanFindPlaceToBuild