vault 10.2.0

A parser for Company of Heroes replay files.
Documentation
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
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
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
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
use crate::data::{ParserResult, Span};
use nom::{combinator::map, number::complete::le_u8};

#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};

/// Company of Heroes 3 command types.

#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
#[allow(non_camel_case_types)]
#[repr(u8)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum CommandType {
    //[EntityCommandType]
    CMD_DefaultAction = 0,
    CMD_Stop = 1,
    CMD_Destroy = 2,
    CMD_BuildSquad = 3,
    CMD_InstantBuildSquad = 4,
    CMD_CancelProduction = 5,
    CMD_BuildStructure = 6,
    CMD_Move = 7,
    CMD_FlightMove = 8,
    CMD_Face = 9,
    CMD_Attack = 10,
    CMD_AttackMove = 11,
    CMD_RallyPoint = 12,
    CMD_Capture = 13,
    CMD_Ability = 14,
    CMD_Evacuate = 15,
    CMD_Upgrade = 16,
    CMD_InstantUpgrade = 17,
    CMD_Load = 18,
    CMD_Unload = 19,
    CMD_UnloadSquads = 20,
    CMD_AttackStop = 21,
    CMD_AttackForced = 22,
    CMD_SetHoldHeading = 23,
    CMD_StopMove = 24,
    CMD_Paradrop = 25,
    CMD_DefuseMine = 26,
    CMD_Casualty = 27,
    CMD_Death = 28,
    CMD_InstantDeath = 29,
    CMD_Projectile = 30,
    CMD_PlaceCharge = 31,
    CMD_BuildEntity = 32,
    CMD_RescueCasualty = 33,
    CMD_AttackFromHold = 34,
    CMD_Vault = 35,
    CMD_KnockedBack = 36,
    CMD_Teardown = 37,
    CMD_Melee = 38,
    CMD_ResolveOverlap = 39,
    CMD_Stun = 40,
    CMD_InstantSetupTeamWeapon = 41,
    CMD_SetupTeamWeapon = 42,
    CMD_MoveToCover = 43,
    CMD_Taunted = 44,
    CMD_Trade = 45,
    CMD_Brace = 46,
    CMD_Gather = 47,
    CMD_PickUpSimItem = 48,
    CMD_ChangeCombatSlot = 49,
    CMD_RetreatMove = 50,
    CMD_StopAbility = 51,
    CMD_InstantLoad = 52,
    CMD_RestoreWreck = 53,
    CMD_Disable = 54,
    CMD_Enable = 55,
    CMD_CancelConstruction = 56,
    CMD_HoldPositionOn = 57,
    CMD_HoldPositionOff = 58,
    CMD_CancelRestoreWreck = 59,
    CMD_Repair = 60,
    CMD_COUNT = 61,

    //[SquadCommandType]
    SCMD_Move = 62,
    SCMD_Stop = 63,
    SCMD_Destroy = 64,
    SCMD_BuildStructure = 65,
    SCMD_Capture = 66,
    SCMD_Attack = 67,
    SCMD_ReinforceUnit = 68,
    SCMD_Upgrade = 69,
    SCMD_CancelProduction = 70,
    SCMD_AttackMove = 71,
    SCMD_Ability = 72,
    SCMD_Load = 73,
    SCMD_InstantLoad = 74,
    SCMD_UnloadSquads = 75,
    SCMD_Unload = 76,
    SCMD_PickupTrailer_UNUSED = 77,
    SCMD_Retreat = 78,
    SCMD_CaptureTeamWeapon = 79,
    SCMD_SetMoveType = 80,
    SCMD_InstantReinforceUnit = 81,
    SCMD_InstantUpgrade = 82,
    SCMD_PlaceCharge = 83,
    SCMD_DefuseCharge = 84,
    SCMD_DropTrailer_UNUSED = 85,
    SCMD_PickUpSimItem = 86,
    SCMD_DefuseMine = 87,
    SCMD_DoPlan = 88,
    SCMD_Patrol = 89,
    SCMD_Surprise = 90,
    SCMD_InstantSetupTeamWeapon = 91,
    SCMD_SetupTeamWeapon = 92,
    SCMD_AbandonTeamWeapon = 93,
    SCMD_StationaryAttack = 94,
    SCMD_RevertFieldSupport = 95,
    SCMD_Face = 96,
    SCMD_BuildSquad = 97,
    SCMD_RallyPoint = 98,
    SCMD_RescueCasualty = 99,
    SCMD_Recrew = 100,
    SCMD_Merge = 101,
    SCMD_WeaponPreference = 102,
    SCMD_CombatStance = 103,
    SCMD_MoveToCover = 104,
    SCMD_Gather = 105,
    SCMD_AttackWithinLeashArea = 106,
    SCMD_JoinFormationSquadGroup = 107,
    SCMD_Trade = 108,
    SCMD_HoldPosition = 109,
    SCMD_Evacuate = 110,
    SCMD_Vault = 111,
    SCMD_CancelQueuedCommand = 112,
    SCMD_RespondToBeingBreached = 113,
    SCMD_StopAbility = 114,
    SCMD_InstantParadropReinforceUnit = 115,
    SCMD_MoveUntilInsidePlayableArea = 116,
    SCMD_BeingTowed = 117,
    SCMD_AttachingTrailer = 118,
    SCMD_DetachingTrailer_UNUSED = 119,
    SCMD_RestoreWreck_UNUSED = 120,
    SCMD_AnimatedSpawn = 121,
    SCMD_COUNT = 122,

    //[FormationSquadGroupCommandType]
    FCMD_FormationSquadGroupMove = 123,
    FCMD_FormationSquadGroupAttack = 124,
    FCMD_FormationSquadGroupAttackMove = 125,
    FCMD_FormationSquadGroupStop = 126,
    FCMD_COUNT = 127,

    //[PlayerCommandType]
    PCMD_PlaceAndConstructEntities = 128,
    PCMD_ResourceDonation = 129,
    PCMD_CheatResources = 130,
    PCMD_CheatRevealAll = 131,
    PCMD_Ability = 132,
    PCMD_CheatBuildTime = 133,
    PCMD_CheatIgnoreCosts = 134,
    PCMD_Upgrade = 135,
    PCMD_InstantUpgrade = 136,
    PCMD_TentativeUpgrade = 137,
    PCMD_TentativeUpgradePurchaseAll = 138,
    PCMD_UpgradeRemove = 139,
    PCMD_TentativeUpgradeRemoveAll = 140,
    PCMD_SlotItemRemove_DEPRECATED = 141,
    PCMD_CancelProduction = 142,
    PCMD_DetonateCharges = 143,
    PCMD_AIPlayer = 144,
    PCMD_AIPlayer_EncounterNotification = 145,
    PCMD_Surrender = 146,
    PCMD_WaitObjectDone = 147,
    PCMD_BroadcastMessage = 148,
    PCMD_AIPlayer_EncounterSniped = 149,
    PCMD_AIPlayer_ResourceBonus = 150,
    PCMD_FormationSquadGroupCreateBegin = 151,
    PCMD_FormationSquadGroupAddSquad = 152,
    PCMD_FormationSquadGroupCreateEnd = 153,
    PCMD_EndTurn = 154,
    PCMD_StopAbility = 155,
    PCMD_COUNT = 156,

    //[DataCommandType]
    DCMD_CameraTrack = 157,
    DCMD_COUNT = 158,

    Unknown(u8),
}

