home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 April B / Pcwk4b98.iso / Gry / DARKREIG / Data / Dark / Aip / TDPer.AIP < prev    next >
Text File  |  1997-10-28  |  8KB  |  241 lines

  1. /*****************************************************************************
  2.  
  3.   Defend Perimeter
  4.  
  5.  *****************************************************************************/
  6.  
  7. #include "aipdef.h"
  8.  
  9. // How often do we recompute the strategy?
  10. int recompute_strategy_period = 50;
  11.  
  12.  
  13. int infiltrator_period = 10;
  14.  
  15. // PRIORITIES
  16. int ground_unit_threat = 200;
  17. int threat_priority = 1;
  18. int distance_priority = -1;
  19. int defend_buildings_priority = 700;
  20. int attack_enemy_base_priority = 0;
  21. int persistence_priority = 0;
  22. int exploration_priority = 500;
  23. int scripted_priority = 0;
  24. int single_use_group_priority = 50;
  25. int perimeter_priority = 1000;
  26. int resource_priority = 700;
  27. int danger_priority = 1000;  
  28. int danger_diminishment = 1;
  29.  
  30. // TROOP COMMITMENT STUFF 
  31. double min_matching_force_ratio = 2.0;
  32. double max_matching_force_ratio = 7.0;
  33.  
  34. // When generic troops are called for, what should be ratio of troops that can
  35. // shoot ground targets to troops that can shoot air targets?
  36. double generic_ground_ratio = 1.0;
  37.  
  38. int min_building_defense_force = 140;
  39. int max_building_defense_force = 280;
  40.  
  41. int min_exploration_force = 70;
  42. int max_exploration_force = 70;
  43.  
  44. int min_perimeter_force = 340;
  45. int max_perimeter_force = 650;
  46.  
  47. int min_resource_force = 70;
  48. int max_resource_force = 140;
  49.  
  50. // RELAXATION STUFF 
  51. int relaxation_cycles = 1;
  52. float relaxation_coefficient = 1.0;
  53.  
  54. // The transport we should use
  55. #define transport "FGGroundTransporter"
  56.  
  57. // Should we repair buildings during this aip
  58. int repair_buildings = YES;
  59.  
  60.  
  61.  
  62.  
  63. ///////////////////////////////////////////////////////////////////////////////
  64. // New Construction Program stuff
  65.  
  66.  
  67. ///////////////////////////////////////////////////////////////////////////////
  68. // The UCP Data
  69. // --------------------
  70. // This specifies what type of units to build.
  71. UNIT_CONSTRUCTION_PROGRAM unit_construction_program[MAX_UCP_LENGTH];
  72.  
  73. #DATA
  74.  
  75. //   Which Account          BUDGET          BUDGET CAP
  76. //----------------------------------------------------
  77.      "Slush_fund",          UNLIMITED,      UNLIMITED;
  78.      "Base_building",       40,             8000;
  79.      "Offensive",           60,             6000;
  80.  
  81. #END_DATA
  82.  
  83.  
  84.  
  85. ///////////////////////////////////////////////////////////////////////////////
  86. // ACCOUNT NOTES.
  87. // --------------
  88. // For each line item in an account, you must specify a build type from one of
  89. // the following... NUMBER_TO_HAVE, NUMBER_TO_BUILD, RATIO_TO_BUILD, or RATIO_TO_HAVE.
  90. //
  91. // The "RATIO" items can only occur in the lowest priority level of an account.
  92. // Also, all line-items with the same priority must have the same build type
  93.  
  94.  
  95.  
  96. ///////////////////////////////////////////////////////////////////////////////
  97. // Slush_fund
  98. // --------------------
  99. // This specifies the baseline super-critical account
  100.  
  101. ACCOUNT Slush_fund[MAX_ACCOUNT_LENGTH];
  102.  
  103. #DATA
  104.  
  105. //  Priority     Item Name              Build Type              Build Amount
  106. //--------------------------------------------------------------------
  107.     19,          "tfh1",                   NUMBER_TO_HAVE,         1;
  108.     19,          "TConstructionCrew",      NUMBER_TO_HAVE,         2;
  109.  
  110.  // water collection
  111.  
  112.     18,          "tfglp",                 NUMBER_TO_HAVE,         1;
  113.     17,          "TGroundTransporter",    NUMBER_TO_HAVE,         1;
  114.  
  115.  
  116. #END_DATA
  117.  
  118.  
  119. ///////////////////////////////////////////////////////////////////////////////
  120. // BASE_BUILDING
  121. // --------------------
  122. // How do we want to go about building our base?
  123.  
  124. ACCOUNT Base_building[MAX_ACCOUNT_LENGTH];
  125.  
  126. #DATA
  127.  
  128. //  Priority     Item Name              Build Type              Build Amount
  129. //--------------------------------------------------------------------
  130.  
  131.     // the basic base - power and troop production
  132.  
  133.     18,          "tfgpp",                 NUMBER_TO_HAVE,         1;
  134.     18,          "tfu1",                  NUMBER_TO_HAVE,         1;
  135.  
  136.  
  137.     // factory level one,
  138.  
  139.     16,          "tic1",                  NUMBER_TO_HAVE,         1;
  140.     16,          "tig",                   NUMBER_TO_HAVE,         2;
  141.     
  142.     // upgrade headquarters
  143.  
  144.     15,          "tfh2",                  NUMBER_TO_HAVE,         1;
  145.     15,          "tfgpp",                 NUMBER_TO_HAVE,         2;
  146.     
  147.     // for the tachyon tank
  148.  
  149.     14,          "tic2",                  NUMBER_TO_HAVE,         1;
  150.     14,          "tig",                   NUMBER_TO_HAVE,         2;
  151.  
  152.  
  153.    
  154.     // Base Defense facility
  155.  
  156.     10,          "tia",                   RATIO_TO_BUILD,         4;
  157.     10,          "tfs",                   RATIO_TO_BUILD,         1;
  158.     10,          "tfgpp",                 RATIO_TO_BUILD,         1;
  159.  
  160.  
  161. #END_DATA
  162.   
  163.  
  164.  
  165. ///////////////////////////////////////////////////////////////////////////////
  166. // OFFENSIVE
  167. // --------------------
  168. // What sort of offensive units and support structures do we want
  169.  
  170. ACCOUNT Offensive[MAX_ACCOUNT_LENGTH];
  171.  
  172. #DATA
  173.  
  174. //  Priority     Item Name              Build Type        Build Amount
  175. //--------------------------------------------------------------------
  176.  
  177.     5,           "TStrikeMarine",        NUMBER_TO_HAVE,  12;
  178.     5,           "TFireSupportMarine",   NUMBER_TO_HAVE,  12;
  179.     5,           "TMercenary",           NUMBER_TO_HAVE,  12;
  180.     5,           "THoverMarine",         NUMBER_TO_HAVE,  3;
  181.     5,           "TSuicideNuker",        NUMBER_TO_HAVE,  3;
  182.     5,           "TTankHunterTank",      NUMBER_TO_HAVE,  5;
  183.     5,           "TTripleRailHoverTank", NUMBER_TO_HAVE,  2;
  184.     5,           "TTachyonTank",      NUMBER_TO_HAVE,  2;
  185.     5,           "TMediumTank",          NUMBER_TO_HAVE,  6;
  186.     5,           "TFGSPA",               NUMBER_TO_HAVE,  4;
  187.  
  188. #END_DATA
  189.  
  190. ///////////////////////////////////////////////////////////////////////////////
  191. // FORCE MATCHING
  192. // --------------
  193. // Which units do we want to emphasize & target with this aip?
  194. // Note that this can be used for BOTH the AI team's unit strengths and 
  195. // the opponents'
  196. FORCE_MATCHING My_Matchings[MAX_FORCE_MATCHING];
  197.  
  198. #DATA
  199.  
  200. // Unit Name             Multiplier
  201. //----------------------------------
  202.    
  203.  
  204. #END_DATA
  205.  
  206.  
  207. ///////////////////////////////////////////////////////////////////////////////
  208. // Unit Match-ups
  209. // --------------
  210. // When we see a unit of one of the following types, build the corresponding 
  211. // unit in the corresponding quantity
  212. UNIT_MATCH_UP My_Match_ups[MAX_BUILDINGS];
  213.  
  214. #DATA
  215.  
  216. // Enemy Unit           What to build           How many to build
  217. //------------------------------------------------------------------
  218.    "TSkyBike",           "TIMPMAD",              0.5;
  219.    "TDualSkyBike",       "TMediumTank",          0.5;
  220.    "TVTOL",           "TMediumTank",          0.5;
  221.    "TSkyFortress",       "TMediumTank",          0.5;
  222.    "TReconSaucer",       "TMediumTank",          0.5;
  223.    "TFreedomFighter",   "TShredder",              0.05;
  224.    "TMercenary",        "TShredder",              0.05;
  225.    "TStrikeMarine",        "TShredder",         0.05;
  226.    "TFireSupportMarine",   "TShredder",         0.05;
  227.    "FGSkyBike",           "TFireSupportMarine", 1.5;
  228.    "FGDualSkyBike",       "TIMPMAD",               0.5;
  229.    "ImpVTOL",           "TFireSupportMarine", 1.5;
  230.    "IMPSkyFortress",       "TMediumTank",        0.5;
  231.    "IMPReconSaucer",       "TMediumTank",        0.2;
  232.    "IMPReconSaucer",       "TFireSupportMarine", 1.0;
  233.    "FGFreedomFighter",  "TShredder",          0.05;
  234.    "FGMercenary",       "TShredder",          0.05;
  235.    "IMPStrikeMarine",        "TShredder",     0.05;
  236.    "IMPFireSupportMarine",   "TShredder",     0.05;
  237.  
  238.  
  239. #END_DATA
  240.  
  241.