1
//Generic VLO file template for start/expand levels
9
NextLev LEVEL "SUB_2_5S" //points to next level
11
/* Define Players/Enemies */
12
numEnemies int 1 //MAX 2. Must define same as number of enemy players given next
14
alliancePlayer int 0 //ally player with self (could be a different player number
15
allianceEnemy[0] int 2 //ally enemy with self (could be a different player number
16
allianceFlag BOOL FALSE //TRUE if want enemies to use each others targets, otherwise mark FALSE
18
/* Starting Enemy Power */
19
power[0] int 100000 //starting power values for each enemy listed above
22
/* Structure Limits */
23
numStrucStats int 6 //MAX 5. Must be same as number of limits given next
24
strucStat[0] STRUCTURESTAT "A0PowerGenerator"
26
strucStat[1] STRUCTURESTAT "A0ResourceExtractor"
28
strucStat[2] STRUCTURESTAT "A0ResearchFacility"
30
strucStat[3] STRUCTURESTAT "A0LightFactory"
32
strucStat[4] STRUCTURESTAT "A0CommandCentre"
34
strucStat[5] STRUCTURESTAT "A0ComDroidControl"
38
centreX int 11200 //starting view centre (in world units)
40
scrollX1 int 0 //scroll limits (in tile units)
44
zoomLevel int 0 //starting radar: 0=zoomed out, 2=zoomed in
46
numLZ int 3 //MAX 8. Number of Landing zones/areas can't build on (0 = LZ)
47
LZX[0] int 87 //coords of Alpha's LZs in tile units
49
LZX[1] int 87 //97 //coords of Beta's LZ in tile units
50
LZY[1] int 100 //97 //no longer req'd
51
LZX[2] int 50 //coords of Collective's LZ in tile units
54
ReinforceTime INT -1 //-1 for no reinforcements
55
timeLimit INT 72000 //2hrs //-1 for no time limit (needs to be done if previous misison had a time limit!)
57
/* starting technology for enemy */
58
//NOTE: need to set first number in array for enemy player
59
//second number needs to correspond to numTechs[enemy]
60
//MAX 2 enemies, 10 technologies
62
startTech [0] [0] RESEARCHSTAT "R-Defense-WallUpgrade03"
63
startTech [0] [1] RESEARCHSTAT "R-Struc-Materials04"
64
startTech [0] [2] RESEARCHSTAT "R-Struc-Factory-Upgrade04"
65
startTech [0] [3] RESEARCHSTAT "R-Struc-Factory-Cyborg-Upgrade04"
66
startTech [0] [4] RESEARCHSTAT "R-Struc-VTOLFactory-Upgrade01"
67
startTech [0] [5] RESEARCHSTAT "R-Struc-VTOLPad-Upgrade01"
68
startTech [0] [6] RESEARCHSTAT "R-Vehicle-Engine04"
69
startTech [0] [7] RESEARCHSTAT "R-Vehicle-Metals03"
70
startTech [0] [8] RESEARCHSTAT "R-Cyborg-Metals04"
71
startTech [0] [9] RESEARCHSTAT "R-Vehicle-Armor-Heat02"
72
startTech [0] [10] RESEARCHSTAT "R-Cyborg-Armor-Heat02"
73
startTech [0] [11] RESEARCHSTAT "R-Sys-Engineering02"
74
startTech [0] [12] RESEARCHSTAT "R-Wpn-Cannon-Accuracy02"
75
startTech [0] [13] RESEARCHSTAT "R-Wpn-Cannon-Damage04"
76
startTech [0] [14] RESEARCHSTAT "R-Wpn-Cannon-ROF03"
77
startTech [0] [15] RESEARCHSTAT "R-Wpn-Flamer-Damage06"
78
startTech [0] [16] RESEARCHSTAT "R-Wpn-Flamer-ROF03"
79
startTech [0] [17] RESEARCHSTAT "R-Wpn-Howitzer-Accuracy02"
80
startTech [0] [18] RESEARCHSTAT "R-Wpn-Howitzer-Damage02"
81
startTech [0] [19] RESEARCHSTAT "R-Sys-Sensor-Upgrade01"
82
startTech [0] [20] RESEARCHSTAT "R-Wpn-MG-Damage07"
83
startTech [0] [21] RESEARCHSTAT "R-Wpn-MG-ROF03"
84
startTech [0] [22] RESEARCHSTAT "R-Wpn-Mortar-Acc02"
85
startTech [0] [23] RESEARCHSTAT "R-Wpn-Mortar-Damage06"
86
startTech [0] [24] RESEARCHSTAT "R-Wpn-Mortar-ROF03"
87
startTech [0] [25] RESEARCHSTAT "R-Wpn-Rocket-Accuracy02"
88
startTech [0] [26] RESEARCHSTAT "R-Wpn-Rocket-Damage06"
89
startTech [0] [27] RESEARCHSTAT "R-Wpn-Rocket-ROF03"
90
startTech [0] [28] RESEARCHSTAT "R-Wpn-RocketSlow-Accuracy03"
91
startTech [0] [29] RESEARCHSTAT "R-Wpn-RocketSlow-Damage05"
92
startTech [0] [30] RESEARCHSTAT "R-Wpn-RocketSlow-ROF03"
96
numBriefs int 1 //3 //MAX 5. Needs to be same as the number of briefings given next
97
brief[0] INTMESSAGE "MB2_C_MSG"
98
//brief[1] INTMESSAGE "MB2_C_MSG2"
99
//brief[2] INTMESSAGE "MB2_C_MSG3"
100
briefVal[0] int 1 //0 remove after playing, 1 keep, 2 don't play immediately
101
//briefVal[1] int 1 //0 remove after playing, 1 keep, 2 don't play immediately
102
//briefVal[2] int 1 //0 remove after playing, 1 keep, 2 don't play immediately
103
endMsg INTMESSAGE "END"
106
numObjectives int 1 //2 //MAX 3. Needs to be the same as the number of objective blips given next
107
objective[0] INTMESSAGE "C2C_OBJ1" //base
108
objectiveX[0] int 4928 //doesn't use index to array, use world coords
109
objectiveY[0] int 4160
110
//objective[1] INTMESSAGE "C2C_OBJ2" //Transport
111
//objectiveX[1] int 5696 //doesn't use index to array, use world coords
112
//objectiveY[1] int 11072
115
/* Victory Conditions */
116
//NOTE: always assumes victory condition of: number of artifacts collected = victoryArt
117
numVictory int 1 //number of victory conditions to be met (not including artifacts)
118
//DOESN'T need to be same as number given next (these are set TRUE/FALSE)
119
//if victory condition required. Can have 2 set to TRUE and numVictory = 1
120
//This will then let player win if EITHER condition is true!
121
//Use numVictory of 0 if just want player to get artifacts
123
//these now done as integers NOT bools!! Use -1 for False, # for True (often an index to check!)
124
//for this reason must specify ALL victory[]!
125
victory[0] int -1 //all enemy vehicles and structures need to be killed
126
victory[1] int -1 //all players vehicles at REGION index # (eg LZ REGION)
127
victory[2] int -1 //number of objectives to get to (uses objective[0] to objective[#])
128
victory[3] int 3 //number of bases to destroy (uses base[0] to base[#])
130
/* might use these later if necessary
131
victory[4] int -1 //kill all UNITS belonging to enemy # index
132
victory[5] int -1 //kill all STRUCTURES belonging to enemy # index
133
victory[6] int -1 //REGION index to check for defences built
134
victory[7] int -1 //# of EXTRA defences to build in REGION
136
//no longer extra victory, just an extra fail
137
//linkVictory BOOL TRUE //set if player 'takes over' (rescues) > 1/2 civilians (may die afterwards!)
139
/* Failure Conditions */
140
//Extra conditions above ALL player units and structures dead, or TIME LIMIT expired
141
//numFail int 0 //number required to be met (usually one if used!)
142
//only one of these has to be met
143
//Use -1 for False, # for True (often an index to check!)
145
fail [0] int -1 //0 //group # index all got to REGION
146
fail [1] int -1 //2 //REGION index for above (these count as one condition!)
148
/* might use these later if necessary
149
fail [2] int -1 //only Player UNITS need to be killed to lose
150
fail [3] int -1 //only Player STRUCTURES need to be killed to lose
151
fail [4] int -1 //Structure index # to be destroyed to lose????
153
linkFail BOOL TRUE //set if > 1/2 civilians transported by the collective
158
victoryArt int 6 //number of artifacts required for victory (must be <= numArt)
159
numArt int 6 //MAX 6. Number of artifacts in total (even if not in game, but added as extra research!)
161
//new improved way of doing artifacts
162
//artType: 0 = artifact starts on map, 1 = get from STRUCTURE, 2 = get from FEATURE, 3 = get from DROID, 4 = at end of level
163
//artVal: index to relevant type, ie FEATURE(crate), FEATURE, STRUCTURE, DROID
164
//artX, artY: artifact coords (this is updated for DROIDS moving by script, but still needs an array to store them in!)
165
artType [0] int 1 //Vtol Factory
169
artComp [0] RESEARCHSTAT "R-Vehicle-Prop-VTOL"
171
artType [1] int 1 //AAQuadBof
175
artComp [1] RESEARCHSTAT "R-Wpn-AAGun02"
177
artType [2] int 1 //Ripple Rocket Battery
181
artComp [2] RESEARCHSTAT "R-Wpn-Rocket06-IDF"
183
artType [3] int 1 //Heavy Factory???
187
artComp [3] RESEARCHSTAT "R-Struc-Factory-Upgrade04"
189
artType [4] int 1 //Heavy Factory Main Base
193
artComp [4] RESEARCHSTAT "R-Vehicle-Body02"
195
artType [5] int 1 //Howitzer Emplacement
199
artComp [5] RESEARCHSTAT "R-Wpn-HowitzerMk1"
201
/* ******************************************** */
202
/* lists of stuff referred to by index number */
203
/* ******************************************** */
205
/* ******************************************** */
206
/* FEATURES (inc crates, by ID number) MAX = 10 */
207
//features [0] FEATURE 649 //crate artifact (1st in valley)
208
//features [1] FEATURE 661 //crate artifact (2nd by huts) (CHANGED TO BUNKER)
210
/* ******************************************** */
211
/* STRUCTURES (by ID number) MAX = 10 */
212
structures [0] STRUCTURE 3672 //Base 1 Heavy Factory 1
213
structures [1] STRUCTURE 3675 //Base 1 Heavy Factory 2
214
structures [2] STRUCTURE 4679 //3225 //Base 1 VTOL Factory 1
215
structures [3] STRUCTURE 4680 //3226 //Base 1 VTOL Factory 2
216
//structures [4] STRUCTURE 3591 //Base 2 Heavy Factory
217
//structures [5] STRUCTURE 2675 //Base 3 Medium Factory
218
//structures [4] STRUCTURE 2680 //Base 3 command centre
219
structures [5] STRUCTURE 3376 //cyborg factory1
220
structures [6] STRUCTURE 2293 //research fac
221
structures [7] STRUCTURE 2552 //Howitzer Emplacement (art)
222
structures [8] STRUCTURE 4630 //QuadBof (art)
223
structures [9] STRUCTURE 4641 //RippleRocket (art)
225
/* ******************************************** */
226
/* DROIDS (by ID number) MAX = 10 */
227
droids [0] DROID 3468 //truckdroid
228
droids [1] DROID 3467 //truckdroid
230
/* ******************************************** */
231
/* list of templates (by name) MAX = 20 */
232
/* ******************************************** */
234
templates [0] TEMPLATE "CO-M-Con-T" //Truck Vehicle
236
templates [1] TEMPLATE "CO-M-HPVCannon-Tracks"
237
templates [2] TEMPLATE "CO-M-QuadMG1AA-Halftrack"
239
templates [3] TEMPLATE "CO-H-How150-Tracks"
240
templates [4] TEMPLATE "CO-H-HvyCan-Tracks"
241
templates [5] TEMPLATE "CO-H-How150-Tracks"
242
templates [6] TEMPLATE "CO-H-Rocket-BB-Halftrack"
244
templates [7] TEMPLATE "CO-M-HPVCannon-Tracks"
245
templates [8] TEMPLATE "CO-H-Rocket-BB-Halftrack"
246
templates [9] TEMPLATE "CO-H-How150-Tracks"
247
templates [10] TEMPLATE "CO-M-QuadMG1AA-Halftrack"
249
//Collective VTOL Templates
250
templates [11] TEMPLATE "CO-L-Rocket-VTOL-Pod-VTOL"
251
templates [12] TEMPLATE "CO-L-Rocket-LtA-T-VTOL"
252
templates [13] TEMPLATE "CO-M-Bomb2-VTOL"
254
//Cyborg Templates (SHARED)
255
templates [14] TEMPLATE "Cyb-Flamer-GROUND"
256
templates [15] TEMPLATE "Cyb-Cannon-GROUND"
257
templates [16] TEMPLATE "Cyb-Rocket-GROUND"
260
templates [0] TEMPLATE "CO-M-Con-T" //Truck Vehicle
262
templates [1] TEMPLATE "CO-M-HPVCannon-Tracks"
263
templates [2] TEMPLATE "CO-H-QuadRotAA-T"
265
templates [3] TEMPLATE "CO-M-HvFlame-Track"
266
templates [4] TEMPLATE "CO-H-HvyCan-Tracks"
267
templates [5] TEMPLATE "CO-M-HPVCannon-Tracks"
268
templates [6] TEMPLATE "CO-H-Rkt-BB-T"
271
templates [7] TEMPLATE "CO-M-HPVCannon-Tracks"
272
templates [8] TEMPLATE "CO-H-Rocket-BB-Halftrack"
273
templates [9] TEMPLATE "CO-H-How150-Tracks"
274
templates [10] TEMPLATE "CO-M-QuadMG1AA-Halftrack"
277
//Collective VTOL Templates
278
templates [11] TEMPLATE "CO-L-RotMG-VTOL"
279
templates [12] TEMPLATE "CO-L-Rocket-LtA-T-VTOL"
280
templates [13] TEMPLATE "CO-M-Bomb2-VTOL"
282
//Cyborg Templates (SHARED)
283
templates [14] TEMPLATE "Cyb-Flamer-GROUND"
284
templates [15] TEMPLATE "Cyb-Cannon-GROUND"
285
templates [16] TEMPLATE "Cyb-Rocket-GROUND"
287
/* Templates available for this level */
290
TEMPLATE "CO-M-Con-T"
293
TEMPLATE "CO-M-Repair-T"
296
TEMPLATE "CO-M-Sensor-T"
297
TEMPLATE "CO-M-CBS-T"
298
TEMPLATE "CO-M-Vstrike-T"
299
TEMPLATE "CO-M-VTOLCBS-T" //new
302
TEMPLATE "CO-H-Command-Track"
303
TEMPLATE "CO-H-COM-H"
306
TEMPLATE "CO-M-HMG-T"
307
TEMPLATE "CO-M-MedCan-Tracks"
308
TEMPLATE "CO-H-HvyCan-Tracks"
309
TEMPLATE "CO-M-HvMortar-T"
310
TEMPLATE "CO-M-Rocket-LtA-T-T"
311
TEMPLATE "CO-M-HvFlame-Track"
312
TEMPLATE "CO-H-How105-Tracks"
313
TEMPLATE "CO-M-LTAT-Hover"
314
TEMPLATE "CO-M-HPVCannon-Tracks" //new
315
TEMPLATE "CO-H-Rkt-BB-T" //new
316
TEMPLATE "CO-H-How150-Tracks" //new
317
TEMPLATE "CO-M-RR-HT" //new
318
TEMPLATE "CO-H-QuadRotAA-T" //new
321
TEMPLATE "Cyb-Chain-GROUND"
322
TEMPLATE "Cyb-Cannon-GROUND"
323
TEMPLATE "Cyb-Rocket-GROUND"
324
TEMPLATE "Cyb-Flamer-GROUND"
327
TEMPLATE "CO-M-Bomb1-VTOL"
328
TEMPLATE "CO-L-Rocket-LtA-T-VTOL"
329
TEMPLATE "CO-M-Bomb2-VTOL" //new
330
TEMPLATE "CO-L-RotMG-VTOL" //new
333
TEMPLATE "Sys-SensoTower02"
334
TEMPLATE "Sys-CB-Tower01"
335
TEMPLATE "Sys-VTOL-RadarTower01" //new
336
TEMPLATE "Sys-VTOL-CB-Tower01" //new
339
TEMPLATE "CO-Tower-MG3"
340
TEMPLATE "CO-Tower-LtATRkt"
341
TEMPLATE "CO-Tower-MdCan"
342
TEMPLATE "Emplacement-MortarPit02"
343
TEMPLATE "CO-Tower-HvATRkt"
344
TEMPLATE "CO-Tower-HvFlame" //new
345
TEMPLATE "CO-WallTower-HvCan" //new
346
TEMPLATE "Emplacement-Howitzer105" //new
347
TEMPLATE "CO-AASite-QuadMg1" //new
350
/* ******************************************** */
351
//coordinates (world coords) MAX = 10
352
/* ******************************************** */
353
coordsX [0] int 1856 //factory 1 waypoint 1
355
coordsX [1] int 12224 //factory 1 waypoint 2
357
coordsX [2] int 12224 //factory 1 waypoint 3
358
coordsY [2] int 12352
360
coordsX [3] int 2368 //VTOL1 group to go to player base
362
coordsX [4] int 10176 //1344 //VTOL2 group to go to player base
363
coordsY [4] int 1984 //14400
364
coordsX [5] int 11968 //VTOL3 group to go to player base
365
coordsY [5] int 12736
367
coordsX [6] int 12096 //centre of player base
368
coordsY [6] int 12096
370
coordsX [7] int 12224 //Oil derricks
373
coordsX [8] int 3392 //defense group way1
376
coordsX [9] int 2112 //defense group way2
379
/* ******************************************** */
380
//regions (world coords) MAX = 20
381
/* ******************************************** */
382
regionsX1 [0] int 64 //704 //enemy base1 blip (Northern base)
383
regionsY1 [0] int 64 //192
384
regionsX2 [0] int 6848 //4160
385
regionsY2 [0] int 5568 //4288
387
regionsX1 [1] int 6720 //1216 //enemy base2 blip (HQ mid mini base)
388
regionsY1 [1] int 6720 //7872
389
regionsX2 [1] int 8512 //3520
390
regionsY2 [1] int 9024 //9664
392
regionsX1 [2] int 3392 //4544 //enemy base3 blip (enemy LZ base)
393
regionsY1 [2] int 9792 //9792
394
regionsX2 [2] int 7872 //6080
395
regionsY2 [2] int 12608 //12224
397
regionsX1 [3] int 4672 //region group 1
398
regionsY1 [3] int 5568
399
regionsX2 [3] int 5696
400
regionsY2 [3] int 6080
402
regionsX1 [4] int 2112 //region group VTOL
403
regionsY1 [4] int 1344
404
regionsX2 [4] int 2368
405
regionsY2 [4] int 2624
407
regionsX1 [5] int 832 //region group 3
408
regionsY1 [5] int 12096
409
regionsX2 [5] int 1344
410
regionsY2 [5] int 12736
412
regionsX1 [6] int 6720 //region group 4 cyborgs and tanks
413
regionsY1 [6] int 4032
414
regionsX2 [6] int 8256
415
regionsY2 [6] int 8896
417
regionsX1 [7] int 576 //region group 6 (defensive)
418
regionsY1 [7] int 448
419
regionsX2 [7] int 6720
420
regionsY2 [7] int 7872
423
regionsX1 [8] int 576 //region group 2
424
regionsY1 [8] int 3136
425
regionsX2 [8] int 1216
426
regionsY2 [8] int 4032
427
regionsX1 [9] int 576 //region group 3
428
regionsY1 [9] int 1728
429
regionsX2 [9] int 1600
430
regionsY2 [9] int 4032
431
regionsX1 [10] int 704 //region group 4
432
regionsY1 [10] int 704
433
regionsX2 [10] int 2112
434
regionsY2 [10] int 1728
436
regionsX1 [11] int 1728 //region group 5 (radar defenders)
437
regionsY1 [11] int 320
438
regionsX2 [11] int 6208
439
regionsY2 [11] int 3904
440
regionsX1 [12] int 4032 //protect region group 5 (radar object)
441
regionsY1 [12] int 2368
442
regionsX2 [12] int 4800
443
regionsY2 [12] int 3136
446
/* ******************************************** */
448
/* ******************************************** */
450
//sectors to attack (covers 1A-C expansion area, in order of priority to attack)
453
sectorsX1 [0] int 10432
454
sectorsY1 [0] int 12736
455
sectorsX2 [0] int 14272
456
sectorsY2 [0] int 15552
458
sectorsX1 [1] int 8896
459
sectorsY1 [1] int 13760
460
sectorsX2 [1] int 10304
461
sectorsY2 [1] int 15040
463
sectorsX1 [2] int 6336
464
sectorsY1 [2] int 13760
465
sectorsX2 [2] int 8768
466
sectorsY2 [2] int 14144
467
//ravine entrance to 1B
469
sectorsX1 [3] int 2112
470
sectorsY1 [3] int 12736
471
sectorsX2 [3] int 6336
472
sectorsY2 [3] int 14784
474
sectorsX1 [4] int 1600
475
sectorsY1 [4] int 10176
476
sectorsX2 [4] int 5952
477
sectorsY2 [4] int 12608
479
sectorsX1 [5] int 4672
480
sectorsY1 [5] int 8640
481
sectorsX2 [5] int 5696
482
sectorsY2 [5] int 10048
484
sectorsX1 [6] int 4160
485
sectorsY1 [6] int 6464
486
sectorsX2 [6] int 5056
487
sectorsY2 [6] int 8512
489
sectorsX1 [7] int 832
490
sectorsY1 [7] int 6336
491
sectorsX2 [7] int 3392
492
sectorsY2 [7] int 7104
494
sectorsX1 [8] int 4800
495
sectorsY1 [8] int 5056
496
sectorsX2 [8] int 6208
497
sectorsY2 [8] int 6208
499
sectorsX1 [9] int 3392
500
sectorsY1 [9] int 4672
501
sectorsX2 [9] int 4160
502
sectorsY2 [9] int 5440
504
sectorsX1 [10] int 5056
505
sectorsY1 [10] int 4160
506
sectorsX2 [10] int 5312
507
sectorsY2 [10] int 4928
509
sectorsX1 [11] int 4032
510
sectorsY1 [11] int 1216
511
sectorsX2 [11] int 6208
512
sectorsY2 [11] int 3264
514
sectorsX1 [12] int 3392
515
sectorsY1 [12] int 832
516
sectorsX2 [12] int 3776
517
sectorsY2 [12] int 1472
519
sectorsX1 [13] int 2624
520
sectorsY1 [13] int 1600
521
sectorsX2 [13] int 3392
522
sectorsY2 [13] int 1856
524
sectorsX1 [14] int 832
525
sectorsY1 [14] int 1344
526
sectorsX2 [14] int 2496
527
sectorsY2 [14] int 3392
529
sectorsX1 [15] int 1600
530
sectorsY1 [15] int 3520
531
sectorsX2 [15] int 2496
532
sectorsY2 [15] int 4544
534
sectorsX1 [16] int 832
535
sectorsY1 [16] int 1344
536
sectorsX2 [16] int 1728
537
sectorsY2 [16] int 2880
540
/* ******************************************** */
541
/* Enemy Base Blips */
542
/* ******************************************** */
543
numBases int 3 //MAX = 5. Must be same as number of bases listed next
544
basePlayer [0] int 0 //enemy player number who owns base
545
baseMsg [0] INTMESSAGE "C2C_BASE1" //enemy base blip message (prox.txt)
546
baseRegion [0] int 0 //index to regions
547
baseWav1 [0] int 0 //index to baseSnd enemy detected
548
baseWav2 [0] int 3 //index to baseSnd Eradicated
551
baseMsg [1] INTMESSAGE "C2C_BASE2"
553
baseWav1 [1] int 0 //index to baseSnd enemy detected
554
baseWav2 [1] int 3 //index to baseSnd Eradicated
557
baseMsg [2] INTMESSAGE "C2C_BASE3"
559
baseWav1 [2] int 0 //index to baseSnd Superior Weapons
560
baseWav2 [2] int 3 //index to baseSnd Eradicated
563
basePlayer [3] int 7 //do radar as a base
564
baseMsg [3] INTMESSAGE "FAST_BASE4"
565
baseRegion [3] int 12
566
baseWav1 [3] int 1 //index to baseSnd Threat to project
567
baseWav2 [3] int -1 //-1 = no sound
569
/* ******************************************** */
571
/* ******************************************** */
572
numGroups int 6 //7 //group MAX = 10
574
//heavy factory group 1
575
grpType [0] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
576
grpPlayer [0] int 0 //player number (COLLECTIVE)
577
grpRegion [0] int -1 //index in regions array
578
grpTimeGo [0] int 0 //3mins. (always make >= 0 for defence forces)
579
grpRegionGo [0] int -1 //index in regions array as trigger
580
grpWhoGo [0] int 1 //player number to cross trigger region (may not need?)
581
grpMorale [0] int 50 //medium morale
582
grpLeadership [0] int 50 //medium leadership value
583
grpRetreatXY [0] int 0 //retreat to base 1 assembly
584
grpPosStart [0] int 2 //index in coords/sectors array (depends on grpType)
585
grpPosMin [0] int 1 //Minimum index in coords array
586
grpPosMax [0] int 3 //Maximum index in coords array
587
grpPosStep [0] int 1 //Step increase for next 'waypoint'
588
grpPosType [0] int 3 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
589
grpFactory [0] int 0 //index factory to reinforce group. -1 = any factory.
590
grpIdealSize [0] int 10 //5 //ideal size. If less than this factory will reinforce
592
/* VTOLS done in a separate script
594
grpType [1] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
595
grpPlayer [1] int 0 //player number (collective)
596
grpRegion [1] int 4 //index in regions array
597
grpTimeGo [1] int 2 //20s time trigger (always make >= 0 for defence forces)
598
grpRegionGo [1] int -1 //no region. index in regions array as trigger
599
grpWhoGo [1] int 0 //player number to cross trigger region (may not need?)
600
grpMorale [1] int -1 //good morale
601
grpLeadership [1] int 0 //good leadership
602
grpRetreatXY [1] int 0 //retreat (index in coords array) base1 assembly
603
grpPosStart [1] int 3 //index in sectors array (depends on grpType)
604
grpPosMin [1] int 3 //Minimum index in coords array
605
grpPosMax [1] int 7 //Maximum index in coords array
606
grpPosStep [1] int 1 //Step increase for next 'waypoint'
607
grpPosType [1] int 3 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
608
grpFactory [1] int 2 //index structure to reinforce group. -1 = any factory.
609
grpIdealSize [1] int 4 //3 //ideal size. If less than this factory will reinforce
613
grpType [1] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
614
grpPlayer [1] int 0 //player number (collective)
615
grpRegion [1] int 3 //index in regions array
616
grpTimeGo [1] int 18 //3mins time trigger (always make >= 0 for defence forces)
617
grpRegionGo [1] int -1 //no region. index in regions array as trigger
618
grpWhoGo [1] int 0 //player number to cross trigger region (may not need?)
619
grpMorale [1] int -1 //morale = 10%
620
grpLeadership [1] int 0 //leadership value = 50%
621
grpRetreatXY [1] int 0 //retreat (index in coords array) base 1 blip
622
grpPosStart [1] int 4 //index in coords array (depends on grpType)
623
grpPosMin [1] int 4 //Minimum index in coords array
624
grpPosMax [1] int 7 //Maximum index in coords array
625
grpPosStep [1] int 1 //Step increase for next 'waypoint'
626
grpPosType [1] int 3 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
627
grpFactory [1] int 1 //2 //4 //index factory to reinforce group. -1 = any factory.
628
grpIdealSize [1] int 8 //ideal size. If less than this factory will reinforce
631
grpType [2] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
632
grpPlayer [2] int 0 //player number (collective)
633
grpRegion [2] int -1 //index in regions array
634
grpTimeGo [2] int 30 //5mins time trigger (always make >= 0 for defence forces)
635
grpRegionGo [2] int -1 //no region. index in regions array as trigger
636
grpWhoGo [2] int 0 //player number to cross trigger region (may not need?)
637
grpMorale [2] int -1 //morale = 50%
638
grpLeadership [2] int 0 //leadership value = 50%
639
grpRetreatXY [2] int 0 //retreat (index in coords array) base 2 assembly
640
grpPosStart [2] int 6 //index in coords array (depends on grpType)
641
grpPosMin [2] int 5 //Minimum index in coords array
642
grpPosMax [2] int 7 //Maximum index in coords array
643
grpPosStep [2] int -1 //Step increase for next 'waypoint'
644
grpPosType [2] int 3 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
645
grpFactory [2] int 0 //3 //5 //index factory to reinforce group. -1 = any factory.
646
grpIdealSize [2] int 10 //ideal size. If less than this factory will reinforce
649
grpType [3] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
650
grpPlayer [3] int 0 //player number (collective)
651
grpRegion [3] int 5 //index in regions array
652
grpTimeGo [3] int 30 //5 min time trigger (always make >= 0 for defence forces)
653
grpRegionGo [3] int -1 //no region. index in regions array as trigger
654
grpWhoGo [3] int 0 //player number to cross trigger region (may not need?)
655
grpMorale [3] int 50 //morale = 50%
656
grpLeadership [3] int 50 //leadership value = 50%
657
grpRetreatXY [3] int 3 //retreat (index in coords array) base2 assembly
658
grpPosStart [3] int 2 //index in coords array (depends on grpType)
659
grpPosMin [3] int 1 //Minimum index in coords array
660
grpPosMax [3] int 3 //Maximum index in coords array
661
grpPosStep [3] int 1 //Step increase for next 'waypoint'
662
grpPosType [3] int 3 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
663
grpFactory [3] int 1 //3 //5 //index factory to reinforce group. -1 = any factory.
664
grpIdealSize [3] int 8 //ideal size. If less than this factory will reinforce
666
//region group 4 cyborgs
667
grpType [4] int 0 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
668
grpPlayer [4] int 0 //player number (collective)
669
grpRegion [4] int 6 //index in regions array
670
grpTimeGo [4] int 48 //8 min time trigger (always make >= 0 for defence forces)
671
grpRegionGo [4] int -1 //index in regions array as protect region
672
grpWhoGo [4] int 0 //player number to cross trigger region (may not need?)
673
grpMorale [4] int -1 //morale = 50%
674
grpLeadership [4] int 0 //leadership value = 50%
675
grpRetreatXY [4] int 0 //retreat (index in coords array) base2 assembly
676
grpPosStart [4] int 7 //-1 = no waypoints. index in coords array (depends on grpType)
677
grpPosMin [4] int 5 //Minimum index in coords array
678
grpPosMax [4] int 7 //Maximum index in coords array
679
grpPosStep [4] int -1 //Step increase for next 'waypoint'
680
grpPosType [4] int 3 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
681
grpFactory [4] int 4 //6 //index factory to reinforce group. -1 = any factory.
682
grpIdealSize [4] int 10 //ideal size. If less than this factory will reinforce
684
//defensive group (catch all)
685
grpType [5] int 1 //0 = Ambush/Patrol, 1 = Defence, 2 = Scout, 3 = Attack...
686
grpPlayer [5] int 0 //player number (NP)
687
grpRegion [5] int -1 //index in regions array (same as base region)
688
grpTimeGo [5] int 30 //5mins time trigger (always make >= 0 for defence forces)
689
grpRegionGo [5] int 7 //no region. index in regions array as trigger
690
grpWhoGo [5] int 0 //player number to cross trigger region (may not need?)
691
grpMorale [5] int -1 //morale = 50%
692
grpLeadership [5] int 0 //leadership value = 75%
693
grpRetreatXY [5] int 0 //retreat (index in coords array) base3 assembly
694
grpPosStart [5] int 0 //index in coords array (depends on grpType)
695
grpPosMin [5] int 8 //Minimum index in coords array
696
grpPosMax [5] int 9 //Maximum index in coords array
697
grpPosStep [5] int 1 //Step increase for next 'waypoint'
698
grpPosType [5] int 1 //0 = stop, 1 = loop, 2 = pingpong, 3 = random thru waypoints
699
grpFactory [5] int -1 //index factory to reinforce group. -1 = any factory.
700
grpIdealSize [5] int 20 //ideal size. If less than this factory will reinforce
704
numFactories int 3 //7 //MAX = 10
706
//Base 1 Heavy Factory 1
707
factID [0] int 0 //index to structures
708
factAssXY [0] int -1 //index to assembly point. -1 for don't set
709
factTimeGo [0] int 1 //delay before starting production in 10s
710
factRegionGo [0] int -1 //-1 = no region for trigger (assume WhoGo = 0)
711
factTempMin [0] int 3 //index to starting template
712
factTempMax [0] int 6 //index to maximum template
713
factEvery [0] int 24 //4 min. Time in 10s for factory to try to produce again
715
//Base 1 Heavy Factory 2
716
factID [1] int 1 //index to structures
717
factAssXY [1] int -1 //index to assembly point. -1 for don't set
718
factTimeGo [1] int 180 //delay before starting production in 10s
719
factRegionGo [1] int -1 //-1 = no region for trigger (assume WhoGo = 0)
720
factTempMin [1] int 3 //index to starting template
721
factTempMax [1] int 6 //index to maximum template
722
factEvery [1] int 24 //4 mins. Time in 10s for factory to try to produce again
724
/* VTOLS done in a different script
725
//Base 1 VTOL Factory 1
726
factID [2] int 2 //index to structures
727
factAssXY [2] int -1 //index to assembly point. -1 for don't set
728
factTimeGo [2] int 1 //delay before starting production in 10s
729
factRegionGo [2] int -1 //-1 = no region for trigger (assume WhoGo = 0)
730
factTempMin [2] int 11 //index to starting template
731
factTempMax [2] int 13 //index to maximum template
732
factEvery [2] int 42 //21 //15 //50s .Time in 10s for factory to try to produce again
734
//Base 1 VTOL Factory 2
735
factID [3] int 3 //index to structures
736
factAssXY [3] int -1 //index to assembly point. -1 for don't set
737
factTimeGo [3] int 8 //delay before starting production in 10s
738
factRegionGo [3] int -1 //-1 = no region for trigger (assume WhoGo = 0)
739
factTempMin [3] int 12 //index to starting template
740
factTempMax [3] int 13 //index to maximum template
741
factEvery [3] int 36 //18 //12 //50s .Time in 10s for factory to try to produce again
744
/*These gone too now!!
745
//Base 2 Heavy Factory
746
factID [2] int 4 //index to structures
747
factAssXY [2] int -1 //index to assembly point. -1 for don't set
748
factTimeGo [2] int 60 //delay before starting production in 10s
749
factRegionGo [2] int -1 //-1 = no region for trigger (assume WhoGo = 0)
750
factTempMin [2] int 3 //index to starting template
751
factTempMax [2] int 6 //index to maximum template
752
factEvery [2] int 24 //12 //6 //1 min. Time in 10s for factory to try to produce again
754
//Base 3 Medium Factory
755
factID [3] int 5 //index to structures
756
factAssXY [3] int -1 //index to assembly point. -1 for don't set
757
factTimeGo [3] int 12 //delay before starting production in 10s
758
factRegionGo [3] int -1 //-1 = no region for trigger (assume WhoGo = 0)
759
factTempMin [3] int 1 //index to starting template
760
factTempMax [3] int 2 //index to maximum template
761
factEvery [3] int 32 //16 //10 //2 min. Time in 10s for factory to try to produce again
765
factID [2] int 5 //7 //index to structures
766
factAssXY [2] int -1 //index to assembly point. -1 for don't set
767
factTimeGo [2] int 6 //delay before starting production in 10s
768
factRegionGo [2] int -1 //-1 = no region for trigger (assume WhoGo = 0)
769
factTempMin [2] int 14 //index to starting template
770
factTempMax [2] int 16 //index to maximum template
771
factEvery [2] int 18 //3 min. Time in 10s for factory to try to produce again
774
//These should be same in each file, but may need slight alterations
775
player int 0 //player's player number
776
crate FEATURESTAT "Crate"
777
artRange int 200 //171 //range to artifact about 1.5 tiles
778
objectiveRange int 640 //range to objective 5 Tiles
779
wayRange int 300 //range to waypoint 2ish tiles
780
targetRange int 768 //range for target spotting
781
targetMax int 4 //maximum number of targets to store for each enemy
782
lostSnd SOUND "pcv470.ogg" //mission failed
783
attackSnd1 SOUND "pcv337.ogg" //Base Under Attack
784
artSnd1 SOUND "pcv351.ogg" //artifact sounds
785
artSnd2 SOUND "pcv352.ogg"
786
transporter TEMPLATE "Transporter" //for enemy transports
789
baseSnd[0] SOUND "pcv379.ogg" //Enemy Base Detected
790
baseSnd[1] SOUND "pcv379.ogg" //Enemy Base Detected
791
baseSnd[2] SOUND "pcv379.ogg" //Enemy Base Detected
792
baseSnd[3] SOUND "pcv394.ogg" //Enemy base eradicated
795
/* NEW STUFF for trucks */
796
trucksOn BOOL TRUE //switch for using trucks (won't work without it!)
797
/* Defence Type Structures for any enemy to build */
798
numDefences int 4 //MAX = 5
799
defences[0] STRUCTURESTAT "CO-Tower-MG3"
800
defences[1] STRUCTURESTAT "CO-Tower-LtATRkt"
801
defences[2] STRUCTURESTAT "CO-Tower-MdCan"
802
defences[3] STRUCTURESTAT "CO-Tower-LtATRkt"
804
maxDefence int 4 //ideal number of defences to build
805
/* structures to defend */
806
numToDefend int 3 //MAX = 5
807
toDefend[0] STRUCTURESTAT "A0ResourceExtractor"
808
toDefend[1] STRUCTURESTAT "A0CommandCentreCO" //"A0PowerGenerator"
809
toDefend[2] STRUCTURESTAT "A0PowerGenerator"
812
oilRes FEATURESTAT "OilResource"
813
truckRange int 1024 //range for truck to check for defendable structures
814
defRange int 512 //range for defences to be for defendable structures
815
/* end of NEW STUFF */
817
/* NEW STUFF FOR THREAT ASSESSMENT */
818
//this only works on groups with Morale Values
819
//if not declared just won't do anything!!
820
threatLight int 2 //value for light vehicles
821
threatMedium int 4 //value for medium vehicles
822
threatHeavy int 8 //value for large vehicles
823
threatRange int 512 //range to check for enemy and player threats
824
/* end of NEW STUFF */