wc3maptranslator 3.0.3 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/.codeclimate.yml +0 -1
  2. package/.eslintignore +0 -1
  3. package/.github/workflows/codeql-analysis.yml +54 -0
  4. package/.nycrc +1 -2
  5. package/.travis.yml +1 -2
  6. package/CHANGELOG.md +78 -0
  7. package/LICENSE.md +23 -0
  8. package/README.md +68 -75
  9. package/index.js +11 -15
  10. package/index.ts +12 -30
  11. package/lib/CommonInterfaces.ts +22 -0
  12. package/lib/HexBuffer.ts +11 -14
  13. package/lib/W3Buffer.ts +7 -3
  14. package/lib/translators/CamerasTranslator.ts +36 -41
  15. package/lib/translators/DoodadsTranslator.ts +57 -55
  16. package/lib/translators/ImportsTranslator.ts +29 -31
  17. package/lib/translators/InfoTranslator.ts +252 -204
  18. package/lib/translators/{object/ObjectsTranslator.ts → ObjectsTranslator.ts} +84 -82
  19. package/lib/translators/RegionsTranslator.ts +40 -58
  20. package/lib/translators/SoundsTranslator.ts +112 -96
  21. package/lib/translators/StringsTranslator.ts +23 -49
  22. package/lib/translators/TerrainTranslator.ts +166 -97
  23. package/lib/translators/UnitsTranslator.ts +98 -97
  24. package/lib/translators/index.ts +0 -1
  25. package/package.json +23 -16
  26. package/test/.mocharc.json +4 -0
  27. package/test/HexBufferTest.ts +11 -15
  28. package/test/TranslatorReversion.ts +104 -115
  29. package/test/W3BufferTest.ts +19 -13
  30. package/test/data/cameras.json +16 -0
  31. package/test/data/doodads.json +2730 -0
  32. package/test/data/imports.json +386 -0
  33. package/test/data/info.json +250 -0
  34. package/test/data/obj-abilities.json +4892 -0
  35. package/test/data/obj-buffs.json +38 -0
  36. package/test/data/obj-destructables.json +31 -0
  37. package/test/data/obj-doodads.json +38 -0
  38. package/test/data/obj-items.json +31 -0
  39. package/test/data/obj-units.json +40 -0
  40. package/test/data/obj-upgrades.json +38 -0
  41. package/test/data/regions.json +206 -0
  42. package/test/data/sounds.json +50 -0
  43. package/test/data/strings.json +115 -0
  44. package/test/data/terrain.json +1 -0
  45. package/test/data/units.json +452 -0
  46. package/test/data/war3map.doo +0 -0
  47. package/test/data/war3map.imp +0 -0
  48. package/test/data/war3map.j +3442 -0
  49. package/test/data/war3map.shd +0 -0
  50. package/test/data/war3map.w3a +0 -0
  51. package/test/data/war3map.w3b +0 -0
  52. package/test/data/war3map.w3c +0 -0
  53. package/test/data/war3map.w3d +0 -0
  54. package/test/data/war3map.w3e +0 -0
  55. package/test/data/war3map.w3h +0 -0
  56. package/test/data/war3map.w3i +0 -0
  57. package/test/data/war3map.w3q +0 -0
  58. package/test/data/war3map.w3r +0 -0
  59. package/test/data/war3map.w3s +0 -0
  60. package/test/data/war3map.w3t +0 -0
  61. package/test/data/war3map.w3u +0 -0
  62. package/test/data/war3map.wts +631 -0
  63. package/test/data/war3mapUnits.doo +0 -0
  64. package/examples/index.js +0 -123
  65. package/examples/index.ts +0 -134
  66. package/examples/json/cameras.json +0 -16
  67. package/examples/json/doodads.json +0 -28499
  68. package/examples/json/imports.json +0 -10
  69. package/examples/json/info.json +0 -111
  70. package/examples/json/object-abilities.json +0 -31
  71. package/examples/json/object-buffs.json +0 -24
  72. package/examples/json/object-destructables.json +0 -31
  73. package/examples/json/object-doodads.json +0 -24
  74. package/examples/json/object-items.json +0 -45
  75. package/examples/json/object-units.json +0 -45
  76. package/examples/json/object-upgrades.json +0 -31
  77. package/examples/json/regions.json +0 -36
  78. package/examples/json/sounds.json +0 -46
  79. package/examples/json/strings.json +0 -83
  80. package/examples/json/terrain.json +0 -46633
  81. package/examples/json/units.json +0 -332
  82. package/examples/package.json +0 -17
  83. package/examples/tsconfig.json +0 -27
  84. package/examples/war/war3map.doo +0 -0
  85. package/examples/war/war3map.imp +0 -0
  86. package/examples/war/war3map.w3a +0 -0
  87. package/examples/war/war3map.w3b +0 -0
  88. package/examples/war/war3map.w3c +0 -0
  89. package/examples/war/war3map.w3d +0 -0
  90. package/examples/war/war3map.w3e +0 -0
  91. package/examples/war/war3map.w3h +0 -0
  92. package/examples/war/war3map.w3i +0 -0
  93. package/examples/war/war3map.w3q +0 -0
  94. package/examples/war/war3map.w3r +0 -0
  95. package/examples/war/war3map.w3s +0 -0
  96. package/examples/war/war3map.w3t +0 -0
  97. package/examples/war/war3map.w3u +0 -0
  98. package/examples/war/war3map.wts +0 -99
  99. package/lib/translators/index.js +0 -16
  100. package/test/mocha.opts +0 -4