impl CommandType {
    pub(crate) fn parse(input: Span) -> ParserResult<CommandType> {
        map(le_u8, CommandType::from)(input)
    }
}

impl From<u8> for CommandType {
    fn from(val: u8) -> CommandType {
        match val {
            0 => CommandType::CMD_DefaultAction,
            1 => CommandType::CMD_Stop,
            2 => CommandType::CMD_Destroy,
            3 => CommandType::CMD_BuildSquad,
            4 => CommandType::CMD_InstantBuildSquad,
            5 => CommandType::CMD_CancelProduction,
            6 => CommandType::CMD_BuildStructure,
            7 => CommandType::CMD_Move,
            8 => CommandType::CMD_FlightMove,
            9 => CommandType::CMD_Face,
            10 => CommandType::CMD_Attack,
            11 => CommandType::CMD_AttackMove,
            12 => CommandType::CMD_RallyPoint,
            13 => CommandType::CMD_Capture,
            14 => CommandType::CMD_Ability,
            15 => CommandType::CMD_Evacuate,
            16 => CommandType::CMD_Upgrade,
            17 => CommandType::CMD_InstantUpgrade,
            18 => CommandType::CMD_Load,
            19 => CommandType::CMD_Unload,
            20 => CommandType::CMD_UnloadSquads,
            21 => CommandType::CMD_AttackStop,
            22 => CommandType::CMD_AttackForced,
            23 => CommandType::CMD_SetHoldHeading,
            24 => CommandType::CMD_StopMove,
            25 => CommandType::CMD_Paradrop,
            26 => CommandType::CMD_DefuseMine,
            27 => CommandType::CMD_Casualty,
            28 => CommandType::CMD_Death,
            29 => CommandType::CMD_InstantDeath,
            30 => CommandType::CMD_Projectile,
            31 => CommandType::CMD_PlaceCharge,
            32 => CommandType::CMD_BuildEntity,
            33 => CommandType::CMD_RescueCasualty,
            34 => CommandType::CMD_AttackFromHold,
            35 => CommandType::CMD_Vault,
            36 => CommandType::CMD_KnockedBack,
            37 => CommandType::CMD_Teardown,
            38 => CommandType::CMD_Melee,
            39 => CommandType::CMD_ResolveOverlap,
            40 => CommandType::CMD_Stun,
            41 => CommandType::CMD_InstantSetupTeamWeapon,
            42 => CommandType::CMD_SetupTeamWeapon,
            43 => CommandType::CMD_MoveToCover,
            44 => CommandType::CMD_Taunted,
            45 => CommandType::CMD_Trade,
            46 => CommandType::CMD_Brace,
            47 => CommandType::CMD_Gather,
            48 => CommandType::CMD_PickUpSimItem,
            49 => CommandType::CMD_ChangeCombatSlot,
            50 => CommandType::CMD_RetreatMove,
            51 => CommandType::CMD_StopAbility,
            52 => CommandType::CMD_InstantLoad,
            53 => CommandType::CMD_RestoreWreck,
            54 => CommandType::CMD_Disable,
            55 => CommandType::CMD_Enable,
            56 => CommandType::CMD_CancelConstruction,
            57 => CommandType::CMD_HoldPositionOn,
            58 => CommandType::CMD_HoldPositionOff,
            59 => CommandType::CMD_CancelRestoreWreck,
            60 => CommandType::CMD_Repair,
            61 => CommandType::CMD_COUNT,
            62 => CommandType::SCMD_Move,
            63 => CommandType::SCMD_Stop,
            64 => CommandType::SCMD_Destroy,
            65 => CommandType::SCMD_BuildStructure,
            66 => CommandType::SCMD_Capture,
            67 => CommandType::SCMD_Attack,
            68 => CommandType::SCMD_ReinforceUnit,
            69 => CommandType::SCMD_Upgrade,
            70 => CommandType::SCMD_CancelProduction,
            71 => CommandType::SCMD_AttackMove,
            72 => CommandType::SCMD_Ability,
            73 => CommandType::SCMD_Load,
            74 => CommandType::SCMD_InstantLoad,
            75 => CommandType::SCMD_UnloadSquads,
            76 => CommandType::SCMD_Unload,
            77 => CommandType::SCMD_PickupTrailer_UNUSED,
            78 => CommandType::SCMD_Retreat,
            79 => CommandType::SCMD_CaptureTeamWeapon,
            80 => CommandType::SCMD_SetMoveType,
            81 => CommandType::SCMD_InstantReinforceUnit,
            82 => CommandType::SCMD_InstantUpgrade,
            83 => CommandType::SCMD_PlaceCharge,
            84 => CommandType::SCMD_DefuseCharge,
            85 => CommandType::SCMD_DropTrailer_UNUSED,
            86 => CommandType::SCMD_PickUpSimItem,
            87 => CommandType::SCMD_DefuseMine,
            88 => CommandType::SCMD_DoPlan,
            89 => CommandType::SCMD_Patrol,
            90 => CommandType::SCMD_Surprise,
            91 => CommandType::SCMD_InstantSetupTeamWeapon,
            92 => CommandType::SCMD_SetupTeamWeapon,
            93 => CommandType::SCMD_AbandonTeamWeapon,
            94 => CommandType::SCMD_StationaryAttack,
            95 => CommandType::SCMD_RevertFieldSupport,
            96 => CommandType::SCMD_Face,
            97 => CommandType::SCMD_BuildSquad,
            98 => CommandType::SCMD_RallyPoint,
            99 => CommandType::SCMD_RescueCasualty,
            100 => CommandType::SCMD_Recrew,
            101 => CommandType::SCMD_Merge,
            102 => CommandType::SCMD_WeaponPreference,
            103 => CommandType::SCMD_CombatStance,
            104 => CommandType::SCMD_MoveToCover,
            105 => CommandType::SCMD_Gather,
            106 => CommandType::SCMD_AttackWithinLeashArea,
            107 => CommandType::SCMD_JoinFormationSquadGroup,
            108 => CommandType::SCMD_Trade,
            109 => CommandType::SCMD_HoldPosition,
            110 => CommandType::SCMD_Evacuate,
            111 => CommandType::SCMD_Vault,
            112 => CommandType::SCMD_CancelQueuedCommand,
            113 => CommandType::SCMD_RespondToBeingBreached,
            114 => CommandType::SCMD_StopAbility,
            115 => CommandType::SCMD_InstantParadropReinforceUnit,
            116 => CommandType::SCMD_MoveUntilInsidePlayableArea,
            117 => CommandType::SCMD_BeingTowed,
            118 => CommandType::SCMD_AttachingTrailer,
            119 => CommandType::SCMD_DetachingTrailer_UNUSED,
            120 => CommandType::SCMD_RestoreWreck_UNUSED,
            121 => CommandType::SCMD_AnimatedSpawn,
            122 => CommandType::SCMD_COUNT,
            123 => CommandType::FCMD_FormationSquadGroupMove,
            124 => CommandType::FCMD_FormationSquadGroupAttack,
            125 => CommandType::FCMD_FormationSquadGroupAttackMove,
            126 => CommandType::FCMD_FormationSquadGroupStop,
            127 => CommandType::FCMD_COUNT,
            128 => CommandType::PCMD_PlaceAndConstructEntities,
            129 => CommandType::PCMD_ResourceDonation,
            130 => CommandType::PCMD_CheatResources,
            131 => CommandType::PCMD_CheatRevealAll,
            132 => CommandType::PCMD_Ability,
            133 => CommandType::PCMD_CheatBuildTime,
            134 => CommandType::PCMD_CheatIgnoreCosts,
            135 => CommandType::PCMD_Upgrade,
            136 => CommandType::PCMD_InstantUpgrade,
            137 => CommandType::PCMD_TentativeUpgrade,
            138 => CommandType::PCMD_TentativeUpgradePurchaseAll,
            139 => CommandType::PCMD_UpgradeRemove,
            140 => CommandType::PCMD_TentativeUpgradeRemoveAll,
            141 => CommandType::PCMD_SlotItemRemove_DEPRECATED,
            142 => CommandType::PCMD_CancelProduction,
            143 => CommandType::PCMD_DetonateCharges,
            144 => CommandType::PCMD_AIPlayer,
            145 => CommandType::PCMD_AIPlayer_EncounterNotification,
            146 => CommandType::PCMD_Surrender,
            147 => CommandType::PCMD_WaitObjectDone,
            148 => CommandType::PCMD_BroadcastMessage,
            149 => CommandType::PCMD_AIPlayer_EncounterSniped,
            150 => CommandType::PCMD_AIPlayer_ResourceBonus,
            151 => CommandType::PCMD_FormationSquadGroupCreateBegin,
            152 => CommandType::PCMD_FormationSquadGroupAddSquad,
            153 => CommandType::PCMD_FormationSquadGroupCreateEnd,
            154 => CommandType::PCMD_EndTurn,
            155 => CommandType::PCMD_StopAbility,
            156 => CommandType::PCMD_COUNT,
            157 => CommandType::DCMD_CameraTrack,
            158 => CommandType::DCMD_COUNT,
            _ => CommandType::Unknown(val),
        }
    }
}

