home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer 4.2 / 1998-08_Disc_4.2.iso / dominion / domdem11.exe / Dominion / Demo-5.sdl < prev    next >
Text File  |  1998-04-02  |  18KB  |  482 lines

  1. ; Scenario Description Language
  2.  
  3. MISSION_BUILDINFO = "Kelly Hoerner", "v.FINAL", "03.30.98"
  4.  
  5. MISSION_CINEMATS = "H3mix.smk", "nothing", "nothing"
  6.  
  7. MISSION_BRIEF_WAV = "nothing"
  8.  
  9. MISSION_BRIEF = 18 ; text lines
  10.  
  11. Demo-5  Objectives
  12. - One of our top Commanders and his aides
  13.   were captured behind Enemy lines.  You 
  14.   must defeat the nearby Enemy forces and 
  15.   rescue them before they are harmed.  
  16. #
  17. - The Enemy is expecting a rescue attempt and
  18.   as a result have heavy recon patrols scanning
  19.   the area.  Take your team and quickly build
  20.   your basic structures and erect energy walls
  21.   to keep the Enemy recon vehicles out.  Locate
  22.   and expand to additional matter wells, then take
  23.   the fight to the Enemy.
  24. #
  25. - When you locate our Commander and his aides, 
  26.   move them to the Teleport pad and warp them to
  27.   safety.  Remember, you are responsible for their
  28.   lives.  Do not let anything happen to them.
  29.  
  30. GAME_INIT =
  31.   LOAD_MAP = "Demo-5.wxp"
  32.   SET_NEXT_SCENARIO = "Human6.sdc"
  33.  
  34.   SET_MAX_PLAYERS = 2                    ; (max players)
  35.   SET_COMPUTER_PLAYER = PLAYER_1, POSTURE_PASSIVE   ; (computer playerId)
  36.  
  37. ; Player 0 settings
  38.   SET_PLAYER_RACE  = PLAYER_0, HUMAN            ; (playerId, raceId)
  39.   SET_PLAYER_COLOR = PLAYER_0, 0                ; (playerId, colorIdx)
  40.   SET_TECH_LEVEL   = PLAYER_0, 15    ; (playerId, tech level)
  41.   SET_MEN_MATERIAL = PLAYER_0, SET, 375, 12000, 350, 11000, 300, 10000 ; (playerId, setting (SET, ADD, or RESET), men, mat)
  42.  
  43. ; Player 1 settings
  44.   SET_PLAYER_RACE  = PLAYER_1, HUMAN            ; (playerId, raceId)
  45.   SET_PLAYER_COLOR = PLAYER_1, 0                ; (playerId, colorIdx)
  46.   SET_TECH_LEVEL   = PLAYER_1, 15    ; (playerId, tech level)
  47.   SET_MEN_MATERIAL = PLAYER_1, SET, 20, 1500, 20, 2500, 20, 4000 ; (playerId, setting (SET, ADD, or RESET), men, mat)
  48.  
  49. ; ***Terrain analysis results***
  50.  
  51. ;AOA: dir, y-intercept, intersects?, startFree?, endFree?, <list of sectors>
  52. AOA = 0, 0, 1, 1, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8
  53. AOA = 0, 3, 1, 1, 1, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62
  54. AOA = 0, 7, 0, 1, 1, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127
  55. AOA = 1, -8, 1, 1, 1, 25, 42, 59, 76
  56. AOA = 1, 3, 1, 0, 1, 48, 65, 82, 99, 116
  57. AOA = 2, 2, 1, 0, 1, 2, 18, 34, 50, 66, 82, 98, 114
  58. AOA = 3, 3, 1, 0, 0, 3, 18, 33, 48
  59. AOA = 3, 11, 1, 1, 0, 11, 26, 41, 56
  60. AOA = 3, 5, 1, 1, 0, 20, 35, 50, 65
  61.  
  62. ;Key Terrain: sectorID, type, rating
  63. KEY_TERRAIN = 2, 0, 100
  64. KEY_TERRAIN = 59, 0, 100
  65. KEY_TERRAIN = 56, 0, 100
  66. KEY_TERRAIN = 82, 0, 100
  67. KEY_TERRAIN = 48, 0, 100
  68. KEY_TERRAIN = 50, 0, 100
  69. KEY_TERRAIN = 123, 1, 50
  70. KEY_TERRAIN = 1, 2, 28
  71. KEY_TERRAIN = 8, 2, 83
  72. KEY_TERRAIN = 68, 2, 18
  73. KEY_TERRAIN = 110, 2, 56
  74. KEY_TERRAIN = 35, 2, 56
  75.  
  76.  
  77. AI_INIT
  78.  
  79. ; ***ENERGY WELLS***
  80.  
  81. ADD_ENERGYWELL = 64, -800, 90000, 90000, 1
  82. ADD_ENERGYWELL = 1856, -736, 90000, 90000, 1
  83. ADD_ENERGYWELL = -1696, 688, 40000, 40000, 1
  84. ADD_ENERGYWELL = -1856, -896, 30000, 30000, 1
  85. ADD_ENERGYWELL = 448, 384, 30000, 30000, 1000
  86.  
  87.  
  88. ; ***STRUCTURE UNITS***
  89.  
  90. ; Player 0, Base 1 (default)
  91.   ADD_UNIT = 0, 100, 1, 20, 0, OBJECTIVE_PAD, -1888, 624, NORMAL, DIFFICULTY_EASY
  92.  
  93.  
  94. ; Player 1, Base 1 (default)
  95.   ADD_UNIT = 1, 68, 1, 0, 0, 0, 1920, -672, NORMAL, DIFFICULTY_EASY
  96.   ADD_UNIT = 1, 128, 1, 0, 0, 0, 1472, -480, ADVANCED, DIFFICULTY_EASY
  97.   ADD_UNIT = 1, 128, 1, 0, 0, 0, -320, -608, ADVANCED, DIFFICULTY_EASY
  98.   ADD_UNIT = 1, 116, 1, 0, 0, 0, -416, -752, NORMAL, DIFFICULTY_EASY
  99.   ADD_UNIT = 1, 132, 1, 0, 0, 0, 1376, -944, NORMAL, DIFFICULTY_EASY
  100.   ADD_UNIT = 1, 68, 1, 0, 0, 0, 1632, -848, NORMAL, DIFFICULTY_EASY
  101.   ADD_UNIT = 1, 124, 1, 0, 0, 0, 256, -928, ADVANCED, DIFFICULTY_EASY
  102.   ADD_UNIT = 1, 128, 1, 0, 0, 0, -448, -512, ADVANCED, DIFFICULTY_EASY
  103.   ADD_UNIT = 1, 68, 1, 0, 0, 0, 992, -560, NORMAL, DIFFICULTY_EASY
  104.   ADD_UNIT = 1, 68, 1, 0, 0, 0, -928, -240, NORMAL, DIFFICULTY_EASY
  105.   ADD_UNIT = 1, 132, 1, 0, 0, 0, -800, -336, NORMAL, DIFFICULTY_EASY
  106.   ADD_UNIT = 1, 64, 1, 0, 0, 0, 1536, -608, NORMAL, DIFFICULTY_EASY
  107.   ADD_UNIT = 1, 68, 1, 0, 0, 0, 1280, -928, NORMAL, DIFFICULTY_EASY
  108.   ADD_UNIT = 1, 64, 1, 0, 0, 0, 1312, -720, NORMAL, DIFFICULTY_EASY
  109.   ADD_UNIT = 1, 64, 1, 0, 0, 0, 1088, -608, NORMAL, DIFFICULTY_EASY
  110.   ADD_UNIT = 1, 64, 1, 0, 0, 0, 1312, -496, NORMAL, DIFFICULTY_EASY
  111.   ADD_UNIT = 1, 64, 1, 0, 0, 0, -224, -48, NORMAL, DIFFICULTY_EASY
  112.   ADD_UNIT = 1, 64, 1, 0, 0, 0, -448, -160, NORMAL, DIFFICULTY_EASY
  113.   ADD_UNIT = 1, 132, 1, 0, 0, 0, 1536, -544, NORMAL, DIFFICULTY_EASY
  114.   ADD_UNIT = 1, 68, 1, 0, 0, 0, -64, -672, NORMAL, DIFFICULTY_EASY
  115.   ADD_UNIT = 1, 132, 1, 0, 0, 0, 1024, -640, NORMAL, DIFFICULTY_EASY
  116.   ADD_UNIT = 1, 68, 1, 0, 0, 0, 1344, -416, NORMAL, DIFFICULTY_EASY
  117.   ADD_UNIT = 1, 128, 1, 0, 0, 0, 1664, -672, ADVANCED, DIFFICULTY_EASY
  118.   ADD_UNIT = 1, 124, 1, 0, 0, 0, 1472, -768, ADVANCED, DIFFICULTY_EASY
  119.   ADD_UNIT = 1, 132, 1, 0, 0, 0, 512, -928, NORMAL, DIFFICULTY_EASY
  120.   ADD_UNIT = 1, 68, 1, 0, 0, 0, -704, -864, NORMAL, DIFFICULTY_EASY
  121.   ADD_UNIT = 1, 128, 1, 0, 0, 0, 1696, -560, ADVANCED, DIFFICULTY_HARD
  122.   ADD_UNIT = 1, 68, 1, 0, 0, 0, -992, -304, NORMAL, DIFFICULTY_EASY
  123.   ADD_UNIT = 1, 128, 1, 0, 0, 0, -704, -384, ADVANCED, DIFFICULTY_HARD
  124.   ADD_UNIT = 1, 132, 1, 0, 0, 0, -288, -272, NORMAL, DIFFICULTY_EASY
  125.   ADD_UNIT = 1, 132, 1, 0, 0, 0, -576, -800, NORMAL, DIFFICULTY_EASY
  126.   ADD_UNIT = 1, 128, 1, 0, 0, 0, 1600, -928, ADVANCED, DIFFICULTY_MEDIUM
  127.   ADD_UNIT = 1, 72, 1, 0, 0, 0, -1056, -240, NORMAL, DIFFICULTY_MEDIUM
  128.   ADD_UNIT = 1, 80, 1, 15, 0, 0, -192, -928, ADVANCED, DIFFICULTY_EASY
  129.   ADD_UNIT = 1, 120, 1, 0, 0, 0, -608, -464, ADVANCED, DIFFICULTY_EASY
  130.   ADD_UNIT = 1, 84, 1, 0, 0, 0, 1760, -912, ADVANCED, DIFFICULTY_EASY
  131.   ADD_UNIT = 1, 92, 1, 0, 0, 0, 1856, -736, NORMAL, DIFFICULTY_EASY
  132.   ADD_UNIT = 1, 92, 1, 0, 0, 0, 64, -800, NORMAL, DIFFICULTY_EASY
  133.   ADD_UNIT = 1, 124, 1, 0, 0, 0, -608, -720, ADVANCED, DIFFICULTY_EASY
  134.   ADD_UNIT = 1, 72, 1, 0, 0, 0, -448, -928, NORMAL, DIFFICULTY_MEDIUM
  135.   ADD_UNIT = 1, 68, 1, 0, 0, 0, 1280, -768, NORMAL, DIFFICULTY_EASY
  136.   ADD_UNIT = 1, 72, 1, 0, 0, 0, 416, -944, NORMAL, DIFFICULTY_EASY
  137.   ADD_UNIT = 1, 128, 1, 0, 0, 0, 1920, -896, ADVANCED, DIFFICULTY_MEDIUM
  138.  
  139.  
  140. ; ***MOVING UNITS***
  141.  
  142. ; Player 0, Group 1 (default)
  143.   ADD_UNIT = 0, 16, 2, 0, 0, 0, -1216, 704, NORMAL, DIFFICULTY_EASY
  144.   ADD_UNIT = 0, 0, 0, 0, 0, 0, -1184, 656, NORMAL, DIFFICULTY_EASY
  145.   ADD_UNIT = 0, 0, 0, 0, 0, 0, -1088, 800, NORMAL, DIFFICULTY_EASY
  146.   ADD_UNIT = 0, 0, 0, 3, ACT_PASSIVE, 0, 1248, -624, NORMAL, DIFFICULTY_EASY
  147.   ADD_UNIT = 0, 4, 1, 0, 0, 0, -1152, 832, NORMAL, DIFFICULTY_EASY
  148.   ADD_UNIT = 0, 0, 2, 3, ACT_PASSIVE, 0, 1376, -624, NORMAL, DIFFICULTY_EASY
  149.   ADD_UNIT = 0, 12, 5, 3, ACT_PASSIVE, 0, 1312, -592, NORMAL, DIFFICULTY_EASY
  150.   ADD_UNIT = 0, 0, 7, 3, ACT_PASSIVE, 0, 1344, -608, NORMAL, DIFFICULTY_EASY
  151.   ADD_UNIT = 0, 4, 2, 0, 0, 0, -1152, 768, NORMAL, DIFFICULTY_EASY
  152.   ADD_UNIT = 0, 60, 7, 0, 0, 0, -1120, 720, NORMAL, DIFFICULTY_EASY
  153.   ADD_UNIT = 0, 0, 3, 3, ACT_PASSIVE, 0, 1280, -640, NORMAL, DIFFICULTY_EASY
  154.   ADD_UNIT = 0, 0, 0, 0, 0, 0, -1280, 768, NORMAL, DIFFICULTY_EASY
  155.   ADD_UNIT = 0, 12, 0, 0, 0, 0, -1216, 800, NORMAL, DIFFICULTY_EASY
  156.   ADD_UNIT = 0, 0, 6, 3, ACT_PASSIVE, 0, 1248, -592, NORMAL, DIFFICULTY_EASY
  157.   ADD_UNIT = 0, 4, 6, 0, 0, 0, -1280, 832, NORMAL, DIFFICULTY_EASY
  158.   ADD_UNIT = 0, 8, 1, 0, 0, 0, -1248, 752, NORMAL, DIFFICULTY_EASY
  159.  
  160. ; Player 1, Group 2
  161. DEFGROUP = PLAYER_1
  162.   ADD_UNIT = 1, 40, 1, 0, 0, 0, 480, 208, NORMAL, DIFFICULTY_MEDIUM
  163.   ADD_UNIT = 1, 4, 0, 0, 0, 0, -384, 640, NORMAL, DIFFICULTY_MEDIUM
  164.   ADD_UNIT = 1, 0, 3, 0, 0, 0, -448, 640, NORMAL, DIFFICULTY_EASY
  165.   ADD_UNIT = 1, 4, 0, 0, 0, 0, -576, -544, NORMAL, DIFFICULTY_EASY
  166.   ADD_UNIT = 1, 40, 3, 0, 0, 0, -160, -208, NORMAL, DIFFICULTY_EASY
  167.   ADD_UNIT = 1, 4, 3, 0, 0, 0, -736, -16, NORMAL, DIFFICULTY_EASY
  168.   ADD_UNIT = 1, 4, 3, 0, 0, 0, -736, -48, NORMAL, DIFFICULTY_EASY
  169.   ADD_UNIT = 1, 40, 3, 0, 0, 0, -192, -288, NORMAL, DIFFICULTY_MEDIUM
  170.   ADD_UNIT = 1, 4, 3, 0, 0, 0, -672, -16, NORMAL, DIFFICULTY_EASY
  171.   ADD_UNIT = 1, 4, 3, 0, 0, 0, -672, -48, NORMAL, DIFFICULTY_EASY
  172.   ADD_UNIT = 1, 44, 2, 0, 0, 0, 544, -528, NORMAL, DIFFICULTY_EASY
  173.   ADD_UNIT = 1, 24, 4, 0, 0, 0, 160, -208, NORMAL, DIFFICULTY_EASY
  174.   ADD_UNIT = 1, 0, 1, 0, 0, 0, -384, 448, NORMAL, DIFFICULTY_EASY
  175.   ADD_UNIT = 1, 8, 0, 0, 0, 0, 1568, 80, NORMAL, DIFFICULTY_MEDIUM
  176.   ADD_UNIT = 1, 4, 2, 0, 0, 0, -384, 608, NORMAL, DIFFICULTY_EASY
  177.   ADD_UNIT = 1, 4, 5, 0, 0, 0, -416, 624, NORMAL, DIFFICULTY_MEDIUM
  178.   ADD_UNIT = 1, 40, 1, 0, 0, 0, 448, 256, NORMAL, DIFFICULTY_HARD
  179.   ADD_UNIT = 1, 4, 6, 0, 0, 0, 1600, 544, NORMAL, DIFFICULTY_MEDIUM
  180.   ADD_UNIT = 1, 0, 6, 0, 0, 0, 1632, 496, NORMAL, DIFFICULTY_EASY
  181.   ADD_UNIT = 1, 0, 6, 0, 0, 0, 1696, 496, NORMAL, DIFFICULTY_EASY
  182.   ADD_UNIT = 1, 0, 0, 0, 0, 0, -544, -592, NORMAL, DIFFICULTY_EASY
  183.   ADD_UNIT = 1, 0, 3, 0, 0, 0, -608, -624, NORMAL, DIFFICULTY_EASY
  184.   ADD_UNIT = 1, 0, 7, 0, 0, 0, -608, -592, NORMAL, DIFFICULTY_EASY
  185.   ADD_UNIT = 1, 0, 1, 0, 0, 0, -1536, -832, NORMAL, DIFFICULTY_EASY
  186.   ADD_UNIT = 1, 0, 1, 0, 0, 0, -1600, -832, NORMAL, DIFFICULTY_EASY
  187.   ADD_UNIT = 1, 0, 1, 0, 0, 0, -1600, -864, NORMAL, DIFFICULTY_EASY
  188.   ADD_UNIT = 1, 0, 4, 0, 0, 0, -384, 416, NORMAL, DIFFICULTY_EASY
  189.   ADD_UNIT = 1, 0, 1, 0, 0, 0, -352, 464, NORMAL, DIFFICULTY_EASY
  190.   ADD_UNIT = 1, 0, 6, 0, 0, 0, -320, 416, NORMAL, DIFFICULTY_EASY
  191.   ADD_UNIT = 1, 0, 1, 0, 0, 0, -416, 656, NORMAL, DIFFICULTY_EASY
  192.   ADD_UNIT = 1, 44, 2, 0, 0, 0, 608, -464, NORMAL, DIFFICULTY_MEDIUM
  193.   ADD_UNIT = 1, 4, 6, 0, 0, 0, 1664, 544, NORMAL, DIFFICULTY_MEDIUM
  194.   ADD_UNIT = 1, 4, 6, 0, 0, 0, 1728, 544, NORMAL, DIFFICULTY_MEDIUM
  195.   ADD_UNIT = 1, 8, 0, 0, 0, 0, 1536, 32, NORMAL, DIFFICULTY_EASY
  196. DEFGROUP_END
  197. DEFRULESET = 0
  198.  
  199. ENERGYWALL_LINK = 1312, -496, 1088, -608
  200. ENERGYWALL_LINK = 1088, -608, 1312, -720
  201. ENERGYWALL_LINK = 1312, -720, 1536, -608
  202. ENERGYWALL_LINK = 1536, -608, 1312, -496
  203.  
  204. ENERGYWALL_LINK = -448, -160, -224, -48
  205.  
  206. ;set default objective for telepads
  207. SET_DEFAULT_OBJ = 100, 20, 22
  208.  
  209. SET_OBJECTIVE = 0,100,-1888,624,20,22
  210.  
  211. SET_OBJECTIVE = 0,0,1248,-624,3,22
  212. SET_OBJECTIVE = 0,0,1280,-640,3,22
  213. SET_OBJECTIVE = 0,0,1248,-592,3,22
  214. SET_OBJECTIVE = 0,0,1376,-624,3,22
  215. SET_OBJECTIVE = 0,0,1344,-608,3,22
  216. SET_OBJECTIVE = 0,12,1312,-592,3,22
  217. ; define computer AI functionality
  218.  
  219. DEFRULE = PLAYER_1
  220.   DEFSLOT = FACT_FOG_PERCENTAGE_IS,PLAYER_1,GE,25
  221.   DEFSLOT = ACTN_RECON,1,25
  222. DEFRULE_END
  223.  
  224. DEFRULE = PLAYER_1
  225.   DEFSLOT = FACT_FOG_PERCENTAGE_IS,PLAYER_1,LT,25
  226.   DEFSLOT = FACT_PLAYERS_THREAT_COUNT_IS,PLAYER_1,EQ,0
  227.   DEFSLOT = ACTN_RECON,2,1
  228. DEFRULE_END
  229.  
  230. ;Phase 2 - Buildup/Resource Collection
  231. ;To happen when Player_0 is not yet found, and when Player_0s visible
  232. ;attack forces are weak in value.   Modification for Darken: also to
  233. ;happen when Player_0s forces are overwhelmingly large/expensive.
  234.  
  235. DEFRULE = PLAYER_1
  236.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  237.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_BAV,LT,3
  238.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_BAV
  239. DEFRULE_END
  240.  
  241. DEFRULE = PLAYER_1
  242.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  243.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_TCV,LT,3
  244.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_TCV
  245. DEFRULE_END
  246.  
  247. DEFRULE = PLAYER_1
  248.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  249.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_TAV,LT,3
  250.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_TAV
  251. DEFRULE_END
  252.  
  253. DEFRULE = PLAYER_1
  254.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  255.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_PHV,LT,4
  256.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_PHV
  257. DEFRULE_END
  258.  
  259. DEFRULE = PLAYER_1
  260.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  261.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_COMMANDER,LT,1
  262.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_COMMANDER
  263. DEFRULE_END
  264.  
  265. DEFRULE = PLAYER_1
  266.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  267.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_HEAVY_INFANTRY,LT,4
  268.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_HEAVY_INFANTRY
  269. DEFRULE_END
  270.  
  271. DEFRULE = PLAYER_1
  272.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LT,26
  273.   DEFSLOT = FACT_RESERVES_UNIT_TYPE_COUNT_IS,UNIT_LIGHT_INFANTRY,LT,4
  274.   DEFSLOT = ACTN_BUILD_UNIT_TYPE,UNIT_LIGHT_INFANTRY
  275. DEFRULE_END
  276.  
  277. ;Phase 3 - Defense
  278. ;Two defense modes:  when AI has money, and when AI is out of money
  279. ;When AI is out of money, will sell of unnecessary structs.
  280.  
  281. DEFRULE = PLAYER_1
  282.   DEFSLOT = FACT_BASE_ATTACKED,1
  283.   DEFSLOT = ACTN_ELIMINATE_BASE_ATTACK,1
  284. DEFRULE_END
  285.  
  286. DEFRULE = PLAYER_1
  287.   DEFSLOT = FACT_BASE_ATTACKED,1
  288.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_0,GE,6500
  289.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_1,LE,3000
  290.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_1,GE,1500
  291.   DEFSLOT = FACT_PLAYERS_MATERIAL_IS,PLAYER_1,LT,500
  292.   DEFSLOT = ACTN_SELL_STRUCTURES,ALL_BASES,MOD_ALL_BUT_CORE_STRUCTURES
  293.   DEFSLOT = ACTN_RUSH,STRUCT_MAIN_PLANT
  294. DEFRULE_END
  295.  
  296. DEFRULE = PLAYER_1
  297.   DEFSLOT = FACT_BASE_ATTACKED,1
  298.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_0,GT,6500
  299.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_1,LT,1500
  300.   DEFSLOT = FACT_PLAYERS_MATERIAL_IS,PLAYER_1,LT,500
  301.   DEFSLOT = ACTN_SELL_STRUCTURES,1,MOD_ALL_BUT_CORE_STRUCTURES
  302.   DEFSLOT = ACTN_ELIMINATE_BASE_ATTACK,1
  303. DEFRULE_END
  304.  
  305. DEFRULE = PLAYER_1
  306.   DEFSLOT = FACT_BASE_ATTACKED,1
  307.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,EQ,0
  308.   DEFSLOT = FACT_PLAYERS_STRUCTURE_COUNT_IS,PLAYER_1,LE,3
  309.   DEFSLOT = ACTN_SET_BASE_REPAIR_STATE,1,MOD_REPAIR_OFF
  310. DEFRULE_END
  311.  
  312. DEFRULE = PLAYER_1
  313.   DEFSLOT = FACT_BASE_ATTACKED,1
  314.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LE,4
  315.   DEFSLOT = FACT_PLAYERS_MEN_IS,PLAYER_1,EQ,0
  316.   DEFSLOT = ACTN_SET_BASE_REPAIR_STATE,1,MOD_REPAIR_OFF
  317. DEFRULE_END
  318.  
  319. DEFRULE = PLAYER_1
  320.   DEFSLOT = FACT_BASE_ATTACKED,1
  321.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,LE,4
  322.   DEFSLOT = FACT_PLAYERS_MATERIAL_IS,PLAYER_1,LT,100
  323.   DEFSLOT = ACTN_SET_BASE_REPAIR_STATE,1,MOD_REPAIR_OFF
  324. DEFRULE_END
  325.  
  326. DEFRULE = PLAYER_1
  327.   DEFSLOT = FACT_BASE_ATTACKED,1
  328.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_COUNT_IS,PLAYER_1,LE,4
  329.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_1,STRUCT_MAIN_PLANT,EQ,0
  330.   DEFSLOT = ACTN_SELL_STRUCTURES,1,MOD_ALL_STRUCTURES
  331. DEFRULE_END
  332.  
  333. DEFRULE = PLAYER_1
  334.   DEFSLOT = FACT_PLAYERS_STRUCTURE_COUNT_IS,PLAYER_1,EQ,0
  335.   DEFSLOT = ACTN_RUSH,STRUCT_COLONY
  336.   DEFSLOT = ACTN_RUSH,STRUCT_REFINERY
  337. DEFRULE_END
  338. ;Phase 4 - Attack
  339. ;AI will attack when Player_1 has reached a reasonable(BALANCE) value of
  340. ;mobile units, or if the AI can see the player's Refinery.  Both
  341. ;of these cases will set-off harassment forces.
  342. ;The other two cases exist with larger forces and bases on the part
  343. ;of Player_1, in which progressively greater teams will be sent.
  344. ;Finally, if the AI has a large amount of resources, it will send out
  345. ;a maximal amount of forces.
  346.  
  347. DEFRULE = PLAYER_1
  348.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,GT,21
  349.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_MESON_TOWER,GT,1
  350.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_MESON_TOWER,LE,3
  351.   DEFSLOT = ACTN_ELIMINATE_THREAT,STRUCT_MESON_TOWER
  352. DEFRULE_END
  353.  
  354. DEFRULE = PLAYER_1
  355.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,GT,21
  356.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_ROCKET_TOWER,GT,1
  357.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_ROCKET_TOWER,LE,3
  358.   DEFSLOT = ACTN_ELIMINATE_THREAT,STRUCT_ROCKET_TOWER
  359. DEFRULE_END
  360.  
  361. DEFRULE = PLAYER_1
  362.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,GT,21
  363.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_CANNON_TOWER,GT,1
  364.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_CANNON_TOWER,LE,4
  365.   DEFSLOT = ACTN_ELIMINATE_THREAT,STRUCT_CANNON_TOWER
  366. DEFRULE_END
  367.  
  368. DEFRULE = PLAYER_1
  369.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,GT,21
  370.   DEFSLOT = FACT_PLAYERS_UNIT_TYPE_COUNT_IS,PLAYER_0,STRUCT_REFINERY,GE,1
  371.   DEFSLOT = ACTN_ELIMINATE_HIGHEST_THREATS,1
  372. DEFRULE_END
  373.  
  374. DEFRULE = PLAYER_1
  375.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,GT,21
  376.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_0,GT,600
  377.   DEFSLOT = ACTN_ELIMINATE_THREAT,UNIT_LIGHT_INFANTRY
  378.   DEFSLOT = ACTN_ELIMINATE_THREAT,UNIT_HEAVY_INFANTRY
  379.   DEFSLOT = ACTN_ELIMINATE_THREAT,UNIT_PHV
  380. DEFRULE_END
  381.  
  382. DEFRULE = PLAYER_1
  383.   DEFSLOT = FACT_GAME_DIFFICULTY_IS,GE,DIFFICULTY_MEDIUM
  384.   DEFSLOT = FACT_RESERVES_UNIT_COUNT_IS,GT,21
  385.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_0,GT,1600
  386.   DEFSLOT = ACTN_ELIMINATE_THREAT,UNIT_TAV
  387.   DEFSLOT = ACTN_ELIMINATE_THREAT,UNIT_TCV
  388.   DEFSLOT = ACTN_ELIMINATE_THREAT,UNIT_BAV
  389. DEFRULE_END
  390.  
  391. DEFRULE = PLAYER_1
  392.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_WORTH_IS,PLAYER_0,LE,2000
  393.   DEFSLOT = ACTN_ELIMINATE_HIGHEST_THREATS,1
  394. DEFRULE_END
  395.  
  396. DEFRULE = PLAYER_1
  397.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_COUNT_IS,PLAYER_0,EQ,5
  398.   DEFSLOT = ACTN_ELIMINATE_HIGHEST_THREATS,1
  399. DEFRULE_END
  400.  
  401. DEFRULE = PLAYER_1
  402.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_COUNT_IS,PLAYER_0,EQ,9
  403.   DEFSLOT = ACTN_ELIMINATE_HIGHEST_THREATS,1
  404. DEFRULE_END
  405.  
  406. DEFRULE = PLAYER_1
  407.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_COUNT_IS,PLAYER_0,EQ,13
  408.   DEFSLOT = ACTN_ELIMINATE_HIGHEST_THREATS,1
  409. DEFRULE_END
  410.  
  411. DEFRULE = PLAYER_1
  412.   DEFSLOT = FACT_PLAYERS_MOBILE_UNIT_COUNT_IS,PLAYER_0,EQ,16
  413.   DEFSLOT = ACTN_ELIMINATE_HIGHEST_THREATS,1
  414. DEFRULE_END
  415.  
  416. OBJECTIVE = 15, 0
  417.   ENABLE_TIMER = 1
  418.  
  419. TIMER_EVENT=1,700,FALSE,TRUE,FALSE
  420.   ADD_UNIT = 1, 80, 1, 0, 0, 0, 672, -752, NORMAL,DIFFICULTY_MEDIUM
  421.  
  422. ; define specific game objectives and actions to take after they're met
  423. OBJECTIVE = 22, 5           ; Recon team rescued
  424.   GAME_WON
  425. OBJECTIVE = 20, 0           ; Objective pad destroyed
  426.   GAME_LOST
  427. OBJECTIVE = 3, 2            ; Less than 80% of Recon team remain
  428.   GAME_LOST
  429. ; - end -
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.