/*****************************************************************************

  Default.AIP

 *****************************************************************************/

#include "aipdef.h"

// How often do we recompute the strategy?
int recompute_strategy_period = 10;

#define VERBOSE_SCHEDULER 1


// PRIORITIES
int escort_priority = 10000;
int min_escort_force = 1;
int max_escort_force = 1;
/*
int ground_unit_threat = 5; //50
int threat_priority = 50;
int distance_priority = -1;  // was -1
int defend_buildings_priority = 50;
int attack_enemy_base_priority = 75; //50
int persistence_priority = 5;
int exploration_priority = 0; //50
int scripted_priority = 50;
int single_use_group_priority = 30;
int perimeter_priority = 10000; //50
*/
int ground_unit_threat = 1; //50
int threat_priority = 14000;
int distance_priority = -1;  // was -1
int defend_buildings_priority = 10;
int attack_enemy_base_priority = 3000; //50
int persistence_priority = 2000;
int exploration_priority = 800; //50
int scripted_priority = 50;
int single_use_group_priority = 30;
int perimeter_priority = 10000; //50

// TROOP COMMITMENT STUFF 
double min_matching_force_ratio = 1.0;
double max_matching_force_ratio = 6.0;

// When generic troops are called for, what should be ratio of troops that can
// shoot ground targets to troops that can shoot air targets?
double generic_ground_ratio = 1.0;

int min_building_defense_force = 1;
int max_building_defense_force = 2;

int min_exploration_force = 1;
int max_exploration_force = 1;

int min_perimeter_force = 1;
int max_perimeter_force = 1;


// Scheduler goals stuff
#define MAX_DEFEND_BASE_GOALS 2

#define MAX_ATTACK_TROOPS_GOALS 1

#define MAX_SEIGE_GOALS 1

#define MAX_EXPLORATION_GOALS 4

#define MAX_SCRIPTED_GOALS 8

#define MAX_PERIMETER_GOALS 3

#define MAX_RECON_GOAL_GOALS 2

#define MAX_RESOURCE_GOAL_GOALS 8

#define MAX_OTHER_GOAL_GOALS 3

#define MAX_ESCORT_GOAL_GOALS 2


// RELAXATION STUFF 
int relaxation_cycles = 2;
float relaxation_coefficient = .5;


///////////////////////////////////////////////////////////////////////////////
// New Construction Program stuff


///////////////////////////////////////////////////////////////////////////////
// The UCP Data
// --------------------
// This specifies what type of units to build.
UNIT_CONSTRUCTION_PROGRAM unit_construction_program[MAX_UCP_LENGTH];

#DATA

//   Which Account          BUDGET          BUDGET CAP
//----------------------------------------------------
     "Slush_fund",          50,             100;
     "Offensive",           50,             15500;

#END_DATA



///////////////////////////////////////////////////////////////////////////////
// ACCOUNT NOTES.
// --------------
// For each line item in an account, you must specify a build type from one of
// the following... NUMBER_TO_HAVE, NUMBER_TO_BUILD, RATIO_TO_BUILD, or RATIO_TO_HAVE.
//
// The "RATIO" items can only occur in the lowest priority level of an account.
// Also, all line-items with the same priority must have the same build type


///////////////////////////////////////////////////////////////////////////////
// Slush_fund
// --------------------
// This specifies the baseline super-critical account

ACCOUNT Slush_fund[MAX_ACCOUNT_LENGTH];

#DATA

//  Priority     Item Name              Build Type              Build Amount
//--------------------------------------------------------------------
	16,			"svmuf",				NUMBER_TO_HAVE,			1;	
    16,          "svturr",              NUMBER_TO_HAVE,         6;
    16,          "svscav",              NUMBER_TO_HAVE,         5;

#END_DATA
  


///////////////////////////////////////////////////////////////////////////////
// OFFENSIVE
// --------------------
// What sort of offensive units and support structures do we want

ACCOUNT Offensive[MAX_ACCOUNT_LENGTH];

#DATA

//  Priority     Item Name              Build Type              Build Amount
//--------------------------------------------------------------------
        5,              "svfigh",            NUMBER_TO_HAVE,		4;
	5,		"svturr",				NUMBER_TO_HAVE,		5;
	5, "svtank",				NUMBER_TO_HAVE, 5;
	5,	"svmine",				NUMBER_TO_HAVE,	1;

#END_DATA




///////////////////////////////////////////////////////////////////////////////
// FORCE MATCHING
// --------------
// Which units do we want to emphasize & target with this aip?
// Note that this can be used for BOTH the AI team's unit strengths and 
// the opponents'
FORCE_MATCHING My_Matchings[MAX_FORCE_MATCHING];

#DATA

// Unit Name             Multiplier
//----------------------------------
   "svfigh",       1.0;
   "svturr",       1.0;
   "svscav",       0.2;
	"svtank",	1.5;
   "avfigh",       2.0;
   "avtank",		2.0;
   "avturr",       1.0;
   "avscav",       0.2;

#END_DATA