impl From<CommandType> for u8 {
    fn from(val: CommandType) -> u8 {
        match val {
            CommandType::CMD_DefaultAction => 0,
            CommandType::CMD_Stop => 1,
            CommandType::CMD_Destroy => 2,
            CommandType::CMD_BuildSquad => 3,
            CommandType::CMD_InstantBuildSquad => 4,
            CommandType::CMD_CancelProduction => 5,
            CommandType::CMD_BuildStructure => 6,
            CommandType::CMD_Move => 7,
            CommandType::CMD_FlightMove => 8,
            CommandType::CMD_Face => 9,
            CommandType::CMD_Attack => 10,
            CommandType::CMD_AttackMove => 11,
            CommandType::CMD_RallyPoint => 12,
            CommandType::CMD_Capture => 13,
            CommandType::CMD_Ability => 14,
            CommandType::CMD_Evacuate => 15,
            CommandType::CMD_Upgrade => 16,
            CommandType::CMD_InstantUpgrade => 17,
            CommandType::CMD_Load => 18,
            CommandType::CMD_Unload => 19,
            CommandType::CMD_UnloadSquads => 20,
            CommandType::CMD_AttackStop => 21,
            CommandType::CMD_AttackForced => 22,
            CommandType::CMD_SetHoldHeading => 23,
            CommandType::CMD_StopMove => 24,
            CommandType::CMD_Paradrop => 25,
            CommandType::CMD_DefuseMine => 26,
            CommandType::CMD_Casualty => 27,
            CommandType::CMD_Death => 28,
            CommandType::CMD_InstantDeath => 29,
            CommandType::CMD_Projectile => 30,
            CommandType::CMD_PlaceCharge => 31,
            CommandType::CMD_BuildEntity => 32,
            CommandType::CMD_RescueCasualty => 33,
            CommandType::CMD_AttackFromHold => 34,
            CommandType::CMD_Vault => 35,
            CommandType::CMD_KnockedBack => 36,
            CommandType::CMD_Teardown => 37,
            CommandType::CMD_Melee => 38,
            CommandType::CMD_ResolveOverlap => 39,
            CommandType::CMD_Stun => 40,
            CommandType::CMD_InstantSetupTeamWeapon => 41,
            CommandType::CMD_SetupTeamWeapon => 42,
            CommandType::CMD_MoveToCover => 43,
            CommandType::CMD_Taunted => 44,
            CommandType::CMD_Trade => 45,
            CommandType::CMD_Brace => 46,
            CommandType::CMD_Gather => 47,
            CommandType::CMD_PickUpSimItem => 48,
            CommandType::CMD_ChangeCombatSlot => 49,
            CommandType::CMD_RetreatMove => 50,
            CommandType::CMD_StopAbility => 51,
            CommandType::CMD_InstantLoad => 52,
            CommandType::CMD_RestoreWreck => 53,
            CommandType::CMD_Disable => 54,
            CommandType::CMD_Enable => 55,
            CommandType::CMD_CancelConstruction => 56,
            CommandType::CMD_HoldPositionOn => 57,
            CommandType::CMD_HoldPositionOff => 58,
            CommandType::CMD_CancelRestoreWreck => 59,
            CommandType::CMD_Repair => 60,
            CommandType::CMD_COUNT => 61,
            CommandType::SCMD_Move => 62,
            CommandType::SCMD_Stop => 63,
            CommandType::SCMD_Destroy => 64,
            CommandType::SCMD_BuildStructure => 65,
            CommandType::SCMD_Capture => 66,
            CommandType::SCMD_Attack => 67,
            CommandType::SCMD_ReinforceUnit => 68,
            CommandType::SCMD_Upgrade => 69,
            CommandType::SCMD_CancelProduction => 70,
            CommandType::SCMD_AttackMove => 71,
            CommandType::SCMD_Ability => 72,
            CommandType::SCMD_Load => 73,
            CommandType::SCMD_InstantLoad => 74,
            CommandType::SCMD_UnloadSquads => 75,
            CommandType::SCMD_Unload => 76,
            CommandType::SCMD_PickupTrailer_UNUSED => 77,
            CommandType::SCMD_Retreat => 78,
            CommandType::SCMD_CaptureTeamWeapon => 79,
            CommandType::SCMD_SetMoveType => 80,
            CommandType::SCMD_InstantReinforceUnit => 81,
            CommandType::SCMD_InstantUpgrade => 82,
            CommandType::SCMD_PlaceCharge => 83,
            CommandType::SCMD_DefuseCharge => 84,
            CommandType::SCMD_DropTrailer_UNUSED => 85,
            CommandType::SCMD_PickUpSimItem => 86,
            CommandType::SCMD_DefuseMine => 87,
            CommandType::SCMD_DoPlan => 88,
            CommandType::SCMD_Patrol => 89,
            CommandType::SCMD_Surprise => 90,
            CommandType::SCMD_InstantSetupTeamWeapon => 91,
            CommandType::SCMD_SetupTeamWeapon => 92,
            CommandType::SCMD_AbandonTeamWeapon => 93,
            CommandType::SCMD_StationaryAttack => 94,
            CommandType::SCMD_RevertFieldSupport => 95,
            CommandType::SCMD_Face => 96,
            CommandType::SCMD_BuildSquad => 97,
            CommandType::SCMD_RallyPoint => 98,
            CommandType::SCMD_RescueCasualty => 99,
            CommandType::SCMD_Recrew => 100,
            CommandType::SCMD_Merge => 101,
            CommandType::SCMD_WeaponPreference => 102,
            CommandType::SCMD_CombatStance => 103,
            CommandType::SCMD_MoveToCover => 104,
            CommandType::SCMD_Gather => 105,
            CommandType::SCMD_AttackWithinLeashArea => 106,
            CommandType::SCMD_JoinFormationSquadGroup => 107,
            CommandType::SCMD_Trade => 108,
            CommandType::SCMD_HoldPosition => 109,
            CommandType::SCMD_Evacuate => 110,
            CommandType::SCMD_Vault => 111,
            CommandType::SCMD_CancelQueuedCommand => 112,
            CommandType::SCMD_RespondToBeingBreached => 113,
            CommandType::SCMD_StopAbility => 114,
            CommandType::SCMD_InstantParadropReinforceUnit => 115,
            CommandType::SCMD_MoveUntilInsidePlayableArea => 116,
            CommandType::SCMD_BeingTowed => 117,
            CommandType::SCMD_AttachingTrailer => 118,
            CommandType::SCMD_DetachingTrailer_UNUSED => 119,
            CommandType::SCMD_RestoreWreck_UNUSED => 120,
            CommandType::SCMD_AnimatedSpawn => 121,
            CommandType::SCMD_COUNT => 122,
            CommandType::FCMD_FormationSquadGroupMove => 123,
            CommandType::FCMD_FormationSquadGroupAttack => 124,
            CommandType::FCMD_FormationSquadGroupAttackMove => 125,
            CommandType::FCMD_FormationSquadGroupStop => 126,
            CommandType::FCMD_COUNT => 127,
            CommandType::PCMD_PlaceAndConstructEntities => 128,
            CommandType::PCMD_ResourceDonation => 129,
            CommandType::PCMD_CheatResources => 130,
            CommandType::PCMD_CheatRevealAll => 131,
            CommandType::PCMD_Ability => 132,
            CommandType::PCMD_CheatBuildTime => 133,
            CommandType::PCMD_CheatIgnoreCosts => 134,
            CommandType::PCMD_Upgrade => 135,
            CommandType::PCMD_InstantUpgrade => 136,
            CommandType::PCMD_TentativeUpgrade => 137,
            CommandType::PCMD_TentativeUpgradePurchaseAll => 138,
            CommandType::PCMD_UpgradeRemove => 139,
            CommandType::PCMD_TentativeUpgradeRemoveAll => 140,
            CommandType::PCMD_SlotItemRemove_DEPRECATED => 141,
            CommandType::PCMD_CancelProduction => 142,
            CommandType::PCMD_DetonateCharges => 143,
            CommandType::PCMD_AIPlayer => 144,
            CommandType::PCMD_AIPlayer_EncounterNotification => 145,
            CommandType::PCMD_Surrender => 146,
            CommandType::PCMD_WaitObjectDone => 147,
            CommandType::PCMD_BroadcastMessage => 148,
            CommandType::PCMD_AIPlayer_EncounterSniped => 149,
            CommandType::PCMD_AIPlayer_ResourceBonus => 150,
            CommandType::PCMD_FormationSquadGroupCreateBegin => 151,
            CommandType::PCMD_FormationSquadGroupAddSquad => 152,
            CommandType::PCMD_FormationSquadGroupCreateEnd => 153,
            CommandType::PCMD_EndTurn => 154,
            CommandType::PCMD_StopAbility => 155,
            CommandType::PCMD_COUNT => 156,
            CommandType::DCMD_CameraTrack => 157,
            CommandType::DCMD_COUNT => 158,
            CommandType::Unknown(val) => val,
        }
    }
}