<?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>
  
<!-- KC_07 - GDI - Basics -->
  
 <AIStrategicStateDefinition
	id="KC_07_GDI_UnitCap"
	UnitBuilderSimpleUnitCap="32">
		<Heuristic>
			<ConstantHeuristic Weight="3.0"/>
		</Heuristic>
	</AIStrategicStateDefinition>
   
  <AIBudgetStateDefinition
    id="KC_07_GDI_Budget">
    <Heuristic>
      <ConstantHeuristic Weight="1.0"/>
    </Heuristic>
    <Budget>
      <AccountShare Account="INVESTMENT" Percent="5%"/>
      <AccountShare Account="SPECIAL_OPERATIONS" Percent="5%"/>
      <AccountShare Account="PRODUCTION" Percent="65%"/>
      <AccountShare Account="DEFENSE" Percent="10%"/>
      <AccountShare Account="TECHNOLOGY" Percent="5%"/>
      <AccountShare Account="SLUSH_FUND" Percent="10%"/>
    </Budget>
  </AIBudgetStateDefinition>
  
  <AIStrategicStateDefinition
	id="KC_07_GDI_UntPref"
	UnitUpgradeMultiplier="0.0">
   <Heuristic>
      <ConstantHeuristic Weight="999.0"/>
    </Heuristic>
    
	<UnitModifierByName UnitName="GDIZoneTrooperSquad" UnitPreferenceOffensiveModifier="300%" UnitPreferenceDefensiveModifier="100%"/>

    <UnitModifierByName UnitName="GDIPitbull" UnitPreferenceOffensiveModifier="200%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIAPC" UnitPreferenceOffensiveModifier="150%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIPredator" UnitPreferenceOffensiveModifier="200%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIAAScout" UnitPreferenceOffensiveModifier="100%" UnitPreferenceDefensiveModifier="500%"/>
    <UnitModifierByName UnitName="GDISonicTank" UnitPreferenceOffensiveModifier="200%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIMammoth" UnitPreferenceOffensiveModifier="300%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIJuggernaught" UnitPreferenceOffensiveModifier="300%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIMARV" UnitPreferenceOffensiveModifier="300%" UnitPreferenceDefensiveModifier="100%"/>

    <UnitModifierByName UnitName="GDIGolumCannon" UnitPreferenceOffensiveModifier="150%" UnitPreferenceDefensiveModifier="100%"/>
    <UnitModifierByName UnitName="GDIAABattery" UnitPreferenceOffensiveModifier="100%" UnitPreferenceDefensiveModifier="50%"/>
    <UnitModifierByName UnitName="GDITerraformingStation" UnitPreferenceOffensiveModifier="200%" UnitPreferenceDefensiveModifier="100%"/>

  </AIStrategicStateDefinition>
  
  <!-- KC_07 - GDI - Attack States -->
 
 <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Focused_A"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <TimerHeuristic StartTime="0s" EndTime="180s"/>
      <PathToTargetHeuristic PathExists="true"/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToGroundStructureHeuristic" TargetType="FocusedTarget"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="FocusedTarget">
      <TeamTemplate MinUnits="3" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Focused_B"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <TimerHeuristic StartTime="181s" EndTime="-1s"/>
      <PathToTargetHeuristic PathExists="true"/>
      <SiegeThresholdHeuristic SiegeMode="false" Threshold="1.5"/>
      <FocusedThresholdHeuristic/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToGroundStructureHeuristic" TargetType="FocusedTarget"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="FocusedTarget">
      <TeamTemplate MinUnits="3" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Econ"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <PathToTargetHeuristic PathExists="true"/>
      <SiegeThresholdHeuristic SiegeMode="false" Threshold="1.0"/>
      <FocusedThresholdHeuristic/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToGroundHarvesterHeuristic" TargetType="SpreadTarget"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="SpreadTarget">
      <TeamTemplate MinUnits="6" MaxUnits="6" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Overwhelm"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <PathToTargetHeuristic PathExists="true"/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToGroundStructureHeuristic" TargetType="ExtraTarget"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="ExtraTarget">
      <TeamTemplate MinUnits="20" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Siege"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <PathToTargetHeuristic PathExists="true"/>
      <LateGameHeuristic/>
      <SiegeThresholdHeuristic SiegeMode="true" Threshold="2.0"/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="ClosestStructureHeuristic" TargetType="SiegeTarget"/>
    <Tactic Tactic="SimpleSiege" TargetType="SiegeTarget">
      <TeamTemplate MinUnits="2" MaxUnits="2" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false">
        <CreateUnits UnitName="GDIJuggernaught"/>
        <CreateUnits UnitName="GDIJuggernaught"/>
      </TeamTemplate>
      <TeamTemplate MinUnits="6" MaxUnits="10" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
    id="KC_07_GDI_AttackState_Spotters"
    UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <PathToTargetHeuristic PathExists="true"/>
      <LateGameHeuristic/>
      <SiegeThresholdHeuristic SiegeMode="true" Threshold="4.0"/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToGroundStructureHeuristic" TargetType="SiegeTarget"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="SiegeTarget">
      <TeamTemplate MinUnits="2" MaxUnits="2" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false">
        <CreateUnits UnitName="GDISniperSquad"/>
        <CreateUnits UnitName="GDISniperSquad"/>
      </TeamTemplate>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Engineer"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <PathToTargetHeuristic PathExists="true"/>
      <SiegeThresholdHeuristic SiegeMode="false" Threshold="1.5"/>
      <IntervalHeuristic IntervalTime="175s" ActiveTime="30s"/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="EngineerHeuristic" TargetType="Engineer"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="Engineer">
      <TeamTemplate MinUnits="6" MaxUnits="6" IncludeKindOf="CAN_ATTACK" ExcludeKindOf="AIRCRAFT" AlwaysRelease="false" AlwaysRecruit="false">
        <CreateUnits UnitName="GDIEngineer"/>
      </TeamTemplate>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Air"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <SiegeThresholdHeuristic SiegeMode="false" Threshold="2.0"/>
      <FocusedThresholdHeuristic/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToAirUnitHeuristic" TargetType="AssaultAirstrike"/>
    <TargetHeuristic TargetHeuristic="SafestToAirPowerPlantHeuristic" TargetType="AssaultAirstrike"/>
    <Tactic Tactic="SimpleAttack" TargetType="AssaultAirstrike">
      <TeamTemplate MinUnits="1" IncludeKindOf="CAN_ATTACK AIRCRAFT ASSAULT_AIRCRAFT" ExcludeKindOf="" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
    id="KC_07_GDI_AttackState_AirAntiTurtle"
    UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <ConstantHeuristic Weight="1.0"/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToAirUnitHeuristic" TargetType="AssaultAirstrike"/>
    <TargetHeuristic TargetHeuristic="SafestToAirStructureHeuristic" TargetType="AssaultAirstrike"/>
    <Tactic Tactic="DefenseAvoidanceAttack" TargetType="AssaultAirstrike">
      <TeamTemplate MinUnits="8" IncludeKindOf="CAN_ATTACK AIRCRAFT ASSAULT_AIRCRAFT" ExcludeKindOf="" AlwaysRelease="false" AlwaysRecruit="false"/>
    </Tactic>
  </AIStrategicStateDefinition>

  <AIStrategicStateDefinition
		id="KC_07_GDI_AttackState_Bombing"
		UnitUpgradeMultiplier="0.0">
    <Heuristic>
      <LateGameHeuristic/>
    </Heuristic>
    <TargetHeuristic TargetHeuristic="SafestToAirStructureHeuristic" TargetType="BombingAirstrike"/>
    <Tactic Tactic="SimpleAttack" TargetType="BombingAirstrike">
      <TeamTemplate MinUnits="2" IncludeKindOf="CAN_ATTACK AIRCRAFT BOMBER_AIRCRAFT" ExcludeKindOf="" AlwaysRelease="false" AlwaysRecruit="false">
        <CreateUnits UnitName="GDIFireHawk"/>
        <CreateUnits UnitName="GDIFireHawk"/>
      </TeamTemplate>
    </Tactic>
  </AIStrategicStateDefinition>
   
</AssetDeclaration>