@@ -0,0 +1,386 @@
1
+ [
2
+ {
3
+ "type": "custom",
4
+ "path": "war3mapImported\\Units\\UnitBalance.slk"
5
+ },
6
+ {
7
+ "type": "custom",
8
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNSpeed.tga"
9
+ },
10
+ {
11
+ "type": "custom",
12
+ "path": "war3mapImported\\Units\\NeutralUpgradeFunc.txt"
13
+ },
14
+ {
15
+ "type": "custom",
16
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNHellfireAura.tga"
17
+ },
18
+ {
19
+ "type": "custom",
20
+ "path": "war3mapImported\\Units\\OrcUpgradeStrings.txt"
21
+ },
22
+ {
23
+ "type": "custom",
24
+ "path": "war3mapImported\\Units\\CommonAbilityStrings.txt"
25
+ },
26
+ {
27
+ "type": "custom",
28
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNAMateriel.tga"
29
+ },
30
+ {
31
+ "type": "custom",
32
+ "path": "war3mapImported\\Units\\HumanAbilityStrings.txt"
33
+ },
34
+ {
35
+ "type": "custom",
36
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNRedemption.tga"
37
+ },
38
+ {
39
+ "type": "custom",
40
+ "path": "war3mapImported\\Units\\NeutralUpgradeStrings.txt"
41
+ },
42
+ {
43
+ "type": "custom",
44
+ "path": "war3mapImported\\Units\\CampaignAbilityFunc.txt"
45
+ },
46
+ {
47
+ "type": "custom",
48
+ "path": "war3mapImported\\FullScreen.blp"
49
+ },
50
+ {
51
+ "type": "custom",
52
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNPacify.tga"
53
+ },
54
+ {
55
+ "type": "custom",
56
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNRegen.tga"
57
+ },
58
+ {
59
+ "type": "custom",
60
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNDeath.tga"
61
+ },
62
+ {
63
+ "type": "custom",
64
+ "path": "war3mapImported\\Units\\NightElfUnitStrings.txt"
65
+ },
66
+ {
67
+ "type": "custom",
68
+ "path": "war3mapImported\\Units\\UnitAbilities.slk"
69
+ },
70
+ {
71
+ "type": "custom",
72
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNChestGold.tga"
73
+ },
74
+ {
75
+ "type": "custom",
76
+ "path": "war3mapImported\\Units\\CampaignAbilityStrings.txt"
77
+ },
78
+ {
79
+ "type": "custom",
80
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNInsanity.tga"
81
+ },
82
+ {
83
+ "type": "custom",
84
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNHellfireAura.tga"
85
+ },
86
+ {
87
+ "type": "custom",
88
+ "path": "war3mapImported\\Units\\HumanAbilityFunc.txt"
89
+ },
90
+ {
91
+ "type": "custom",
92
+ "path": "war3mapImported\\Units\\OrcUpgradeFunc.txt"
93
+ },
94
+ {
95
+ "type": "custom",
96
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNStaticPresence.tga"
97
+ },
98
+ {
99
+ "type": "custom",
100
+ "path": "war3mapImported\\Units\\ItemData.slk"
101
+ },
102
+ {
103
+ "type": "custom",
104
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNRegen.tga"
105
+ },
106
+ {
107
+ "type": "custom",
108
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNCameo.tga"
109
+ },
110
+ {
111
+ "type": "custom",
112
+ "path": "war3mapImported\\Units\\CommonAbilityFunc.txt"
113
+ },
114
+ {
115
+ "type": "custom",
116
+ "path": "war3mapImported\\Units\\ItemStrings.txt"
117
+ },
118
+ {
119
+ "type": "custom",
120
+ "path": "war3mapImported\\Units\\UnitData.slk"
121
+ },
122
+ {
123
+ "type": "custom",
124
+ "path": "war3mapImported\\Units\\UpgradeData.slk"
125
+ },
126
+ {
127
+ "type": "custom",
128
+ "path": "war3mapImported\\Units\\UndeadUnitFunc.txt"
129
+ },
130
+ {
131
+ "type": "custom",
132
+ "path": "war3mapImported\\Units\\UndeadUpgradeStrings.txt"
133
+ },
134
+ {
135
+ "type": "custom",
136
+ "path": "war3mapImported\\Units\\UndeadUpgradeFunc.txt"
137
+ },
138
+ {
139
+ "type": "custom",
140
+ "path": "war3mapImported\\Units\\CampaignUnitStrings.txt"
141
+ },
142
+ {
143
+ "type": "custom",
144
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNChestGold.tga"
145
+ },
146
+ {
147
+ "type": "custom",
148
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNInsanity.tga"
149
+ },
150
+ {
151
+ "type": "custom",
152
+ "path": "war3mapImported\\Units\\NightElfUpgradeStrings.txt"
153
+ },
154
+ {
155
+ "type": "custom",
156
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNDeal.tga"
157
+ },
158
+ {
159
+ "type": "custom",
160
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNCameo.tga"
161
+ },
162
+ {
163
+ "type": "custom",
164
+ "path": "war3mapImported\\Units\\ItemFunc.txt"
165
+ },
166
+ {
167
+ "type": "custom",
168
+ "path": "war3mapImported\\Units\\OrcUnitFunc.txt"
169
+ },
170
+ {
171
+ "type": "custom",
172
+ "path": "war3mapImported\\Units\\UnitWeapons.slk"
173
+ },
174
+ {
175
+ "type": "custom",
176
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNDamage.tga"
177
+ },
178
+ {
179
+ "type": "custom",
180
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNCannon.tga"
181
+ },
182
+ {
183
+ "type": "custom",
184
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNAbsolution.tga"
185
+ },
186
+ {
187
+ "type": "custom",
188
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNHP.tga"
189
+ },
190
+ {
191
+ "type": "custom",
192
+ "path": "war3mapImported\\Units\\UnitUI.slk"
193
+ },
194
+ {
195
+ "type": "custom",
196
+ "path": "war3mapImported\\Units\\HumanUnitStrings.txt"
197
+ },
198
+ {
199
+ "type": "custom",
200
+ "path": "war3mapImported\\Units\\OrcAbilityStrings.txt"
201
+ },
202
+ {
203
+ "type": "custom",
204
+ "path": "war3mapImported\\Units\\NeutralAbilityFunc.txt"
205
+ },
206
+ {
207
+ "type": "custom",
208
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNStaticPresence.tga"
209
+ },
210
+ {
211
+ "type": "custom",
212
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNHP.tga"
213
+ },
214
+ {
215
+ "type": "custom",
216
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNHiveMind.tga"
217
+ },
218
+ {
219
+ "type": "custom",
220
+ "path": "war3mapImported\\Units\\NeutralAbilityStrings.txt"
221
+ },
222
+ {
223
+ "type": "custom",
224
+ "path": "war3mapImported\\Units\\NightElfUpgradeFunc.txt"
225
+ },
226
+ {
227
+ "type": "custom",
228
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNShock.tga"
229
+ },
230
+ {
231
+ "type": "custom",
232
+ "path": "war3mapImported\\Units\\ItemAbilityStrings.txt"
233
+ },
234
+ {
235
+ "type": "custom",
236
+ "path": "war3mapImported\\Units\\AbilityBuffData.slk"
237
+ },
238
+ {
239
+ "type": "custom",
240
+ "path": "war3mapImported\\Units\\CampaignUnitFunc.txt"
241
+ },
242
+ {
243
+ "type": "custom",
244
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNBundleOfLove.tga"
245
+ },
246
+ {
247
+ "type": "custom",
248
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNDamage.tga"
249
+ },
250
+ {
251
+ "type": "custom",
252
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNRedemption.tga"
253
+ },
254
+ {
255
+ "type": "custom",
256
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNCannon.tga"
257
+ },
258
+ {
259
+ "type": "custom",
260
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNShock.tga"
261
+ },
262
+ {
263
+ "type": "custom",
264
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNHiveMind.tga"
265
+ },
266
+ {
267
+ "type": "custom",
268
+ "path": "war3mapImported\\Units\\OrcAbilityFunc.txt"
269
+ },
270
+ {
271
+ "type": "custom",
272
+ "path": "war3mapImported\\Units\\ItemAbilityFunc.txt"
273
+ },
274
+ {
275
+ "type": "custom",
276
+ "path": "war3mapImported\\Units\\NightElfUnitFunc.txt"
277
+ },
278
+ {
279
+ "type": "custom",
280
+ "path": "war3mapImported\\Units\\NeutralUnitStrings.txt"
281
+ },
282
+ {
283
+ "type": "custom",
284
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNFerocity.tga"
285
+ },
286
+ {
287
+ "type": "custom",
288
+ "path": "war3mapImported\\Units\\UndeadAbilityStrings.txt"
289
+ },
290
+ {
291
+ "type": "custom",
292
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNArmor.tga"
293
+ },
294
+ {
295
+ "type": "custom",
296
+ "path": "war3mapImported\\Units\\CampaignUpgradeFunc.txt"
297
+ },
298
+ {
299
+ "type": "custom",
300
+ "path": "war3mapImported\\Units\\AbilityData.slk"
301
+ },
302
+ {
303
+ "type": "custom",
304
+ "path": "war3mapImported\\Units\\UndeadAbilityFunc.txt"
305
+ },
306
+ {
307
+ "type": "custom",
308
+ "path": "war3mapImported\\Units\\NightElfAbilityStrings.txt"
309
+ },
310
+ {
311
+ "type": "custom",
312
+ "path": "war3mapImported\\Units\\HumanUpgradeStrings.txt"
313
+ },
314
+ {
315
+ "type": "custom",
316
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNBundleOfLove.tga"
317
+ },
318
+ {
319
+ "type": "custom",
320
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNDeal.tga"
321
+ },
322
+ {
323
+ "type": "custom",
324
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNArmor.tga"
325
+ },
326
+ {
327
+ "type": "custom",
328
+ "path": "war3mapImported\\Units\\HumanUpgradeFunc.txt"
329
+ },
330
+ {
331
+ "type": "custom",
332
+ "path": "war3mapImported\\war3mapPreview.tga"
333
+ },
334
+ {
335
+ "type": "custom",
336
+ "path": "war3mapImported\\war3mapMap.blp"
337
+ },
338
+ {
339
+ "type": "custom",
340
+ "path": "war3mapImported\\LoadingScreen.mdx"
341
+ },
342
+ {
343
+ "type": "custom",
344
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNFerocity.tga"
345
+ },
346
+ {
347
+ "type": "custom",
348
+ "path": "war3mapImported\\Units\\CampaignUpgradeStrings.txt"
349
+ },
350
+ {
351
+ "type": "custom",
352
+ "path": "war3mapImported\\Units\\OrcUnitStrings.txt"
353
+ },
354
+ {
355
+ "type": "custom",
356
+ "path": "war3mapImported\\Units\\HumanUnitFunc.txt"
357
+ },
358
+ {
359
+ "type": "custom",
360
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtons\\BTNSpeed.tga"
361
+ },
362
+ {
363
+ "type": "custom",
364
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNAbsolution.tga"
365
+ },
366
+ {
367
+ "type": "custom",
368
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNPacify.tga"
369
+ },
370
+ {
371
+ "type": "custom",
372
+ "path": "war3mapImported\\ReplaceableTextures\\CommandButtonsDisabled\\DISBTNAMateriel.tga"
373
+ },
374
+ {
375
+ "type": "custom",
376
+ "path": "war3mapImported\\Units\\NightElfAbilityFunc.txt"
377
+ },
378
+ {
379
+ "type": "custom",
380
+ "path": "war3mapImported\\Units\\UndeadUnitStrings.txt"
381
+ },
382
+ {
383
+ "type": "custom",
384
+ "path": "war3mapImported\\Units\\NeutralUnitFunc.txt"
385
+ }
386
+ ]
@@ -0,0 +1,250 @@
1
+ {
2
+ "map": {
3
+ "name": "TRIGSTR_1670",
4
+ "author": "TRIGSTR_1673",
5
+ "description": "TRIGSTR_1672",
6
+ "recommendedPlayers": "TRIGSTR_1671",
7
+ "playableArea": {
8
+ "width": 52,
9
+ "height": 52
10
+ },
11
+ "mainTileType": "X",
12
+ "flags": {
13
+ "hideMinimapInPreview": false,
14
+ "modifyAllyPriorities": false,
15
+ "isMeleeMap": false,
16
+ "maskedPartiallyVisible": false,
17
+ "fixedPlayerSetting": true,
18
+ "useCustomForces": true,
19
+ "useCustomTechtree": false,
20
+ "useCustomAbilities": false,
21
+ "useCustomUpgrades": false,
22
+ "waterWavesOnCliffShores": true,
23
+ "waterWavesOnRollingShores": true,
24
+ "useItemClassificationSystem": true,
25
+ "enableWaterTinting": false,
26
+ "useAccurateProbabilityForCalculations": false,
27
+ "useCustomAbilitySkins": false
28
+ }
29
+ },
30
+ "loadingScreen": {
31
+ "background": -1,
32
+ "path": "LoadingScreen.mdx",
33
+ "text": "TRIGSTR_1676",
34
+ "title": "TRIGSTR_1674",
35
+ "subtitle": "TRIGSTR_1675"
36
+ },
37
+ "prologue": {
38
+ "path": "",
39
+ "text": "",
40
+ "title": "",
41
+ "subtitle": ""
42
+ },
43
+ "fog": {
44
+ "type": 0,
45
+ "startHeight": 3000,
46
+ "endHeight": 5000,
47
+ "density": 0.5,
48
+ "color": [
49
+ 0,
50
+ 0,
51
+ 0,
52
+ 255
53
+ ]
54
+ },
55
+ "camera": {
56
+ "bounds": [
57
+ -2816,
58
+ -3328,
59
+ 2816,
60
+ 2816,
61
+ -2816,
62
+ 2816,
63
+ 2816,
64
+ -3328
65
+ ],
66
+ "complements": [
67
+ 6,
68
+ 6,
69
+ 4,
70
+ 8
71
+ ]
72
+ },
73
+ "players": [
74
+ {
75
+ "name": "TRIGSTR_1615",
76
+ "startingPos": {
77
+ "x": 0,
78
+ "y": -256,
79
+ "fixed": true
80
+ },
81
+ "playerNum": 0,
82
+ "type": 2,
83
+ "race": 3
84
+ },
85
+ {
86
+ "name": "TRIGSTR_1616",
87
+ "startingPos": {
88
+ "x": 0,
89
+ "y": -256,
90
+ "fixed": true
91
+ },
92
+ "playerNum": 1,
93
+ "type": 1,
94
+ "race": 1
95
+ },
96
+ {
97
+ "name": "TRIGSTR_1617",
98
+ "startingPos": {
99
+ "x": 0,
100
+ "y": -256,
101
+ "fixed": true
102
+ },
103
+ "playerNum": 2,
104
+ "type": 1,
105
+ "race": 1
106
+ },
107
+ {
108
+ "name": "TRIGSTR_1618",
109
+ "startingPos": {
110
+ "x": 0,
111
+ "y": -256,
112
+ "fixed": true
113
+ },
114
+ "playerNum": 3,
115
+ "type": 1,
116
+ "race": 1
117
+ },
118
+ {
119
+ "name": "TRIGSTR_1619",
120
+ "startingPos": {
121
+ "x": 0,
122
+ "y": -256,
123
+ "fixed": true
124
+ },
125
+ "playerNum": 4,
126
+ "type": 1,
127
+ "race": 1
128
+ },
129
+ {
130
+ "name": "TRIGSTR_1620",
131
+ "startingPos": {
132
+ "x": 0,
133
+ "y": -256,
134
+ "fixed": true
135
+ },
136
+ "playerNum": 5,
137
+ "type": 1,
138
+ "race": 1
139
+ },
140
+ {
141
+ "name": "TRIGSTR_1621",
142
+ "startingPos": {
143
+ "x": 0,
144
+ "y": -256,
145
+ "fixed": true
146
+ },
147
+ "playerNum": 6,
148
+ "type": 1,
149
+ "race": 1
150
+ },
151
+ {
152
+ "name": "TRIGSTR_1622",
153
+ "startingPos": {
154
+ "x": 0,
155
+ "y": -256,
156
+ "fixed": true
157
+ },
158
+ "playerNum": 7,
159
+ "type": 1,
160
+ "race": 1
161
+ },
162
+ {
163
+ "name": "TRIGSTR_1623",
164
+ "startingPos": {
165
+ "x": 0,
166
+ "y": -256,
167
+ "fixed": true
168
+ },
169
+ "playerNum": 8,
170
+ "type": 1,
171
+ "race": 1
172
+ },
173
+ {
174
+ "name": "TRIGSTR_1624",
175
+ "startingPos": {
176
+ "x": 0,
177
+ "y": -256,
178
+ "fixed": true
179
+ },
180
+ "playerNum": 9,
181
+ "type": 1,
182
+ "race": 1
183
+ },
184
+ {
185
+ "name": "TRIGSTR_1625",
186
+ "startingPos": {
187
+ "x": 0,
188
+ "y": -256,
189
+ "fixed": true
190
+ },
191
+ "playerNum": 10,
192
+ "type": 1,
193
+ "race": 1
194
+ },
195
+ {
196
+ "name": "TRIGSTR_1626",
197
+ "startingPos": {
198
+ "x": 0,
199
+ "y": -256,
200
+ "fixed": true
201
+ },
202
+ "playerNum": 11,
203
+ "type": 1,
204
+ "race": 1
205
+ }
206
+ ],
207
+ "forces": [
208
+ {
209
+ "flags": {
210
+ "allied": true,
211
+ "alliedVictory": false,
212
+ "shareVision": true,
213
+ "shareUnitControl": false,
214
+ "shareAdvUnitControl": false
215
+ },
216
+ "players": -2,
217
+ "name": "TRIGSTR_1627"
218
+ },
219
+ {
220
+ "flags": {
221
+ "allied": true,
222
+ "alliedVictory": false,
223
+ "shareVision": false,
224
+ "shareUnitControl": false,
225
+ "shareAdvUnitControl": false
226
+ },
227
+ "players": 1,
228
+ "name": "TRIGSTR_1628"
229
+ }
230
+ ],
231
+ "saves": 1846,
232
+ "editorVersion": 6112,
233
+ "scriptLanguage": 0,
234
+ "supportedModes": 3,
235
+ "gameVersion": {
236
+ "major": 1,
237
+ "minor": 32,
238
+ "patch": 9,
239
+ "build": 16589
240
+ },
241
+ "globalWeather": "0000",
242
+ "customSoundEnvironment": "",
243
+ "customLightEnv": "O",
244
+ "water": [
245
+ 255,
246
+ 255,
247
+ 255,
248
+ 255
249
+ ]
250
+ }