-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscenario025.lua
More file actions
299 lines (282 loc) · 19.6 KB
/
Copy pathscenario025.lua
File metadata and controls
299 lines (282 loc) · 19.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
local scenariodata = {
index = 25, -- integer, sort order, MUST BE EQUAL TO FILENAME NUMBER
scenarioid = "brothersinarms", -- no spaces, lowercase, this will be used to save the score
version = "1.0", -- increment this to keep the score when changing a mission
title = "Brothers in Arms", -- can be anything
author = "Rasoul", -- your name here
isnew = true,
imagepath = "scenario025.jpg", -- placed next to lua file, should be 3:1 ratio banner style
imageflavor = "Leave no bot behind", -- This text will be drawn over image
summary =
[[The enemy has captured and terminated one of your brothers in arms. Free the remaining team members, and bring
terrible vengance to the Armada scum.
]],
briefing =
[[For a few decades now, your team of special ops commandos have fought like brothers behind enemy lines. But now
the enemy has done the unthinkable, and executed one of your team members held prisoner.
During a recent mission at a remote Armada outpost, the team was discovered and its members were either captured or remain pinned down in stealth.
--Objectives--
1. Your mission is to infiltrate the enemy base and free all remaining team members.
2. Then, eliminate the entire Armada ground force, patrolling throughout the stronghold. Show them no mercy! (The grunts will clean up the rest)
3. Lastly, tear down the Armada stronghold's central defenses by bringing down the pulsar turret at the back of the base.
--Tips--
‣ A frontal assault is not recommended.
‣ Commandos are special ops units, that can both fight, repair, reclaim, as well as build a few support units.
‣ Repairing, building, and reclaiming do not require line of sight, and so can be done through cliffs and other terrian.
‣ Unlike most units, commandos don't blow up along with the air transport carrying them. Instead, they float down gently and land (mostly) unharmed.
‣ Commandos are stealthy, and so will not be fired upon while out of sight. They can not cloak, however.
‣ Commandos are amphibious units, but they can not shoot under water. Reclaim units that you can not shoot.
‣ Build mines repeatedly within blast radius of enemy structures to blow them up.
‣ Enemy turrets will not shoot through terrain, friendly buildings, or walls.
‣ The enemy is producing no units at this location, so there's no need to rush into danger.
‣ And, lastly, do scout ahead before making your move.
]],
mapfilename = "Cape_Violet_V1", -- the name of the map to be displayed here
playerstartx = "3%", -- X position of where player comm icon should be drawn, from top left of the map
playerstarty = "35%", -- Y position of where player comm icon should be drawn, from top left of the map
partime = 3600, -- par time in seconds
parresources = 0, -- par resource amount
difficulty = 8, -- Percieved difficulty at 'normal' level: integer 1-10
defaultdifficulty = "Hard", -- an entry of the difficulty table
difficulties = { -- Array for sortedness, Keys are text that appears in selector (as well as in scoring!), values are handicap levels
{ name = "Hard", playerhandicap = 0, enemyhandicap = 0 },
},
allowedsides = { "Cortex" }, --these are the permitted factions for this mission
victorycondition = "Complete mission objectives", -- This is plaintext, but should be reflected in startscript
losscondition = "Loss of any commando", -- This is plaintext, but should be reflected in startscript
unitlimits = {},
scenariooptions = { -- this will get lua->json->base64 and passed to scenariooptions in game
scenarioid = "brothersinarms", -- must be present for scores
disablefactionpicker = true, -- this is needed to prevent faction picking outside of the allowedsides
unitloadout = {
{ name = 'corgeo', x = 1850, y = 229, z = 4000, rot = 0, team = 0, neutral = false },
{ name = 'corgeo', x = 1248, y = 83, z = 752, rot = 0, team = 0, neutral = false },
{ name = 'coradvsol', x = 150, y = 222, z = 250, rot = 0, team = 0, neutral = false },
{ name = 'coradvsol', x = 250, y = 221, z = 150, rot = 0, team = 0, neutral = false },
{ name = 'coradvsol', x = 250, y = 222, z = 250, rot = 0, team = 0, neutral = false },
{ name = 'corarad', x = 450, y = 222, z = 450, rot = 0, team = 0, neutral = false },
{ name = 'corshroud', x = 750, y = 222, z = 400, rot = 0, team = 0, neutral = false },
{ name = 'cormoho', x = 720, y = 214, z = 160, rot = 16384, team = 0, neutral = false },
{ name = 'cormoho', x = 448, y = 221, z = 144, rot = 16384, team = 0, neutral = false },
{ name = 'coreyes', x = 8100, y = -5, z = 1630, rot = 0, team = 0, neutral = false },
{ name = 'coreyes', x = 8870, y = -5, z = 2290, rot = 0, team = 0, neutral = false },
{ name = 'coreyes', x = 3500, y = 85, z = 4250, rot = 0, team = 0, neutral = false },
{ name = 'coreyes', x = 7892, y = -5, z = 1855, rot = 0, team = 0, neutral = false },
{ name = 'armhlt', x = 9680, y = 66, z = 528, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 9648, y = 63, z = 496, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9680, y = 66, z = 496, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9712, y = 68, z = 496, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9712, y = 68, z = 528, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9648, y = 63, z = 528, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9648, y = 64, z = 560, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9680, y = 66, z = 560, rot = 0, team = 1, neutral = true },
{ name = 'armfort', x = 9712, y = 69, z = 560, rot = 0, team = 1, neutral = true },
{ name = 'armfus', x = 10200, y = 190, z = 3200, rot = -16384, team = 1, neutral = false },
{ name = 'armferret', x = 10200, y = 64, z = 3100, rot = -16384, team = 1, neutral = false },
{ name = 'armferret', x = 10200, y = 64, z = 3300, rot = -16384, team = 1, neutral = false },
{ name = 'armmerl', x = 3300, y = 210, z = 3120, rot = -16384, team = 1, neutral = false },
{ name = 'armmerl', x = 3750, y = 229, z = 1333, rot = -16384, team = 1, neutral = false },
{ name = 'armeyes', x = 1830, y = 229, z = 4100, rot = -16384, team = 1, neutral = false },
{ name = 'armageo', x = 9000, y = 82, z = 4370, rot = -16384, team = 1, neutral = false },
{ name = 'armanni', x = 9170, y = 81, z = 4200, rot = -16384, team = 1, neutral = false },
{ name = 'armguard', x = 5200, y = 204, z = 1100, rot = -16384, team = 1, neutral = false },
{ name = 'armclaw', x = 5100, y = 175, z = 1250, rot = -16384, team = 1, neutral = true },
{ name = 'armclaw', x = 4500, y = 70, z = 1600, rot = -16384, team = 1, neutral = true },
{ name = 'armbeamer', x = 6000, y = 79, z = 3100, rot = -16384, team = 1, neutral = false },
{ name = 'armfrt', x = 4200, y = 0, z = 4600, rot = -16384, team = 1, neutral = false },
{ name = 'armfrt', x = 7150, y = 0, z = 1200, rot = -16384, team = 1, neutral = false },
{ name = 'armfrt', x = 8400, y = 0, z = 2100, rot = -16384, team = 1, neutral = false },
{ name = 'armfrt', x = 7300, y = 0, z = 4800, rot = -16384, team = 1, neutral = false },
{ name = 'armllt', x = 2200, y = 91, z = 1700, rot = -16384, team = 1, neutral = false },
{ name = 'armllt', x = 3000, y = 82, z = 1700, rot = -16384, team = 1, neutral = false },
{ name = 'armllt', x = 3000, y = 121, z = 1850, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 4000, y = 88, z = 2000, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 6400, y = 141, z = 2200, rot = -16384, team = 1, neutral = false },
{ name = 'armhlt', x = 3700, y = 121, z = 2500, rot = -16384, team = 1, neutral = false },
{ name = 'armbrtha', x = 4900, y = 206, z = 4000, rot = 16384, team = 1, neutral = false },
{ name = 'armbrtha', x = 5050, y = 191, z = 3850, rot = 16384, team = 1, neutral = false },
{ name = 'armrad', x = 4835, y = 203, z = 3835, rot = -16384, team = 1, neutral = false },
{ name = 'armfrad', x = 6400, y = -1, z = 1400, rot = -16384, team = 1, neutral = false },
{ name = 'armfrad', x = 3800, y = -1, z = 3700, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 5400, y = 130, z = 4000, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 6500, y = 148, z = 3000, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 7777, y = 101, z = 3400, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 9300, y = 80, z = 3400, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 9400, y = 198, z = 4700, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 9700, y = 80, z = 1100, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 7100, y = 225, z = 2000, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 8700, y = 76, z = 4700, rot = -16384, team = 1, neutral = false },
{ name = 'armamb', x = 6620, y = 75, z = 920, rot = -16384, team = 1, neutral = false },
{ name = 'armpb', x = 8700, y = 82, z = 3100, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 6666, y = 84, z = 700, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 6666, y = 87, z = 1030, rot = -16384, team = 1, neutral = false },
{ name = 'armguard', x = 7000, y = 156, z = 2800, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 7000, y = 157, z = 3000, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 6800, y = 83, z = 3400, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 7700, y = 100, z = 3500, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 3800, y = 138, z = 2900, rot = -16384, team = 1, neutral = false },
{ name = 'armtl', x = 7900, y = 0, z = 600, rot = -16384, team = 1, neutral = false },
{ name = 'armtl', x = 7900, y = 0, z = 600, rot = -16384, team = 1, neutral = false },
{ name = 'armtl', x = 5000, y = 0, z = 4650, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 6100, y = 15, z = 2500, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 5850, y = 14, z = 2800, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 5600, y = 12, z = 3150, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 5350, y = 12, z = 3440, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 3550, y = 77, z = 4350, rot = -16384, team = 1, neutral = false },
{ name = 'armmercury', x = 3550, y = 77, z = 4150, rot = -16384, team = 1, neutral = false },
{ name = 'armkraken', x = 4650, y = -3, z = 3200, rot = -16384, team = 1, neutral = false },
{ name = 'armkraken', x = 5600, y = -3, z = 2000, rot = -16384, team = 1, neutral = false },
{ name = 'armanni', x = 8550, y = 228, z = 1050, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 8200, y = 222, z = 1200, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 8600, y = 226, z = 950, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 7700, y = 93, z = 950, rot = -16384, team = 1, neutral = false },
{ name = 'armatl', x = 8900, y = -2, z = 2100, rot = -16384, team = 1, neutral = false },
{ name = 'armtl', x = 7700, y = 0, z = 2150, rot = -16384, team = 1, neutral = false },
{ name = 'armatl', x = 8270, y = -2, z = 1580, rot = -16384, team = 1, neutral = false },
{ name = 'armtl', x = 3900, y = 0, z = 300, rot = -16384, team = 1, neutral = false },
{ name = 'armtl', x = 7850, y = 0, z = 1600, rot = -16384, team = 1, neutral = false },
{ name = 'armrl', x = 9340, y = 29, z = 775, rot = -16384, team = 1, neutral = false },
{ name = 'armflak', x = 9700, y = 64, z = 300, rot = -16384, team = 1, neutral = false },
{ name = 'armdl', x = 9440, y = 22, z = 380, rot = -16384, team = 1, neutral = false },
{ name = 'armfhlt', x = 5200, y = -3, z = 2600, rot = -16384, team = 1, neutral = false },
{ name = 'armhlt', x = 9400, y = 79, z = 3550, rot = -16384, team = 1, neutral = false },
{ name = 'armfort', x = 9400, y = 79, z = 3518, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9400, y = 79, z = 3582, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9432, y = 78, z = 3518, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9432, y = 79, z = 3582, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9368, y = 79, z = 3518, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9368, y = 80, z = 3582, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9432, y = 79, z = 3550, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9368, y = 79, z = 3550, rot = -16384, team = 1, neutral = true },
{ name = 'armbeamer', x = 6100, y = 92, z = 3950, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 6300, y = 65, z = 4200, rot = -16384, team = 1, neutral = false },
{ name = 'armbeamer', x = 6380, y = 21, z = 4500, rot = -16384, team = 1, neutral = false },
{ name = 'armflak', x = 6360, y = 47, z = 4350, rot = -16384, team = 1, neutral = false },
{ name = 'armflak', x = 8800, y = 93, z = 3500, rot = -16384, team = 1, neutral = false },
{ name = 'armfort', x = 5976, y = 131, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6008, y = 115, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6040, y = 105, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6072, y = 97, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6104, y = 94, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6136, y = 94, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6168, y = 95, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6200, y = 97, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6232, y = 100, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6264, y = 105, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 6296, y = 132, z = 4000, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 5820, y = 99, z = 4400, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 5836, y = 93, z = 4432, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 5852, y = 102, z = 4464, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 5868, y = 99, z = 4496, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 5884, y = 106, z = 4528, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 5900, y = 115, z = 4560, rot = -16384, team = 1, neutral = true },
{ name = 'armrl', x = 9671, y = 161, z = 1967, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 5900, y = 115, z = 4560, rot = -16384, team = 1, neutral = true },
{ name = 'armfort', x = 9614, y = 94, z = 3200, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 9614, y = 94, z = 3232, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 9614, y = 94, z = 3264, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 9900, y = 160, z = 3368, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 9900, y = 160, z = 3400, rot = 0, team = 1, neutral = false },
{ name = 'armfort', x = 9900, y = 160, z = 3432, rot = 0, team = 1, neutral = false },
{ name = 'armbeamer', x = 9896, y = 188, z = 2405, rot = 0, team = 1, neutral = false },
{ name = 'armbeamer', x = 9338, y = 77, z = 1451, rot = 0, team = 1, neutral = false },
{ name = 'armbeamer', x = 9391, y = 135, z = 2378, rot = 0, team = 1, neutral = false },
{ name = 'armbeamer', x = 9880, y = 141, z = 2844, rot = 0, team = 1, neutral = false },
},
featureloadout = {
}
},
-- https://github.com/spring/spring/blob/105.0/doc/StartScriptFormat.txt
startscript = [[
[Game]
{
[allyTeam0]
{
numallies = 0;
}
[allyTeam1]
{
numallies = 0;
}
[team0]
{
Side = __PLAYERSIDE__;
Handicap = __PLAYERHANDICAP__;
RgbColor = 0.0 0.3 0.8;
AllyTeam = 0;
TeamLeader = 0;
StartPosX = 1000;
StartPosZ = 1650;
}
[team1]
{
Side = Armada;
Handicap = __ENEMYHANDICAP__;
RgbColor = 1.0 0.1 0.0;
AllyTeam = 1;
TeamLeader = 0;
StartPosX = 9300;
StartPosZ = 1300;
}
[team2]
{
Side = __PLAYERSIDE__;
Handicap = __PLAYERHANDICAP__;
RgbColor = 0.0 0.3 0.8;
AllyTeam = 0;
TeamLeader = 0;
StartPosX = 1000;
StartPosZ = 1650;
}
[player0]
{
IsFromDemo = 0;
Name = __PLAYERNAME__;
Team = 0;
rank = 0;
}
[ai0]
{
Host = 0;
IsFromDemo = 0;
Name = Armada Stronghold Guard;
ShortName = NullAI;
Team = 1;
Version = 0.1;
}
[ai1]
{
Host = 0;
IsFromDemo = 0;
Name = Captive Commando;
ShortName = NullAI;
Team = 2;
Version = 0.1;
}
[modoptions]
{
scenariooptions = __SCENARIOOPTIONS__;
StartEnergy=1000;
StartMetal=1000;
deathmode = builders;
}
NumRestrictions=__NUMRESTRICTIONS__;
[RESTRICT]
{
__RESTRICTEDUNITS__
}
hostip = 127.0.0.1;
hostport = 0;
numplayers = 1;
startpostype = 3;
mapname = __MAPNAME__;
ishost = 1;
numusers = 2;
gametype = __BARVERSION__;
GameStartDelay = 0;
myplayername = __PLAYERNAME__;
nohelperais = 0;
}
]],
}
return scenariodata