home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 3.11 / 1998-02_Disc_3.11.iso / DR-DEMO / DATA / DARK / AIP / FDHAR1.AIP < prev    next >
Text File  |  1997-10-28  |  8KB  |  252 lines

  1. /*****************************************************************************
  2.  
  3.   Defarley.AIP
  4.  
  5.  *****************************************************************************/
  6.  
  7. #include "aipdef.h"
  8.  
  9. // How often do we recompute the strategy?
  10. int recompute_strategy_period = 40;
  11.  
  12.  
  13. int infiltrator_period = 2;
  14.  
  15. // PRIORITIES
  16. int ground_unit_threat = 10;
  17. int threat_priority = 10;
  18. int distance_priority = -2;
  19. int defend_buildings_priority = 500;
  20. int attack_enemy_base_priority = 78;
  21. int persistence_priority = 30;
  22. int exploration_priority = 500;
  23. int scripted_priority = 0;
  24. int single_use_group_priority = 30;
  25. int perimeter_priority = 100;
  26. int resource_priority = 400;
  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 = 40;
  39. int max_building_defense_force = 300;
  40.  
  41. int min_exploration_force = 1;
  42. int max_exploration_force = 200;
  43.  
  44. int min_perimeter_force = 40;
  45. int max_perimeter_force = 70;
  46.  
  47. int min_resource_force = 300;
  48. int max_resource_force = 1000;
  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,             4000;
  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. // Slush_fund
  97. // --------------------
  98. // This specifies the baseline super-critical account
  99.  
  100. ACCOUNT Slush_fund[MAX_ACCOUNT_LENGTH];
  101.  
  102. #DATA
  103.  
  104. //  Priority     Item Name              Build Type              Build Amount
  105. //--------------------------------------------------------------------
  106.     19,          "fh1",                  NUMBER_TO_HAVE,         1;
  107.     19,          "FGConstructionCrew",   NUMBER_TO_HAVE,         2;
  108.  
  109.  // water collection
  110.  
  111.     18,          "fglp",                 NUMBER_TO_HAVE,         1;
  112.     17,          "FGGroundTransporter",  NUMBER_TO_HAVE,         1;
  113.  
  114. #END_DATA
  115.  
  116.  
  117.  
  118. ///////////////////////////////////////////////////////////////////////////////
  119. // BASE_BUILDING
  120. // --------------------
  121. // How do we want to go about building our base?
  122.  
  123. ACCOUNT Base_building[MAX_ACCOUNT_LENGTH];
  124.  
  125. #DATA
  126.  
  127. //  Priority     Item Name              Build Type              Build Amount
  128. //--------------------------------------------------------------------
  129.  
  130.     // the basic base - power and troop production
  131.  
  132.     18,          "fgpp",                 NUMBER_TO_HAVE,         1;
  133.     18,          "fu1",                  NUMBER_TO_HAVE,         1;
  134.  
  135.     // factory level one,
  136.  
  137.     16,          "fc1",                  NUMBER_TO_HAVE,         1;
  138.  
  139.     // for the construction mad
  140.  
  141.     15,          "fgre",                 NUMBER_TO_HAVE,         1;
  142.     15,          "fh2",                  NUMBER_TO_HAVE,         1;
  143.  
  144.  
  145.     // for the trip tank
  146.  
  147.     14,          "fc2",                  NUMBER_TO_HAVE,         1;
  148.     14,          "fgpp",                 NUMBER_TO_HAVE,         2;
  149.     14,          "fg",                   NUMBER_TO_HAVE,         2;
  150.  
  151.     // a defense point
  152.  
  153.     13,          "fa",                   NUMBER_TO_HAVE,         1;
  154.  
  155.     // air support facility
  156.  
  157.     12,          "fh3",                  NUMBER_TO_HAVE,         1;
  158.     12,          "fu2",                  NUMBER_TO_HAVE,         1;
  159.     12,          "fgar",                 NUMBER_TO_HAVE,         1;
  160.  
  161.     // underground stuff for the shock wave
  162.     11,          "ft1",                  NUMBER_TO_HAVE,         1;
  163.     11,          "ft2",                  NUMBER_TO_HAVE,         1;
  164.     11,          "fgpp",                 NUMBER_TO_HAVE,         3;
  165.  
  166.     // Base Defense facility
  167.  
  168.     10,          "fa",                   NUMBER_TO_HAVE,         4;
  169.     10,          "fs",                   NUMBER_TO_HAVE,         1;
  170.  
  171.  
  172.  
  173.  
  174. #END_DATA
  175.   
  176.  
  177.  
  178. ///////////////////////////////////////////////////////////////////////////////
  179. // OFFENSIVE
  180. // --------------------
  181. // What sort of offensive units and support structures do we want
  182.  
  183. ACCOUNT Offensive[MAX_ACCOUNT_LENGTH];
  184.  
  185. #DATA
  186.  
  187. //  Priority     Item Name              Build Type        Build Amount
  188. //--------------------------------------------------------------------
  189.  
  190.     5,           "FGFreedomFighter",      RATIO_TO_BUILD,  8;
  191.     5,           "FGMercenary",           RATIO_TO_BUILD,  8;
  192.     5,           "FGSpiderBike",          RATIO_TO_BUILD,  1;
  193.     5,           "FGMediumTank",          RATIO_TO_BUILD,  2;
  194.     5,           "FGTankHunterTank",      RATIO_TO_BUILD,  2;
  195.     5,           "FGSuicideNuker",        RATIO_TO_BUILD,  2;
  196.  
  197. #END_DATA
  198.  
  199.  
  200.  
  201.  
  202.  
  203. ///////////////////////////////////////////////////////////////////////////////
  204. // FORCE MATCHING
  205. // --------------
  206. // Which units do we want to emphasize & target with this aip?
  207. // Note that this can be used for BOTH the AI team's unit strengths and 
  208. // the opponents'
  209. FORCE_MATCHING My_Matchings[MAX_FORCE_MATCHING];
  210.  
  211. #DATA
  212.  
  213. // Unit Name             Multiplier
  214. //----------------------------------
  215.    "FGMercenary",        1.0;
  216.    "FGSpiderBike",       1.0;
  217.  
  218. #END_DATA
  219.  
  220.  
  221. ///////////////////////////////////////////////////////////////////////////////
  222. // Unit Match-ups
  223. // --------------
  224. // When we see a unit of one of the following types, build the corresponding 
  225. // unit in the corresponding quantity
  226. UNIT_MATCH_UP My_Match_ups[MAX_BUILDINGS];
  227.  
  228. #DATA
  229.  
  230. // Enemy Unit           What to build           How many to build
  231. //------------------------------------------------------------------
  232.    "FGSkyBike",           "FGMediumTank",              0.5;
  233.    "FGDualSkyBike",       "FGMediumTank",              0.5;
  234.    "ImpVTOL",           "FGMediumTank",              0.5;
  235.    "IMPSkyFortress",       "FGMediumTank",              0.5;
  236.    "IMPReconSaucer",       "FGMediumTank",              0.5;
  237.    "FGFreedomFighter",  "FGSuicideNuker",              0.05;
  238.    "FGMercenary",       "FGSuicideNuker",              0.05;
  239.    "IMPStrikeMarine",        "FGSuicideNuker",          0.05;
  240.    "IMPFireSupportMarine",   "FGSuicideNuker",          0.05;
  241.    "TSkyBike",           "FGMediumTank",              0.5;
  242.    "TDualSkyBike",       "FGMediumTank",              0.5;
  243.    "TVTOL",           "FGMediumTank",              0.5;
  244.    "TSkyFortress",       "FGMediumTank",              0.5;
  245.    "TReconSaucer",       "FGMediumTank",              0.5;
  246.    "TFreedomFighter",  "FGSuicideNuker",              0.05;
  247.    "TMercenary",       "FGSuicideNuker",              0.05;
  248.    "TStrikeMarine",        "FGSuicideNuker",          0.05;
  249.    "TFireSupportMarine",   "FGSuicideNuker",          0.05;
  250.  
  251. #END_DATA
  252.