<?xml version="1.0" encoding="utf-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Tags></Tags>
  <Includes>
  </Includes>

  <!--Enemy Targets by Distance-->

  <AITargetingHeuristic
    id="ClosestStructureHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    SortType="Distance"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="NEUTRAL_TECH CIVILIAN_BUILDING WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <AITargetingHeuristic
    id="SafestToGroundStructureHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    SortType="ThreatToGround"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="NEUTRAL_TECH CIVILIAN_BUILDING WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />
  
  <AITargetingHeuristic
    id="SafestToAirStructureHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    SortType="ThreatToAir"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="NEUTRAL_TECH CIVILIAN_BUILDING WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <AITargetingHeuristic
    id="ClosestOffensiveStructureHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    VitalKindOf="STRUCTURE CAN_ATTACK"
    ForbiddenKindOf="NEUTRAL_TECH CIVILIAN_BUILDING"
    />

  <AITargetingHeuristic
    id="SafestToAirPowerPlantHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    SortType="ThreatToAir"
    VitalKindOf="STRUCTURE FS_POWER"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic
    id="ClosestUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="Distance"
    VitalKindOf=""
    />

  <AITargetingHeuristic
    id="SafestToGroundUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="ThreatToGround"
    VitalKindOf=""
    />

  <AITargetingHeuristic
    id="SafestToGroundVehicleHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="ThreatToGround"
    VitalKindOf="VEHICLE"
    />

  <AITargetingHeuristic
    id="SafestToAirUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="ThreatToAir"
    VitalKindOf=""
    />

  <AITargetingHeuristic
    id="ClosestVehicleHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="VEHICLE"
    />

  <AITargetingHeuristic
    id="ClosestInfantryHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="INFANTRY"
    />

  <AITargetingHeuristic
    id="ClosestAircraftHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="AIRCRAFT"
    />

  <AITargetingHeuristic
    id="ClosestOffensiveUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="CAN_ATTACK"
    />

  <AITargetingHeuristic
    id="EngineerUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="Distance"
    VitalKindOf="INFANTRY ENGINEER"
    />

  <AITargetingHeuristic
    id="CommandoUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="Distance"
    VitalKindOf="INFANTRY UNIQUE_UNIT"
    />

  <AITargetingHeuristic
    id="ExpansionUnitHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="Distance"
    VitalKindOf="VEHICLE EXPANSION_UNIT"
    />

  <AITargetingHeuristic
    id="OutpostStructureHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    SortType="Distance"
    VitalKindOf="STRUCTURE OUTPOST"
    />

  <AITargetingHeuristic
    id="ClosestHarvesterHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="HARVESTER"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic
    id="SafestToGroundHarvesterHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="ThreatToGround"
    VitalKindOf="HARVESTER"
    ForbiddenKindOf=""
    />

  <!--Enemy Function Targets by Priority then Distance-->

  <AITargetingHeuristic
    id="PowerKillHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Structure">
    <PrioritizedKindOf>FS_POWER</PrioritizedKindOf>
    <PrioritizedKindOf>CONSTRUCTION_YARD</PrioritizedKindOf>
  </AITargetingHeuristic>

  <AITargetingHeuristic
    id="ProductionKillHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Structure">
    <PrioritizedKindOf>FS_WAR_FACTORY</PrioritizedKindOf>
    <PrioritizedKindOf>FS_BARRACKS</PrioritizedKindOf>
    <PrioritizedKindOf>FS_AIR_FIELD</PrioritizedKindOf>
  </AITargetingHeuristic>

  <AITargetingHeuristic
    id="EconomyKillHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="HARVESTER"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic
    id="ConstructionKillHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Structure">
    <PrioritizedKindOf>CONSTRUCTION_YARD</PrioritizedKindOf>
  </AITargetingHeuristic>

  <!--Friendly Targets by Distance-->
  
  <AITargetingHeuristic
    id="ClosestFriendlyStructureHeuristic"
    HeuristicType="FriendlyStructure"
    ReturnTargetType="Defensive"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="CIVILIAN_BUILDING WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <AITargetingHeuristic
    id="ClosestFriendlyUnitHeuristic"
    HeuristicType="FriendlyUnit"
    ReturnTargetType="Defensive"
    VitalKindOf=""
    ForbiddenKindOf="WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <AITargetingHeuristic
    id="ClosestFriendlyHarvesterHeuristic"
    HeuristicType="FriendlyUnit"
    ReturnTargetType="Defensive"
    VitalKindOf="HARVESTER"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic
    id="ClosestFriendlyExpanderHeuristic"
    HeuristicType="FriendlyUnit"
    ReturnTargetType="Guard"
    VitalKindOf="EXPANSION_UNIT"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic
    id="ClosestFriendlyConyardHeuristic"
    HeuristicType="FriendlyStructure"
    ReturnTargetType="Defensive"
    VitalKindOf="CONSTRUCTION_YARD"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic
    id="ClosestFriendlySuperweaponHeuristic"
    HeuristicType="FriendlyStructure"
    ReturnTargetType="Defensive"
    VitalKindOf="UNIQUE_UNIT"
    ForbiddenKindOf=""
    />

  <!--Neutral Targets by Distance-->

  <AITargetingHeuristic
    id="ClosestNeutralTechHeuristic"
    HeuristicType="TechBuilding"
    SearchRange="150000.0"
    ReturnTargetType="CaptureTech"
    />

  <AITargetingHeuristic
    id="GarrisonHeuristic"
    HeuristicType="NeutralGarrison"
    ReturnTargetType="Garrison"
    VitalKindOf=""
    ForbiddenKindOf=""
   />

  <AITargetingHeuristic
    id="AntiGarrisonHeuristic"
    HeuristicType="AntiGarrison"
    ReturnTargetType="Garrison"
    VitalKindOf=""
    ForbiddenKindOf=""
   />

  <AITargetingHeuristic
    id="BridgeHeuristic"
    HeuristicType="Bridge"
    ReturnTargetType="CaptureTech"
    VitalKindOf="BRIDGE"
    ForbiddenKindOf=""
   />

  <!--Special Targets-->

  <AITargetingHeuristic
    id="EngineerHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Engineer">
    <PrioritizedKindOf>CONSTRUCTION_YARD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_WAR_FACTORY</PrioritizedKindOf>
    <PrioritizedKindOf>FS_AIR_FIELD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_TECH_CENTER</PrioritizedKindOf>
    <PrioritizedKindOf>FS_RADAR</PrioritizedKindOf>
    <PrioritizedKindOf>FS_BARRACKS</PrioritizedKindOf>
  </AITargetingHeuristic>

  <AITargetingHeuristic
    id="CommandoHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Engineer">
    <PrioritizedKindOf>CONSTRUCTION_YARD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_WAR_FACTORY</PrioritizedKindOf>
    <PrioritizedKindOf>FS_AIR_FIELD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_TECH_CENTER</PrioritizedKindOf>
    <PrioritizedKindOf>FS_RADAR</PrioritizedKindOf>
    <PrioritizedKindOf>FS_BARRACKS</PrioritizedKindOf>
  </AITargetingHeuristic>

  <AITargetingHeuristic
    id="SuperweaponHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Superweapon">
    <PrioritizedKindOf>FS_AIR_FIELD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_WAR_FACTORY</PrioritizedKindOf>
    <PrioritizedKindOf>FS_TECH_CENTER</PrioritizedKindOf>
    <PrioritizedKindOf>FS_RADAR</PrioritizedKindOf>
    <PrioritizedKindOf>FS_POWER</PrioritizedKindOf>
    <PrioritizedKindOf>FS_BARRACKS</PrioritizedKindOf>
  </AITargetingHeuristic>

  <AITargetingHeuristic
    id="ExpansionHeuristic"
    HeuristicType="Expansion"
    ReturnTargetType="Expansion"
   />

  <AITargetingHeuristic
    id="BeaconHeuristic"
    HeuristicType="Beacon"
    ReturnTargetType="Beacon"
    VitalKindOf="BEACON"
    ForbiddenKindOf=""
   />

  <AITargetingHeuristic
    id="CrateHeuristic"
    HeuristicType="Crate"
    ReturnTargetType="Crate"
    VitalKindOf="CRATE"
    ForbiddenKindOf=""
   />

  <AITargetingHeuristic
    id="FriendlyHuskHeuristic"
    HeuristicType="FriendlyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="HUSK"
    ForbiddenKindOf=""
   />

  <AITargetingHeuristic
    id="EnemyHuskHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    VitalKindOf="HUSK"
    ForbiddenKindOf=""
   />

  <!--Deprecated - Try not to use these-->

  <AITargetingHeuristic
    id="CaptureHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Engineer">
    <PrioritizedKindOf>CONSTRUCTION_YARD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_WAR_FACTORY</PrioritizedKindOf>
    <PrioritizedKindOf>FS_AIR_FIELD</PrioritizedKindOf>
    <PrioritizedKindOf>FS_TECH_CENTER</PrioritizedKindOf>
    <PrioritizedKindOf>FS_RADAR</PrioritizedKindOf>
    <PrioritizedKindOf>FS_BARRACKS</PrioritizedKindOf>
  </AITargetingHeuristic>

  <!--Returns the closest friendly structure; temporary-->
  <AITargetingHeuristic
    id="FriendlyStructureTemp"
    HeuristicType="FriendlyStructure"
    ReturnTargetType="Structure"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <!--Returns a random structure-->
  <AITargetingHeuristic
    id="RandomHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Diversion"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <AITargetingHeuristic 
    id="BaseDefenseHeuristic" 
    HeuristicType="BaseDefense" 
    ReturnTargetType="Defensive"
    VitalKindOf="CAN_ATTACK"
    ForbiddenKindOf="UNATTACKABLE SHIP PASS_EXPERIENCE_TO_CONTAINER" 
    />

  <AITargetingHeuristic
    id="EnemyStructureHeuristic"
    HeuristicType="EnemyStructure" 
    ReturnTargetType="Structure"
    VitalKindOf="DOZER_FACTORY"
    ForbiddenKindOf="WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION IGNORE_FOR_VICTORY LINKED_TO_FLAG"
    />

  <AITargetingHeuristic
    id="EnemyTankHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Structure"
    VitalKindOf="VEHICLE CAN_ATTACK"
    ForbiddenKindOf="HARVESTER"
    />

  <AITargetingHeuristic
    id="NeutralTechBuildingHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Opportunity"
    VitalKindOf="ECONOMY_STRUCTURE LINKED_TO_FLAG"
   />

  <AITargetingHeuristic
    id="EnemyHarvesterHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Structure"
    VitalKindOf="HARVESTER"
    ForbiddenKindOf=""
    />

  <AITargetingHeuristic 
   id="NearestStructureHeuristic" 
   HeuristicType="EnemyStructure" 
   ReturnTargetType="Structure"
   VitalKindOf="STRUCTURE"
   ForbiddenKindOf="WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION IGNORE_FOR_VICTORY LINKED_TO_FLAG"
    />

  <!--Returns a random structure-->
  <AITargetingHeuristic
    id="RandomStructureHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Diversion"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />

  <!--Returns the target furthest away from any AA defense-->
  <AITargetingHeuristic
    id="OutsideAAHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Airstrike"
    VitalKindOf=""
    ForbiddenKindOf=""
    />  

  <!--Returns the most isolated enemy War Factory, then Barracks, then Air Field-->
  <AITargetingHeuristic
    id="ProductionHaltHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Structure">
    <PrioritizedKindOf>FS_WAR_FACTORY</PrioritizedKindOf>
    <PrioritizedKindOf>FS_BARRACKS</PrioritizedKindOf>
    <PrioritizedKindOf>FS_AIR_FIELD</PrioritizedKindOf>
  </AITargetingHeuristic>

  <!--Returns the most isolated enemy Harvester, then Refinery, then Silo--> 
  <AITargetingHeuristic
    id="ResourceSqueezeHeuristic"
    HeuristicType="Prioritized"
    ReturnTargetType="Structure">
    <!--
    <PrioritizedKindOf>HARVESTER</PrioritizedKindOf>
    -->
    <PrioritizedKindOf>SUPPLY_GATHERING_CENTER</PrioritizedKindOf>
    <PrioritizedKindOf>FS_MONEY_STORAGE</PrioritizedKindOf>
  </AITargetingHeuristic>

  <AITargetingHeuristic
    id="NeutralTechHeuristic"
    HeuristicType="TechBuilding"
    SearchRange="150000.0" 
    ReturnTargetType="CaptureTech"
    />
    
   <!-- For Aliens 1-5: mothership target -->
    <AITargetingHeuristic
    id="ClosestMothershipHeuristic"
    HeuristicType="EnemyUnit"
    ReturnTargetType="Unit"
    SortType="Distance"
    VitalKindOf="MOTHERSHIP"
    /> 
    
   <!-- For Aliens 1-5: mothership target -->   
   <AITargetingHeuristic
    id="ClosestPhaseGeneratorHeuristic"
    HeuristicType="EnemyStructure"
    ReturnTargetType="Structure"
    SortType="Distance"
    VitalKindOf="STRUCTURE"
    ForbiddenKindOf="NEUTRAL_TECH WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />
    
     
    <!-- For CM1_2: Target Lab -->
     
    <AITargetingHeuristic
	    id="ClosestStructureHeuristic_1_2"
	    HeuristicType="EnemyStructure"
	    ReturnTargetType="ExtraTarget"
	    SortType="Distance"
	    VitalKindOf="STRUCTURE UNIQUE_UNIT IMMOBILE"
	    ForbiddenKindOf="NEUTRAL_TECH CIVILIAN_BUILDING WALK_ON_TOP_OF_WALL DEFENSIVE_WALL WALL_UPGRADE WALL_HUB WALL_SEGMENT WALL_GATE BASE_FOUNDATION"
    />
    
    <!-- For KW 3-1 -->
     
    <AITargetingHeuristic
	    id="ClosestStructureSpecialHeuristic_3_1"
	    HeuristicType="EnemyStructure"
	    ReturnTargetType="ExtraTarget"
	    SortType="Distance"
	    VitalKindOf="STRUCTURE FACE_AWAY_FROM_CASTLE_KEEP"
	    ForbiddenKindOf=""
    />
  
  </AssetDeclaration>