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

  Default.AIP

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

#include "aipdef.h"

int VERBOSE_SCHEDULER = 0;


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

// PRIORITIES
int ground_unit_threat = 5; //50
int threat_priority = 1000;
int distance_priority = -1;  // was -1
int defend_buildings_priority = 1;
int attack_enemy_base_priority = 3000; //50
int persistence_priority = 5;
int exploration_priority = 400; //50
int scripted_priority = 50;
int single_use_group_priority = 30;
int perimeter_priority = 1; //50
int escort_priority = 15000;


// TROOP COMMITMENT STUFF 
double min_matching_force_ratio = 0.2;
double max_matching_force_ratio = 10.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 = 1;

int min_exploration_force = 1;
int max_exploration_force = 1;

int min_perimeter_force = 1;
int max_perimeter_force = 1;

int min_escort_force = 1;
int max_escort_force = 1;



// RELAXATION STUFF 
int relaxation_cycles = 0;
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",	UNLIMITED,	40;
	"Defense",	40,		100;
	"Offense",	60,             100;

#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
// --------------------
// This specifies the baseline super-critical account

ACCOUNT Slush[MAX_ACCOUNT_LENGTH];

#DATA

//  Priority     Item Name              Build Type              Build Amount
//--------------------------------------------------------------------
	20,	"svrecy",	NUMBER_TO_HAVE,		1;
	19,	"svscav",	NUMBER_TO_HAVE,		3;
	18,	"svmuf",	NUMBER_TO_HAVE,		1;
	17,	"svslf",	NUMBER_TO_HAVE,		1;

#END_DATA



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

ACCOUNT Defense[MAX_ACCOUNT_LENGTH];

#DATA

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

#END_DATA

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

ACCOUNT Offense[MAX_ACCOUNT_LENGTH];

#DATA

//  Priority     Item Name              Build Type              Build Amount
//--------------------------------------------------------------------
	10,		"svfigh",	RATIO_TO_BUILD,		4;
	10,		"svturr",	RATIO_TO_BUILD,		2;

#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
//----------------------------------

	"hvsav",	3.0;
   "svfigh",        2.0;
   "svturr",	1.0;
   "svscav",       0.2;
   "svtank".	1.5;

   "avfigh",        2.0;
   "avturr",	1.0;
   "avscav",       0.2;
	"avtank",	2.0;

#END_DATA

BUILDING_MATCHING My_Building_Matchings[MAX_BUILDINGS];

#DATA

// Building Name                   Multiplier         Where to Build
//------------------------------------------------------------------
   "avmuf",                           2.00,              CENTER_OF_BASE;
   "avrecy",                          2.00,              CENTER_OF_BASE;

#END_DATA
