tentacli 15.2.1

Framework for building extensible network protocol clients via modular plugins.
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
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
macro_rules! opcodes {
    (
        pub struct $struct_name:ident {
            $(
                $(#[$attrs:meta])*
                pub const $const_name:ident : $const_type:ty = $const_value:expr;
            )*
        }
    ) => {
        pub struct $struct_name;

        impl $struct_name {
            $(
                $(#[$attrs])*
                #[allow(dead_code)]
                pub const $const_name: $const_type = $const_value;
            )*

            pub fn get_opcode_name(index: u32) -> Option<String> {
                match index {
                    $(
                        $const_value if $const_value == $const_value as u32 =>
                        Some(stringify!($const_name).to_string()),
                    )*
                    _ => None,
                }
            }
        }
    };
}

opcodes! {
    pub struct Opcode {
        pub const LOGIN_CHALLENGE: u8 = 0;
        pub const LOGIN_PROOF: u8 = 1;
        pub const REALM_LIST: u8 = 16;

        pub const MSG_NULL_ACTION: u16 = 0;
        pub const CMSG_BOOTME: u32 = 1;
        pub const CMSG_DBLOOKUP: u32 = 2;
        pub const SMSG_DBLOOKUP: u16 = 3;
        pub const CMSG_QUERY_OBJECT_POSITION: u32 = 4;
        pub const SMSG_QUERY_OBJECT_POSITION: u16 = 5;
        pub const CMSG_QUERY_OBJECT_ROTATION: u32 = 6;
        pub const SMSG_QUERY_OBJECT_ROTATION: u16 = 7;
        pub const CMSG_WORLD_TELEPORT: u32 = 8;
        pub const CMSG_TELEPORT_TO_UNIT: u32 = 9;
        pub const CMSG_ZONE_MAP: u32 = 10;
        pub const SMSG_ZONE_MAP: u16 = 11;
        pub const CMSG_DEBUG_CHANGECELLZONE: u32 = 12;
        pub const CMSG_MOVE_CHARACTER_CHEAT: u32 = 13;
        pub const SMSG_MOVE_CHARACTER_CHEAT: u16 = 14;
        pub const CMSG_RECHARGE: u32 = 15;
        pub const CMSG_LEARN_SPELL: u32 = 16;
        pub const CMSG_CREATEMONSTER: u32 = 17;
        pub const CMSG_DESTROYMONSTER: u32 = 18;
        pub const CMSG_CREATEITEM: u32 = 19;
        pub const CMSG_CREATEGAMEOBJECT: u32 = 20;
        pub const SMSG_CHECK_FOR_BOTS: u16 = 21;
        pub const CMSG_MAKEMONSTERATTACKGUID: u32 = 22;
        pub const CMSG_BOT_DETECTED2: u32 = 23;
        pub const CMSG_FORCEACTION: u32 = 24;
        pub const CMSG_FORCEACTIONONOTHER: u32 = 25;
        pub const CMSG_FORCEACTIONSHOW: u32 = 26;
        pub const SMSG_FORCEACTIONSHOW: u16 = 27;
        pub const CMSG_PETGODMODE: u32 = 28;
        pub const SMSG_PETGODMODE: u16 = 29;
        pub const SMSG_REFER_A_FRIEND_EXPIRED: u16 = 30;
        pub const CMSG_WEATHER_SPEED_CHEAT: u32 = 31;
        pub const CMSG_UNDRESSPLAYER: u32 = 32;
        pub const CMSG_BEASTMASTER: u32 = 33;
        pub const CMSG_GODMODE: u32 = 34;
        pub const SMSG_GODMODE: u16 = 35;
        pub const CMSG_CHEAT_SETMONEY: u32 = 36;
        pub const CMSG_LEVEL_CHEAT: u32 = 37;
        pub const CMSG_PET_LEVEL_CHEAT: u32 = 38;
        pub const CMSG_SET_WORLDSTATE: u32 = 39;
        pub const CMSG_COOLDOWN_CHEAT: u32 = 40;
        pub const CMSG_USE_SKILL_CHEAT: u32 = 41;
        pub const CMSG_FLAG_QUEST: u32 = 42;
        pub const CMSG_FLAG_QUEST_FINISH: u32 = 43;
        pub const CMSG_CLEAR_QUEST: u32 = 44;
        pub const CMSG_SEND_EVENT: u32 = 45;
        pub const CMSG_DEBUG_AISTATE: u32 = 46;
        pub const SMSG_DEBUG_AISTATE: u16 = 47;
        pub const CMSG_DISABLE_PVP_CHEAT: u32 = 48;
        pub const CMSG_ADVANCE_SPAWN_TIME: u32 = 49;
        pub const SMSG_DESTRUCTIBLE_BUILDING_DAMAGE: u16 = 50;
        pub const CMSG_AUTH_SRP6_BEGIN: u32 = 51;
        pub const CMSG_AUTH_SRP6_PROOF: u32 = 52;
        pub const CMSG_AUTH_SRP6_RECODE: u32 = 53;
        pub const CMSG_CHAR_CREATE: u32 = 54;
        pub const CMSG_CHAR_ENUM: u32 = 55;
        pub const CMSG_CHAR_DELETE: u32 = 56;
        pub const SMSG_AUTH_SRP6_RESPONSE: u16 = 57;
        pub const SMSG_CHAR_CREATE: u16 = 58;
        pub const SMSG_CHAR_ENUM: u16 = 59;
        pub const SMSG_CHAR_DELETE: u16 = 60;
        pub const CMSG_PLAYER_LOGIN: u32 = 61;
        pub const SMSG_NEW_WORLD: u16 = 62;
        pub const SMSG_TRANSFER_PENDING: u16 = 63;
        pub const SMSG_TRANSFER_ABORTED: u16 = 64;
        pub const SMSG_CHARACTER_LOGIN_FAILED: u16 = 65;
        pub const SMSG_LOGIN_SETTIMESPEED: u16 = 66;
        pub const SMSG_GAMETIME_UPDATE: u16 = 67;
        pub const CMSG_GAMETIME_SET: u32 = 68;
        pub const SMSG_GAMETIME_SET: u16 = 69;
        pub const CMSG_GAMESPEED_SET: u32 = 70;
        pub const SMSG_GAMESPEED_SET: u16 = 71;
        pub const CMSG_SERVERTIME: u32 = 72;
        pub const SMSG_SERVERTIME: u16 = 73;
        pub const CMSG_PLAYER_LOGOUT: u32 = 74;
        pub const CMSG_LOGOUT_REQUEST: u32 = 75;
        pub const SMSG_LOGOUT_RESPONSE: u16 = 76;
        pub const SMSG_LOGOUT_COMPLETE: u16 = 77;
        pub const CMSG_LOGOUT_CANCEL: u32 = 78;
        pub const SMSG_LOGOUT_CANCEL_ACK: u16 = 79;
        pub const CMSG_NAME_QUERY: u32 = 80;
        pub const SMSG_NAME_QUERY_RESPONSE: u16 = 81;
        pub const CMSG_PET_NAME_QUERY: u32 = 82;
        pub const SMSG_PET_NAME_QUERY_RESPONSE: u16 = 83;
        pub const CMSG_GUILD_QUERY: u32 = 84;
        pub const SMSG_GUILD_QUERY_RESPONSE: u16 = 85;
        pub const CMSG_ITEM_QUERY_SINGLE: u32 = 86;
        pub const CMSG_ITEM_QUERY_MULTIPLE: u32 = 87;
        pub const SMSG_ITEM_QUERY_SINGLE_RESPONSE: u16 = 88;
        pub const SMSG_ITEM_QUERY_MULTIPLE_RESPONSE: u16 = 89;
        pub const CMSG_PAGE_TEXT_QUERY: u32 = 90;
        pub const SMSG_PAGE_TEXT_QUERY_RESPONSE: u16 = 91;
        pub const CMSG_QUEST_QUERY: u32 = 92;
        pub const SMSG_QUEST_QUERY_RESPONSE: u16 = 93;
        pub const CMSG_GAMEOBJECT_QUERY: u32 = 94;
        pub const SMSG_GAMEOBJECT_QUERY_RESPONSE: u16 = 95;
        pub const CMSG_CREATURE_QUERY: u32 = 96;
        pub const SMSG_CREATURE_QUERY_RESPONSE: u16 = 97;
        pub const CMSG_WHO: u32 = 98;
        pub const SMSG_WHO: u16 = 99;
        pub const CMSG_WHOIS: u32 = 100;
        pub const SMSG_WHOIS: u16 = 101;
        pub const CMSG_CONTACT_LIST: u32 = 102;
        pub const SMSG_CONTACT_LIST: u16 = 103;
        pub const SMSG_FRIEND_STATUS: u16 = 104;
        pub const CMSG_ADD_FRIEND: u32 = 105;
        pub const CMSG_DEL_FRIEND: u32 = 106;
        pub const CMSG_SET_CONTACT_NOTES: u32 = 107;
        pub const CMSG_ADD_IGNORE: u32 = 108;
        pub const CMSG_DEL_IGNORE: u32 = 109;
        pub const CMSG_GROUP_INVITE: u32 = 110;
        pub const SMSG_GROUP_INVITE: u16 = 111;
        pub const CMSG_GROUP_CANCEL: u32 = 112;
        pub const SMSG_GROUP_CANCEL: u16 = 113;
        pub const CMSG_GROUP_ACCEPT: u32 = 114;
        pub const CMSG_GROUP_DECLINE: u32 = 115;
        pub const SMSG_GROUP_DECLINE: u16 = 116;
        pub const CMSG_GROUP_UNINVITE: u32 = 117;
        pub const CMSG_GROUP_UNINVITE_GUID: u32 = 118;
        pub const SMSG_GROUP_UNINVITE: u16 = 119;
        pub const CMSG_GROUP_SET_LEADER: u32 = 120;
        pub const SMSG_GROUP_SET_LEADER: u16 = 121;
        pub const CMSG_LOOT_METHOD: u32 = 122;
        pub const CMSG_GROUP_DISBAND: u32 = 123;
        pub const SMSG_GROUP_DESTROYED: u16 = 124;
        pub const SMSG_GROUP_LIST: u16 = 125;
        pub const SMSG_PARTY_MEMBER_STATS: u16 = 126;
        pub const SMSG_PARTY_COMMAND_RESULT: u16 = 127;
        pub const MSG_UPDATE_GROUP_MEMBERS: u16 = 128;
        pub const CMSG_GUILD_CREATE: u32 = 129;
        pub const CMSG_GUILD_INVITE: u32 = 130;
        pub const SMSG_GUILD_INVITE: u16 = 131;
        pub const CMSG_GUILD_ACCEPT: u32 = 132;
        pub const CMSG_GUILD_DECLINE: u32 = 133;
        pub const SMSG_GUILD_DECLINE: u16 = 134;
        pub const CMSG_GUILD_INFO: u32 = 135;
        pub const SMSG_GUILD_INFO: u16 = 136;
        pub const CMSG_GUILD_ROSTER: u32 = 137;
        pub const SMSG_GUILD_ROSTER: u16 = 138;
        pub const CMSG_GUILD_PROMOTE: u32 = 139;
        pub const CMSG_GUILD_DEMOTE: u32 = 140;
        pub const CMSG_GUILD_LEAVE: u32 = 141;
        pub const CMSG_GUILD_REMOVE: u32 = 142;
        pub const CMSG_GUILD_DISBAND: u32 = 143;
        pub const CMSG_GUILD_LEADER: u32 = 144;
        pub const CMSG_GUILD_MOTD: u32 = 145;
        pub const SMSG_GUILD_EVENT: u16 = 146;
        pub const SMSG_GUILD_COMMAND_RESULT: u16 = 147;
        pub const MSG_UPDATE_GUILD: u16 = 148;
        pub const CMSG_MESSAGECHAT: u32 = 149;
        pub const SMSG_MESSAGECHAT: u16 = 150;
        pub const CMSG_JOIN_CHANNEL: u32 = 151;
        pub const CMSG_LEAVE_CHANNEL: u32 = 152;
        pub const SMSG_CHANNEL_NOTIFY: u16 = 153;
        pub const CMSG_CHANNEL_LIST: u32 = 154;
        pub const SMSG_CHANNEL_LIST: u16 = 155;
        pub const CMSG_CHANNEL_PASSWORD: u32 = 156;
        pub const CMSG_CHANNEL_SET_OWNER: u32 = 157;
        pub const CMSG_CHANNEL_OWNER: u32 = 158;
        pub const CMSG_CHANNEL_MODERATOR: u32 = 159;
        pub const CMSG_CHANNEL_UNMODERATOR: u32 = 160;
        pub const CMSG_CHANNEL_MUTE: u32 = 161;
        pub const CMSG_CHANNEL_UNMUTE: u32 = 162;
        pub const CMSG_CHANNEL_INVITE: u32 = 163;
        pub const CMSG_CHANNEL_KICK: u32 = 164;
        pub const CMSG_CHANNEL_BAN: u32 = 165;
        pub const CMSG_CHANNEL_UNBAN: u32 = 166;
        pub const CMSG_CHANNEL_ANNOUNCEMENTS: u32 = 167;
        pub const CMSG_CHANNEL_MODERATE: u32 = 168;
        pub const SMSG_UPDATE_OBJECT: u16 = 169;
        pub const SMSG_DESTROY_OBJECT: u16 = 170;
        pub const CMSG_USE_ITEM: u32 = 171;
        pub const CMSG_OPEN_ITEM: u32 = 172;
        pub const CMSG_READ_ITEM: u32 = 173;
        pub const SMSG_READ_ITEM_OK: u16 = 174;
        pub const SMSG_READ_ITEM_FAILED: u16 = 175;
        pub const SMSG_ITEM_COOLDOWN: u16 = 176;
        pub const CMSG_GAMEOBJ_USE: u32 = 177;
        pub const CMSG_DESTROY_ITEMS: u32 = 178;
        pub const SMSG_GAMEOBJECT_CUSTOM_ANIM: u16 = 179;
        pub const CMSG_AREATRIGGER: u32 = 180;
        pub const MSG_MOVE_START_FORWARD: u16 = 181;
        pub const MSG_MOVE_START_BACKWARD: u16 = 182;
        pub const MSG_MOVE_STOP: u16 = 183;
        pub const MSG_MOVE_START_STRAFE_LEFT: u16 = 184;
        pub const MSG_MOVE_START_STRAFE_RIGHT: u16 = 185;
        pub const MSG_MOVE_STOP_STRAFE: u16 = 186;
        pub const MSG_MOVE_JUMP: u16 = 187;
        pub const MSG_MOVE_START_TURN_LEFT: u16 = 188;
        pub const MSG_MOVE_START_TURN_RIGHT: u16 = 189;
        pub const MSG_MOVE_STOP_TURN: u16 = 190;
        pub const MSG_MOVE_START_PITCH_UP: u16 = 191;
        pub const MSG_MOVE_START_PITCH_DOWN: u16 = 192;
        pub const MSG_MOVE_STOP_PITCH: u16 = 193;
        pub const MSG_MOVE_SET_RUN_MODE: u16 = 194;
        pub const MSG_MOVE_SET_WALK_MODE: u16 = 195;
        pub const MSG_MOVE_TOGGLE_LOGGING: u16 = 196;
        pub const MSG_MOVE_TELEPORT: u16 = 197;
        pub const MSG_MOVE_TELEPORT_CHEAT: u16 = 198;
        pub const MSG_MOVE_TELEPORT_ACK: u16 = 199;
        pub const MSG_MOVE_TOGGLE_FALL_LOGGING: u16 = 200;
        pub const MSG_MOVE_FALL_LAND: u16 = 201;
        pub const MSG_MOVE_START_SWIM: u16 = 202;
        pub const MSG_MOVE_STOP_SWIM: u16 = 203;
        pub const MSG_MOVE_SET_RUN_SPEED_CHEAT: u16 = 204;
        pub const MSG_MOVE_SET_RUN_SPEED: u16 = 205;
        pub const MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT: u16 = 206;
        pub const MSG_MOVE_SET_RUN_BACK_SPEED: u16 = 207;
        pub const MSG_MOVE_SET_WALK_SPEED_CHEAT: u16 = 208;
        pub const MSG_MOVE_SET_WALK_SPEED: u16 = 209;
        pub const MSG_MOVE_SET_SWIM_SPEED_CHEAT: u16 = 210;
        pub const MSG_MOVE_SET_SWIM_SPEED: u16 = 211;
        pub const MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT: u16 = 212;
        pub const MSG_MOVE_SET_SWIM_BACK_SPEED: u16 = 213;
        pub const MSG_MOVE_SET_ALL_SPEED_CHEAT: u16 = 214;
        pub const MSG_MOVE_SET_TURN_RATE_CHEAT: u16 = 215;
        pub const MSG_MOVE_SET_TURN_RATE: u16 = 216;
        pub const MSG_MOVE_TOGGLE_COLLISION_CHEAT: u16 = 217;
        pub const MSG_MOVE_SET_FACING: u16 = 218;
        pub const MSG_MOVE_SET_PITCH: u16 = 219;
        pub const MSG_MOVE_WORLDPORT_ACK: u16 = 220;
        pub const SMSG_MONSTER_MOVE: u16 = 221;
        pub const SMSG_MOVE_WATER_WALK: u16 = 222;
        pub const SMSG_MOVE_LAND_WALK: u16 = 223;
        pub const CMSG_MOVE_CHARM_PORT_CHEAT: u32 = 224;
        pub const CMSG_MOVE_SET_RAW_POSITION: u32 = 225;
        pub const SMSG_FORCE_RUN_SPEED_CHANGE: u16 = 226;
        pub const CMSG_FORCE_RUN_SPEED_CHANGE_ACK: u32 = 227;
        pub const SMSG_FORCE_RUN_BACK_SPEED_CHANGE: u16 = 228;
        pub const CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK: u32 = 229;
        pub const SMSG_FORCE_SWIM_SPEED_CHANGE: u16 = 230;
        pub const CMSG_FORCE_SWIM_SPEED_CHANGE_ACK: u32 = 231;
        pub const SMSG_FORCE_MOVE_ROOT: u16 = 232;
        pub const CMSG_FORCE_MOVE_ROOT_ACK: u32 = 233;
        pub const SMSG_FORCE_MOVE_UNROOT: u16 = 234;
        pub const CMSG_FORCE_MOVE_UNROOT_ACK: u32 = 235;
        pub const MSG_MOVE_ROOT: u16 = 236;
        pub const MSG_MOVE_UNROOT: u16 = 237;
        pub const MSG_MOVE_HEARTBEAT: u16 = 238;
        pub const SMSG_MOVE_KNOCK_BACK: u16 = 239;
        pub const CMSG_MOVE_KNOCK_BACK_ACK: u32 = 240;
        pub const MSG_MOVE_KNOCK_BACK: u16 = 241;
        pub const SMSG_MOVE_FEATHER_FALL: u16 = 242;
        pub const SMSG_MOVE_NORMAL_FALL: u16 = 243;
        pub const SMSG_MOVE_SET_HOVER: u16 = 244;
        pub const SMSG_MOVE_UNSET_HOVER: u16 = 245;
        pub const CMSG_MOVE_HOVER_ACK: u32 = 246;
        pub const MSG_MOVE_HOVER: u16 = 247;
        pub const CMSG_TRIGGER_CINEMATIC_CHEAT: u32 = 248;
        pub const CMSG_OPENING_CINEMATIC: u32 = 249;
        pub const SMSG_TRIGGER_CINEMATIC: u16 = 250;
        pub const CMSG_NEXT_CINEMATIC_CAMERA: u32 = 251;
        pub const CMSG_COMPLETE_CINEMATIC: u32 = 252;
        pub const SMSG_TUTORIAL_FLAGS: u16 = 253;
        pub const CMSG_TUTORIAL_FLAG: u32 = 254;
        pub const CMSG_TUTORIAL_CLEAR: u32 = 255;
        pub const CMSG_TUTORIAL_RESET: u32 = 256;
        pub const CMSG_STANDSTATECHANGE: u32 = 257;
        pub const CMSG_EMOTE: u32 = 258;
        pub const SMSG_EMOTE: u16 = 259;
        pub const CMSG_TEXT_EMOTE: u32 = 260;
        pub const SMSG_TEXT_EMOTE: u16 = 261;
        pub const CMSG_AUTOEQUIP_GROUND_ITEM: u32 = 262;
        pub const CMSG_AUTOSTORE_GROUND_ITEM: u32 = 263;
        pub const CMSG_AUTOSTORE_LOOT_ITEM: u32 = 264;
        pub const CMSG_STORE_LOOT_IN_SLOT: u32 = 265;
        pub const CMSG_AUTOEQUIP_ITEM: u32 = 266;
        pub const CMSG_AUTOSTORE_BAG_ITEM: u32 = 267;
        pub const CMSG_SWAP_ITEM: u32 = 268;
        pub const CMSG_SWAP_INV_ITEM: u32 = 269;
        pub const CMSG_SPLIT_ITEM: u32 = 270;
        pub const CMSG_AUTOEQUIP_ITEM_SLOT: u32 = 271;
        pub const CMSG_UNCLAIM_LICENSE: u32 = 272;
        pub const CMSG_DESTROYITEM: u32 = 273;
        pub const SMSG_INVENTORY_CHANGE_FAILURE: u16 = 274;
        pub const SMSG_OPEN_CONTAINER: u16 = 275;
        pub const CMSG_INSPECT: u32 = 276;
        pub const SMSG_INSPECT_RESULTS_UPDATE: u16 = 277;
        pub const CMSG_INITIATE_TRADE: u32 = 278;
        pub const CMSG_BEGIN_TRADE: u32 = 279;
        pub const CMSG_BUSY_TRADE: u32 = 280;
        pub const CMSG_IGNORE_TRADE: u32 = 281;
        pub const CMSG_ACCEPT_TRADE: u32 = 282;
        pub const CMSG_UNACCEPT_TRADE: u32 = 283;
        pub const CMSG_CANCEL_TRADE: u32 = 284;
        pub const CMSG_SET_TRADE_ITEM: u32 = 285;
        pub const CMSG_CLEAR_TRADE_ITEM: u32 = 286;
        pub const CMSG_SET_TRADE_GOLD: u32 = 287;
        pub const SMSG_TRADE_STATUS: u16 = 288;
        pub const SMSG_TRADE_STATUS_EXTENDED: u16 = 289;
        pub const SMSG_INITIALIZE_FACTIONS: u16 = 290;
        pub const SMSG_SET_FACTION_VISIBLE: u16 = 291;
        pub const SMSG_SET_FACTION_STANDING: u16 = 292;
        pub const CMSG_SET_FACTION_ATWAR: u32 = 293;
        pub const CMSG_SET_FACTION_CHEAT: u32 = 294;
        pub const SMSG_SET_PROFICIENCY: u16 = 295;
        pub const CMSG_SET_ACTION_BUTTON: u32 = 296;
        pub const SMSG_ACTION_BUTTONS: u16 = 297;
        pub const SMSG_INITIAL_SPELLS: u16 = 298;
        pub const SMSG_LEARNED_SPELL: u16 = 299;
        pub const SMSG_SUPERCEDED_SPELL: u16 = 300;
        pub const CMSG_NEW_SPELL_SLOT: u32 = 301;
        pub const CMSG_CAST_SPELL: u32 = 302;
        pub const CMSG_CANCEL_CAST: u32 = 303;
        pub const SMSG_CAST_RESULT: u16 = 304;
        pub const SMSG_SPELL_START: u16 = 305;
        pub const SMSG_SPELL_GO: u16 = 306;
        pub const SMSG_SPELL_FAILURE: u16 = 307;
        pub const SMSG_SPELL_COOLDOWN: u16 = 308;
        pub const SMSG_COOLDOWN_EVENT: u16 = 309;
        pub const CMSG_CANCEL_AURA: u32 = 310;
        pub const SMSG_EQUIPMENT_SET_ID: u16 = 311;
        pub const SMSG_PET_CAST_FAILED: u16 = 312;
        pub const MSG_CHANNEL_START: u16 = 313;
        pub const MSG_CHANNEL_UPDATE: u16 = 314;
        pub const CMSG_CANCEL_CHANNELLING: u32 = 315;
        pub const SMSG_AI_REACTION: u16 = 316;
        pub const CMSG_SET_SELECTION: u32 = 317;
        pub const CMSG_DELETEEQUIPMENT_SET: u32 = 318;
        pub const CMSG_INSTANCE_LOCK_RESPONSE: u32 = 319;
        pub const CMSG_DEBUG_PASSIVE_AURA: u32 = 320;
        pub const CMSG_ATTACKSWING: u32 = 321;
        pub const CMSG_ATTACKSTOP: u32 = 322;
        pub const SMSG_ATTACKSTART: u16 = 323;
        pub const SMSG_ATTACKSTOP: u16 = 324;
        pub const SMSG_ATTACKSWING_NOTINRANGE: u16 = 325;
        pub const SMSG_ATTACKSWING_BADFACING: u16 = 326;
        pub const SMSG_PENDING_RAID_LOCK: u16 = 327;
        pub const SMSG_ATTACKSWING_DEADTARGET: u16 = 328;
        pub const SMSG_ATTACKSWING_CANT_ATTACK: u16 = 329;
        pub const SMSG_ATTACKERSTATEUPDATE: u16 = 330;
        pub const SMSG_BATTLEFIELD_PORT_DENIED: u16 = 331;
        pub const CMSG_PERFORM_ACTION_SET: u32 = 332;
        pub const SMSG_RESUME_CAST_BAR: u16 = 333;
        pub const SMSG_CANCEL_COMBAT: u16 = 334;
        pub const SMSG_SPELLBREAKLOG: u16 = 335;
        pub const SMSG_SPELLHEALLOG: u16 = 336;
        pub const SMSG_SPELLENERGIZELOG: u16 = 337;
        pub const SMSG_BREAK_TARGET: u16 = 338;
        pub const CMSG_SAVE_PLAYER: u32 = 339;
        pub const CMSG_SETDEATHBINDPOINT: u32 = 340;
        pub const SMSG_BINDPOINTUPDATE: u16 = 341;
        pub const CMSG_GETDEATHBINDZONE: u32 = 342;
        pub const SMSG_BINDZONEREPLY: u16 = 343;
        pub const SMSG_PLAYERBOUND: u16 = 344;
        pub const SMSG_CLIENT_CONTROL_UPDATE: u16 = 345;
        pub const CMSG_REPOP_REQUEST: u32 = 346;
        pub const SMSG_RESURRECT_REQUEST: u16 = 347;
        pub const CMSG_RESURRECT_RESPONSE: u32 = 348;
        pub const CMSG_LOOT: u32 = 349;
        pub const CMSG_LOOT_MONEY: u32 = 350;
        pub const CMSG_LOOT_RELEASE: u32 = 351;
        pub const SMSG_LOOT_RESPONSE: u16 = 352;
        pub const SMSG_LOOT_RELEASE_RESPONSE: u16 = 353;
        pub const SMSG_LOOT_REMOVED: u16 = 354;
        pub const SMSG_LOOT_MONEY_NOTIFY: u16 = 355;
        pub const SMSG_LOOT_ITEM_NOTIFY: u16 = 356;
        pub const SMSG_LOOT_CLEAR_MONEY: u16 = 357;
        pub const SMSG_ITEM_PUSH_RESULT: u16 = 358;
        pub const SMSG_DUEL_REQUESTED: u16 = 359;
        pub const SMSG_DUEL_OUTOFBOUNDS: u16 = 360;
        pub const SMSG_DUEL_INBOUNDS: u16 = 361;
        pub const SMSG_DUEL_COMPLETE: u16 = 362;
        pub const SMSG_DUEL_WINNER: u16 = 363;
        pub const CMSG_DUEL_ACCEPTED: u32 = 364;
        pub const CMSG_DUEL_CANCELLED: u32 = 365;
        pub const SMSG_MOUNTRESULT: u16 = 366;
        pub const SMSG_DISMOUNTRESULT: u16 = 367;
        pub const SMSG_REMOVED_FROM_PVP_QUEUE: u16 = 368;
        pub const CMSG_MOUNTSPECIAL_ANIM: u32 = 369;
        pub const SMSG_MOUNTSPECIAL_ANIM: u16 = 370;
        pub const SMSG_PET_TAME_FAILURE: u16 = 371;
        pub const CMSG_PET_SET_ACTION: u32 = 372;
        pub const CMSG_PET_ACTION: u32 = 373;
        pub const CMSG_PET_ABANDON: u32 = 374;
        pub const CMSG_PET_RENAME: u32 = 375;
        pub const SMSG_PET_NAME_INVALID: u16 = 376;
        pub const SMSG_PET_SPELLS: u16 = 377;
        pub const SMSG_PET_MODE: u16 = 378;
        pub const CMSG_GOSSIP_HELLO: u32 = 379;
        pub const CMSG_GOSSIP_SELECT_OPTION: u32 = 380;
        pub const SMSG_GOSSIP_MESSAGE: u16 = 381;
        pub const SMSG_GOSSIP_COMPLETE: u16 = 382;
        pub const CMSG_NPC_TEXT_QUERY: u32 = 383;
        pub const SMSG_NPC_TEXT_UPDATE: u16 = 384;
        pub const SMSG_NPC_WONT_TALK: u16 = 385;
        pub const CMSG_QUESTGIVER_STATUS_QUERY: u32 = 386;
        pub const SMSG_QUESTGIVER_STATUS: u16 = 387;
        pub const CMSG_QUESTGIVER_HELLO: u32 = 388;
        pub const SMSG_QUESTGIVER_QUEST_LIST: u16 = 389;
        pub const CMSG_QUESTGIVER_QUERY_QUEST: u32 = 390;
        pub const CMSG_QUESTGIVER_QUEST_AUTOLAUNCH: u32 = 391;
        pub const SMSG_QUESTGIVER_QUEST_DETAILS: u16 = 392;
        pub const CMSG_QUESTGIVER_ACCEPT_QUEST: u32 = 393;
        pub const CMSG_QUESTGIVER_COMPLETE_QUEST: u32 = 394;
        pub const SMSG_QUESTGIVER_REQUEST_ITEMS: u16 = 395;
        pub const CMSG_QUESTGIVER_REQUEST_REWARD: u32 = 396;
        pub const SMSG_QUESTGIVER_OFFER_REWARD: u16 = 397;
        pub const CMSG_QUESTGIVER_CHOOSE_REWARD: u32 = 398;
        pub const SMSG_QUESTGIVER_QUEST_INVALID: u16 = 399;
        pub const CMSG_QUESTGIVER_CANCEL: u32 = 400;
        pub const SMSG_QUESTGIVER_QUEST_COMPLETE: u16 = 401;
        pub const SMSG_QUESTGIVER_QUEST_FAILED: u16 = 402;
        pub const CMSG_QUESTLOG_SWAP_QUEST: u32 = 403;
        pub const CMSG_QUESTLOG_REMOVE_QUEST: u32 = 404;
        pub const SMSG_QUESTLOG_FULL: u16 = 405;
        pub const SMSG_QUESTUPDATE_FAILED: u16 = 406;
        pub const SMSG_QUESTUPDATE_FAILEDTIMER: u16 = 407;
        pub const SMSG_QUESTUPDATE_COMPLETE: u16 = 408;
        pub const SMSG_QUESTUPDATE_ADD_KILL: u16 = 409;
        pub const SMSG_QUESTUPDATE_ADD_ITEM_OBSOLETE: u16 = 410;
        pub const CMSG_QUEST_CONFIRM_ACCEPT: u32 = 411;
        pub const SMSG_QUEST_CONFIRM_ACCEPT: u16 = 412;
        pub const CMSG_PUSHQUESTTOPARTY: u32 = 413;
        pub const CMSG_LIST_INVENTORY: u32 = 414;
        pub const SMSG_LIST_INVENTORY: u16 = 415;
        pub const CMSG_SELL_ITEM: u32 = 416;
        pub const SMSG_SELL_ITEM: u16 = 417;
        pub const CMSG_BUY_ITEM: u32 = 418;
        pub const CMSG_BUY_ITEM_IN_SLOT: u32 = 419;
        pub const SMSG_BUY_ITEM: u16 = 420;
        pub const SMSG_BUY_FAILED: u16 = 421;
        pub const CMSG_TAXICLEARALLNODES: u32 = 422;
        pub const CMSG_TAXIENABLEALLNODES: u32 = 423;
        pub const CMSG_TAXISHOWNODES: u32 = 424;
        pub const SMSG_SHOWTAXINODES: u16 = 425;
        pub const CMSG_TAXINODE_STATUS_QUERY: u32 = 426;
        pub const SMSG_TAXINODE_STATUS: u16 = 427;
        pub const CMSG_TAXIQUERYAVAILABLENODES: u32 = 428;
        pub const CMSG_ACTIVATETAXI: u32 = 429;
        pub const SMSG_ACTIVATETAXIREPLY: u16 = 430;
        pub const SMSG_NEW_TAXI_PATH: u16 = 431;
        pub const CMSG_TRAINER_LIST: u32 = 432;
        pub const SMSG_TRAINER_LIST: u16 = 433;
        pub const CMSG_TRAINER_BUY_SPELL: u32 = 434;
        pub const SMSG_TRAINER_BUY_SUCCEEDED: u16 = 435;
        pub const SMSG_TRAINER_BUY_FAILED: u16 = 436;
        pub const CMSG_BINDER_ACTIVATE: u32 = 437;
        pub const SMSG_PLAYERBINDERROR: u16 = 438;
        pub const CMSG_BANKER_ACTIVATE: u32 = 439;
        pub const SMSG_SHOW_BANK: u16 = 440;
        pub const CMSG_BUY_BANK_SLOT: u32 = 441;
        pub const SMSG_BUY_BANK_SLOT_RESULT: u16 = 442;
        pub const CMSG_PETITION_SHOWLIST: u32 = 443;
        pub const SMSG_PETITION_SHOWLIST: u16 = 444;
        pub const CMSG_PETITION_BUY: u32 = 445;
        pub const CMSG_PETITION_SHOW_SIGNATURES: u32 = 446;
        pub const SMSG_PETITION_SHOW_SIGNATURES: u16 = 447;
        pub const CMSG_PETITION_SIGN: u32 = 448;
        pub const SMSG_PETITION_SIGN_RESULTS: u16 = 449;
        pub const MSG_PETITION_DECLINE: u16 = 450;
        pub const CMSG_OFFER_PETITION: u32 = 451;
        pub const CMSG_TURN_IN_PETITION: u32 = 452;
        pub const SMSG_TURN_IN_PETITION_RESULTS: u16 = 453;
        pub const CMSG_PETITION_QUERY: u32 = 454;
        pub const SMSG_PETITION_QUERY_RESPONSE: u16 = 455;
        pub const SMSG_FISH_NOT_HOOKED: u16 = 456;
        pub const SMSG_FISH_ESCAPED: u16 = 457;
        pub const CMSG_BUG: u32 = 458;
        pub const SMSG_NOTIFICATION: u16 = 459;
        pub const CMSG_PLAYED_TIME: u32 = 460;
        pub const SMSG_PLAYED_TIME: u16 = 461;
        pub const CMSG_QUERY_TIME: u32 = 462;
        pub const SMSG_QUERY_TIME_RESPONSE: u16 = 463;
        pub const SMSG_LOG_XPGAIN: u16 = 464;
        pub const SMSG_AURACASTLOG: u16 = 465;
        pub const CMSG_RECLAIM_CORPSE: u32 = 466;
        pub const CMSG_WRAP_ITEM: u32 = 467;
        pub const SMSG_LEVELUP_INFO: u16 = 468;
        pub const MSG_MINIMAP_PING: u16 = 469;
        pub const SMSG_RESISTLOG: u16 = 470;
        pub const SMSG_ENCHANTMENTLOG: u16 = 471;
        pub const CMSG_SET_SKILL_CHEAT: u32 = 472;
        pub const SMSG_START_MIRROR_TIMER: u16 = 473;
        pub const SMSG_PAUSE_MIRROR_TIMER: u16 = 474;
        pub const SMSG_STOP_MIRROR_TIMER: u16 = 475;
        pub const CMSG_PING: u32 = 476;
        pub const SMSG_PONG: u16 = 477;
        pub const SMSG_CLEAR_COOLDOWN: u16 = 478;
        pub const SMSG_GAMEOBJECT_PAGETEXT: u16 = 479;
        pub const CMSG_SETSHEATHED: u32 = 480;
        pub const SMSG_COOLDOWN_CHEAT: u16 = 481;
        pub const SMSG_SPELL_DELAYED: u16 = 482;
        pub const CMSG_QUEST_POI_QUERY: u32 = 483;
        pub const SMSG_QUEST_POI_QUERY_RESPONSE: u16 = 484;
        pub const CMSG_GHOST: u32 = 485;
        pub const CMSG_GM_INVIS: u32 = 486;
        pub const SMSG_INVALID_PROMOTION_CODE: u16 = 487;
        pub const MSG_GM_BIND_OTHER: u16 = 488;
        pub const MSG_GM_SUMMON: u16 = 489;
        pub const SMSG_ITEM_TIME_UPDATE: u16 = 490;
        pub const SMSG_ITEM_ENCHANT_TIME_UPDATE: u16 = 491;
        pub const SMSG_AUTH_CHALLENGE: u16 = 492;
        pub const CMSG_AUTH_SESSION: u32 = 493;
        pub const SMSG_AUTH_RESPONSE: u16 = 494;
        pub const MSG_GM_SHOWLABEL: u16 = 495;
        pub const CMSG_PET_CAST_SPELL: u32 = 496;
        pub const MSG_SAVE_GUILD_EMBLEM: u16 = 497;
        pub const MSG_TABARDVENDOR_ACTIVATE: u16 = 498;
        pub const SMSG_PLAY_SPELL_VISUAL: u16 = 499;
        pub const CMSG_ZONEUPDATE: u32 = 500;
        pub const SMSG_PARTYKILLLOG: u16 = 501;
        pub const SMSG_COMPRESSED_UPDATE_OBJECT: u16 = 502;
        pub const SMSG_PLAY_SPELL_IMPACT: u16 = 503;
        pub const SMSG_EXPLORATION_EXPERIENCE: u16 = 504;
        pub const CMSG_GM_SET_SECURITY_GROUP: u32 = 505;
        pub const CMSG_GM_NUKE: u32 = 506;
        pub const MSG_RANDOM_ROLL: u16 = 507;
        pub const SMSG_ENVIRONMENTALDAMAGELOG: u16 = 508;
        pub const CMSG_CHANGEPLAYER_DIFFICULTY: u32 = 509;
        pub const SMSG_RWHOIS: u16 = 510;
        pub const SMSG_LFG_PLAYER_REWARD: u16 = 511;
        pub const SMSG_LFG_TELEPORT_DENIED: u16 = 512;
        pub const CMSG_UNLEARN_SPELL: u32 = 513;
        pub const CMSG_UNLEARN_SKILL: u32 = 514;
        pub const SMSG_REMOVED_SPELL: u16 = 515;
        pub const CMSG_DECHARGE: u32 = 516;
        pub const CMSG_GMTICKET_CREATE: u32 = 517;
        pub const SMSG_GMTICKET_CREATE: u16 = 518;
        pub const CMSG_GMTICKET_UPDATETEXT: u32 = 519;
        pub const SMSG_GMTICKET_UPDATETEXT: u16 = 520;
        pub const SMSG_ACCOUNT_DATA_TIMES: u16 = 521;
        pub const CMSG_REQUEST_ACCOUNT_DATA: u32 = 522;
        pub const CMSG_UPDATE_ACCOUNT_DATA: u32 = 523;
        pub const SMSG_UPDATE_ACCOUNT_DATA: u16 = 524;
        pub const SMSG_CLEAR_FAR_SIGHT_IMMEDIATE: u16 = 525;
        pub const SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT: u16 = 526;
        pub const CMSG_GM_TEACH: u32 = 527;
        pub const CMSG_GM_CREATE_ITEM_TARGET: u32 = 528;
        pub const CMSG_GMTICKET_GETTICKET: u32 = 529;
        pub const SMSG_GMTICKET_GETTICKET: u16 = 530;
        pub const CMSG_UNLEARN_TALENTS: u32 = 531;
        pub const SMSG_INSTANCE_ENCOUNTER: u16 = 532;
        pub const SMSG_GAMEOBJECT_DESPAWN_ANIM: u16 = 533;
        pub const MSG_CORPSE_QUERY: u16 = 534;
        pub const CMSG_GMTICKET_DELETETICKET: u32 = 535;
        pub const SMSG_GMTICKET_DELETETICKET: u16 = 536;
        pub const SMSG_CHAT_WRONG_FACTION: u16 = 537;
        pub const CMSG_GMTICKET_SYSTEMSTATUS: u32 = 538;
        pub const SMSG_GMTICKET_SYSTEMSTATUS: u16 = 539;
        pub const CMSG_SPIRIT_HEALER_ACTIVATE: u32 = 540;
        pub const CMSG_SET_STAT_CHEAT: u32 = 541;
        pub const SMSG_QUEST_FORCE_REMOVED: u16 = 542;
        pub const CMSG_SKILL_BUY_STEP: u32 = 543;
        pub const CMSG_SKILL_BUY_RANK: u32 = 544;
        pub const CMSG_XP_CHEAT: u32 = 545;
        pub const SMSG_SPIRIT_HEALER_CONFIRM: u16 = 546;
        pub const CMSG_CHARACTER_POINT_CHEAT: u32 = 547;
        pub const SMSG_GOSSIP_POI: u16 = 548;
        pub const CMSG_CHAT_IGNORED: u32 = 549;
        pub const CMSG_GM_VISION: u32 = 550;
        pub const CMSG_SERVER_COMMAND: u32 = 551;
        pub const CMSG_GM_SILENCE: u32 = 552;
        pub const CMSG_GM_REVEALTO: u32 = 553;
        pub const CMSG_GM_RESURRECT: u32 = 554;
        pub const CMSG_GM_SUMMONMOB: u32 = 555;
        pub const CMSG_GM_MOVECORPSE: u32 = 556;
        pub const CMSG_GM_FREEZE: u32 = 557;
        pub const CMSG_GM_UBERINVIS: u32 = 558;
        pub const CMSG_GM_REQUEST_PLAYER_INFO: u32 = 559;
        pub const SMSG_GM_PLAYER_INFO: u16 = 560;
        pub const CMSG_GUILD_RANK: u32 = 561;
        pub const CMSG_GUILD_ADD_RANK: u32 = 562;
        pub const CMSG_GUILD_DEL_RANK: u32 = 563;
        pub const CMSG_GUILD_SET_PUBLIC_NOTE: u32 = 564;
        pub const CMSG_GUILD_SET_OFFICER_NOTE: u32 = 565;
        pub const SMSG_LOGIN_VERIFY_WORLD: u16 = 566;
        pub const CMSG_CLEAR_EXPLORATION: u32 = 567;
        pub const CMSG_SEND_MAIL: u32 = 568;
        pub const SMSG_SEND_MAIL_RESULT: u16 = 569;
        pub const CMSG_GET_MAIL_LIST: u32 = 570;
        pub const SMSG_MAIL_LIST_RESULT: u16 = 571;
        pub const CMSG_BATTLEFIELD_LIST: u32 = 572;
        pub const SMSG_BATTLEFIELD_LIST: u16 = 573;
        pub const CMSG_BATTLEFIELD_JOIN: u32 = 574;
        pub const SMSG_FORCE_SET_VEHICLE_REC_ID: u16 = 575;
        pub const CMSG_SET_VEHICLE_REC_ID_ACK: u32 = 576;
        pub const CMSG_TAXICLEARNODE: u32 = 577;
        pub const CMSG_TAXIENABLENODE: u32 = 578;
        pub const CMSG_ITEM_TEXT_QUERY: u32 = 579;
        pub const SMSG_ITEM_TEXT_QUERY_RESPONSE: u16 = 580;
        pub const CMSG_MAIL_TAKE_MONEY: u32 = 581;
        pub const CMSG_MAIL_TAKE_ITEM: u32 = 582;
        pub const CMSG_MAIL_MARK_AS_READ: u32 = 583;
        pub const CMSG_MAIL_RETURN_TO_SENDER: u32 = 584;
        pub const CMSG_MAIL_DELETE: u32 = 585;
        pub const CMSG_MAIL_CREATE_TEXT_ITEM: u32 = 586;
        pub const SMSG_SPELLLOGMISS: u16 = 587;
        pub const SMSG_SPELLLOGEXECUTE: u16 = 588;
        pub const SMSG_DEBUGAURAPROC: u16 = 589;
        pub const SMSG_PERIODICAURALOG: u16 = 590;
        pub const SMSG_SPELLDAMAGESHIELD: u16 = 591;
        pub const SMSG_SPELLNONMELEEDAMAGELOG: u16 = 592;
        pub const CMSG_LEARN_TALENT: u32 = 593;
        pub const SMSG_RESURRECT_FAILED: u16 = 594;
        pub const CMSG_TOGGLE_PVP: u32 = 595;
        pub const SMSG_ZONE_UNDER_ATTACK: u16 = 596;
        pub const MSG_AUCTION_HELLO: u16 = 597;
        pub const CMSG_AUCTION_SELL_ITEM: u32 = 598;
        pub const CMSG_AUCTION_REMOVE_ITEM: u32 = 599;
        pub const CMSG_AUCTION_LIST_ITEMS: u32 = 600;
        pub const CMSG_AUCTION_LIST_OWNER_ITEMS: u32 = 601;
        pub const CMSG_AUCTION_PLACE_BID: u32 = 602;
        pub const SMSG_AUCTION_COMMAND_RESULT: u16 = 603;
        pub const SMSG_AUCTION_LIST_RESULT: u16 = 604;
        pub const SMSG_AUCTION_OWNER_LIST_RESULT: u16 = 605;
        pub const SMSG_AUCTION_BIDDER_NOTIFICATION: u16 = 606;
        pub const SMSG_AUCTION_OWNER_NOTIFICATION: u16 = 607;
        pub const SMSG_PROCRESIST: u16 = 608;
        pub const SMSG_COMBAT_EVENT_FAILED: u16 = 609;
        pub const SMSG_DISPEL_FAILED: u16 = 610;
        pub const SMSG_SPELLORDAMAGE_IMMUNE: u16 = 611;
        pub const CMSG_AUCTION_LIST_BIDDER_ITEMS: u32 = 612;
        pub const SMSG_AUCTION_BIDDER_LIST_RESULT: u16 = 613;
        pub const SMSG_SET_FLAT_SPELL_MODIFIER: u16 = 614;
        pub const SMSG_SET_PCT_SPELL_MODIFIER: u16 = 615;
        pub const CMSG_SET_AMMO: u32 = 616;
        pub const SMSG_CORPSE_RECLAIM_DELAY: u16 = 617;
        pub const CMSG_SET_ACTIVE_MOVER: u32 = 618;
        pub const CMSG_PET_CANCEL_AURA: u32 = 619;
        pub const CMSG_PLAYER_AI_CHEAT: u32 = 620;
        pub const CMSG_CANCEL_AUTO_REPEAT_SPELL: u32 = 621;
        pub const MSG_GM_ACCOUNT_ONLINE: u16 = 622;
        pub const MSG_LIST_STABLED_PETS: u16 = 623;
        pub const CMSG_STABLE_PET: u32 = 624;
        pub const CMSG_UNSTABLE_PET: u32 = 625;
        pub const CMSG_BUY_STABLE_SLOT: u32 = 626;
        pub const SMSG_STABLE_RESULT: u16 = 627;
        pub const CMSG_STABLE_REVIVE_PET: u32 = 628;
        pub const CMSG_STABLE_SWAP_PET: u32 = 629;
        pub const MSG_QUEST_PUSH_RESULT: u16 = 630;
        pub const SMSG_PLAY_MUSIC: u16 = 631;
        pub const SMSG_PLAY_OBJECT_SOUND: u16 = 632;
        pub const CMSG_REQUEST_PET_INFO: u32 = 633;
        pub const CMSG_FAR_SIGHT: u32 = 634;
        pub const SMSG_SPELLDISPELLOG: u16 = 635;
        pub const SMSG_DAMAGE_CALC_LOG: u16 = 636;
        pub const CMSG_ENABLE_DAMAGE_LOG: u32 = 637;
        pub const CMSG_GROUP_CHANGE_SUB_GROUP: u32 = 638;
        pub const CMSG_REQUEST_PARTY_MEMBER_STATS: u32 = 639;
        pub const CMSG_GROUP_SWAP_SUB_GROUP: u32 = 640;
        pub const CMSG_RESET_FACTION_CHEAT: u32 = 641;
        pub const CMSG_AUTOSTORE_BANK_ITEM: u32 = 642;
        pub const CMSG_AUTOBANK_ITEM: u32 = 643;
        pub const MSG_QUERY_NEXT_MAIL_TIME: u16 = 644;
        pub const SMSG_RECEIVED_MAIL: u16 = 645;
        pub const SMSG_RAID_GROUP_ONLY: u16 = 646;
        pub const CMSG_SET_DURABILITY_CHEAT: u32 = 647;
        pub const CMSG_SET_PVP_RANK_CHEAT: u32 = 648;
        pub const CMSG_ADD_PVP_MEDAL_CHEAT: u32 = 649;
        pub const CMSG_DEL_PVP_MEDAL_CHEAT: u32 = 650;
        pub const CMSG_SET_PVP_TITLE: u32 = 651;
        pub const SMSG_PVP_CREDIT: u16 = 652;
        pub const SMSG_AUCTION_REMOVED_NOTIFICATION: u16 = 653;
        pub const CMSG_GROUP_RAID_CONVERT: u32 = 654;
        pub const CMSG_GROUP_ASSISTANT_LEADER: u32 = 655;
        pub const CMSG_BUYBACK_ITEM: u32 = 656;
        pub const SMSG_SERVER_MESSAGE: u16 = 657;
        pub const CMSG_SET_SAVED_INSTANCE_EXTEND: u32 = 658;
        pub const SMSG_LFG_OFFER_CONTINUE: u16 = 659;
        pub const CMSG_TEST_DROP_RATE: u32 = 660;
        pub const SMSG_TEST_DROP_RATE_RESULT: u16 = 661;
        pub const CMSG_LFG_GET_STATUS: u32 = 662;
        pub const SMSG_SHOW_MAILBOX: u16 = 663;
        pub const SMSG_RESET_RANGED_COMBAT_TIMER: u16 = 664;
        pub const SMSG_CHAT_NOT_IN_PARTY: u16 = 665;
        pub const CMSG_GMTICKETSYSTEM_TOGGLE: u32 = 666;
        pub const CMSG_CANCEL_GROWTH_AURA: u32 = 667;
        pub const SMSG_CANCEL_AUTO_REPEAT: u16 = 668;
        pub const SMSG_STANDSTATE_UPDATE: u16 = 669;
        pub const SMSG_LOOT_ALL_PASSED: u16 = 670;
        pub const SMSG_LOOT_ROLL_WON: u16 = 671;
        pub const CMSG_LOOT_ROLL: u32 = 672;
        pub const SMSG_LOOT_START_ROLL: u16 = 673;
        pub const SMSG_LOOT_ROLL: u16 = 674;
        pub const CMSG_LOOT_MASTER_GIVE: u32 = 675;
        pub const SMSG_LOOT_MASTER_LIST: u16 = 676;
        pub const SMSG_SET_FORCED_REACTIONS: u16 = 677;
        pub const SMSG_SPELL_FAILED_OTHER: u16 = 678;
        pub const SMSG_GAMEOBJECT_RESET_STATE: u16 = 679;
        pub const CMSG_REPAIR_ITEM: u32 = 680;
        pub const SMSG_CHAT_PLAYER_NOT_FOUND: u16 = 681;
        pub const MSG_TALENT_WIPE_CONFIRM: u16 = 682;
        pub const SMSG_SUMMON_REQUEST: u16 = 683;
        pub const CMSG_SUMMON_RESPONSE: u32 = 684;
        pub const MSG_DEV_SHOWLABEL: u16 = 685;
        pub const SMSG_MONSTER_MOVE_TRANSPORT: u16 = 686;
        pub const SMSG_PET_BROKEN: u16 = 687;
        pub const MSG_MOVE_FEATHER_FALL: u16 = 688;
        pub const MSG_MOVE_WATER_WALK: u16 = 689;
        pub const CMSG_SERVER_BROADCAST: u32 = 690;
        pub const CMSG_SELF_RES: u32 = 691;
        pub const SMSG_FEIGN_DEATH_RESISTED: u16 = 692;
        pub const CMSG_RUN_SCRIPT: u32 = 693;
        pub const SMSG_SCRIPT_MESSAGE: u16 = 694;
        pub const SMSG_DUEL_COUNTDOWN: u16 = 695;
        pub const SMSG_AREA_TRIGGER_MESSAGE: u16 = 696;
        pub const CMSG_SHOWING_HELM: u32 = 697;
        pub const CMSG_SHOWING_CLOAK: u32 = 698;
        pub const SMSG_ROLE_CHOSEN: u16 = 699;
        pub const SMSG_PLAYER_SKINNED: u16 = 700;
        pub const SMSG_DURABILITY_DAMAGE_DEATH: u16 = 701;
        pub const CMSG_SET_EXPLORATION: u32 = 702;
        pub const CMSG_SET_ACTIONBAR_TOGGLES: u32 = 703;
        pub const MSG_DELETE_GUILD_CHARTER: u16 = 704;
        pub const MSG_PETITION_RENAME: u16 = 705;
        pub const SMSG_INIT_WORLD_STATES: u16 = 706;
        pub const SMSG_UPDATE_WORLD_STATE: u16 = 707;
        pub const CMSG_ITEM_NAME_QUERY: u32 = 708;
        pub const SMSG_ITEM_NAME_QUERY_RESPONSE: u16 = 709;
        pub const SMSG_PET_ACTION_FEEDBACK: u16 = 710;
        pub const CMSG_CHAR_RENAME: u32 = 711;
        pub const SMSG_CHAR_RENAME: u16 = 712;
        pub const CMSG_MOVE_SPLINE_DONE: u32 = 713;
        pub const CMSG_MOVE_FALL_RESET: u32 = 714;
        pub const SMSG_INSTANCE_SAVE_CREATED: u16 = 715;
        pub const SMSG_RAID_INSTANCE_INFO: u16 = 716;
        pub const CMSG_REQUEST_RAID_INFO: u32 = 717;
        pub const CMSG_MOVE_TIME_SKIPPED: u32 = 718;
        pub const CMSG_MOVE_FEATHER_FALL_ACK: u32 = 719;
        pub const CMSG_MOVE_WATER_WALK_ACK: u32 = 720;
        pub const CMSG_MOVE_NOT_ACTIVE_MOVER: u32 = 721;
        pub const SMSG_PLAY_SOUND: u16 = 722;
        pub const CMSG_BATTLEFIELD_STATUS: u32 = 723;
        pub const SMSG_BATTLEFIELD_STATUS: u16 = 724;
        pub const CMSG_BATTLEFIELD_PORT: u32 = 725;
        pub const MSG_INSPECT_HONOR_STATS: u16 = 726;
        pub const CMSG_BATTLEMASTER_HELLO: u32 = 727;
        pub const CMSG_MOVE_START_SWIM_CHEAT: u32 = 728;
        pub const CMSG_MOVE_STOP_SWIM_CHEAT: u32 = 729;
        pub const SMSG_FORCE_WALK_SPEED_CHANGE: u16 = 730;
        pub const CMSG_FORCE_WALK_SPEED_CHANGE_ACK: u32 = 731;
        pub const SMSG_FORCE_SWIM_BACK_SPEED_CHANGE: u16 = 732;
        pub const CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK: u32 = 733;
        pub const SMSG_FORCE_TURN_RATE_CHANGE: u16 = 734;
        pub const CMSG_FORCE_TURN_RATE_CHANGE_ACK: u32 = 735;
        pub const MSG_PVP_LOG_DATA: u16 = 736;
        pub const CMSG_LEAVE_BATTLEFIELD: u32 = 737;
        pub const CMSG_AREA_SPIRIT_HEALER_QUERY: u32 = 738;
        pub const CMSG_AREA_SPIRIT_HEALER_QUEUE: u32 = 739;
        pub const SMSG_AREA_SPIRIT_HEALER_TIME: u16 = 740;
        pub const CMSG_GM_UNTEACH: u32 = 741;
        pub const SMSG_WARDEN_DATA: u16 = 742;
        pub const CMSG_WARDEN_DATA: u32 = 743;
        pub const SMSG_GROUP_JOINED_BATTLEGROUND: u16 = 744;
        pub const MSG_BATTLEGROUND_PLAYER_POSITIONS: u16 = 745;
        pub const CMSG_PET_STOP_ATTACK: u32 = 746;
        pub const SMSG_BINDER_CONFIRM: u16 = 747;
        pub const SMSG_BATTLEGROUND_PLAYER_JOINED: u16 = 748;
        pub const SMSG_BATTLEGROUND_PLAYER_LEFT: u16 = 749;
        pub const CMSG_BATTLEMASTER_JOIN: u32 = 750;
        pub const SMSG_ADDON_INFO: u16 = 751;
        pub const CMSG_PET_UNLEARN: u32 = 752;
        pub const SMSG_PET_UNLEARN_CONFIRM: u16 = 753;
        pub const SMSG_PARTY_MEMBER_STATS_FULL: u16 = 754;
        pub const CMSG_PET_SPELL_AUTOCAST: u32 = 755;
        pub const SMSG_WEATHER: u16 = 756;
        pub const SMSG_PLAY_TIME_WARNING: u16 = 757;
        pub const SMSG_MINIGAME_SETUP: u16 = 758;
        pub const SMSG_MINIGAME_STATE: u16 = 759;
        pub const CMSG_MINIGAME_MOVE: u32 = 760;
        pub const SMSG_MINIGAME_MOVE_FAILED: u16 = 761;
        pub const SMSG_RAID_INSTANCE_MESSAGE: u16 = 762;
        pub const SMSG_COMPRESSED_MOVES: u16 = 763;
        pub const CMSG_GUILD_INFO_TEXT: u32 = 764;
        pub const SMSG_CHAT_RESTRICTED: u16 = 765;
        pub const SMSG_SPLINE_SET_RUN_SPEED: u16 = 766;
        pub const SMSG_SPLINE_SET_RUN_BACK_SPEED: u16 = 767;
        pub const SMSG_SPLINE_SET_SWIM_SPEED: u16 = 768;
        pub const SMSG_SPLINE_SET_WALK_SPEED: u16 = 769;
        pub const SMSG_SPLINE_SET_SWIM_BACK_SPEED: u16 = 770;
        pub const SMSG_SPLINE_SET_TURN_RATE: u16 = 771;
        pub const SMSG_SPLINE_MOVE_UNROOT: u16 = 772;
        pub const SMSG_SPLINE_MOVE_FEATHER_FALL: u16 = 773;
        pub const SMSG_SPLINE_MOVE_NORMAL_FALL: u16 = 774;
        pub const SMSG_SPLINE_MOVE_SET_HOVER: u16 = 775;
        pub const SMSG_SPLINE_MOVE_UNSET_HOVER: u16 = 776;
        pub const SMSG_SPLINE_MOVE_WATER_WALK: u16 = 777;
        pub const SMSG_SPLINE_MOVE_LAND_WALK: u16 = 778;
        pub const SMSG_SPLINE_MOVE_START_SWIM: u16 = 779;
        pub const SMSG_SPLINE_MOVE_STOP_SWIM: u16 = 780;
        pub const SMSG_SPLINE_MOVE_SET_RUN_MODE: u16 = 781;
        pub const SMSG_SPLINE_MOVE_SET_WALK_MODE: u16 = 782;
        pub const CMSG_GM_NUKE_ACCOUNT: u32 = 783;
        pub const MSG_GM_DESTROY_CORPSE: u16 = 784;
        pub const CMSG_GM_DESTROY_ONLINE_CORPSE: u32 = 785;
        pub const CMSG_ACTIVATETAXIEXPRESS: u32 = 786;
        pub const SMSG_SET_FACTION_ATWAR: u16 = 787;
        pub const SMSG_GAMETIMEBIAS_SET: u16 = 788;
        pub const CMSG_DEBUG_ACTIONS_START: u32 = 789;
        pub const CMSG_DEBUG_ACTIONS_STOP: u32 = 790;
        pub const CMSG_SET_FACTION_INACTIVE: u32 = 791;
        pub const CMSG_SET_WATCHED_FACTION: u32 = 792;
        pub const MSG_MOVE_TIME_SKIPPED: u16 = 793;
        pub const SMSG_SPLINE_MOVE_ROOT: u16 = 794;
        pub const CMSG_SET_EXPLORATION_ALL: u32 = 795;
        pub const SMSG_INVALIDATE_PLAYER: u16 = 796;
        pub const CMSG_RESET_INSTANCES: u32 = 797;
        pub const SMSG_INSTANCE_RESET: u16 = 798;
        pub const SMSG_INSTANCE_RESET_FAILED: u16 = 799;
        pub const SMSG_UPDATE_LAST_INSTANCE: u16 = 800;
        pub const MSG_RAID_TARGET_UPDATE: u16 = 801;
        pub const MSG_RAID_READY_CHECK: u16 = 802;
        pub const CMSG_LUA_USAGE: u32 = 803;
        pub const SMSG_PET_ACTION_SOUND: u16 = 804;
        pub const SMSG_PET_DISMISS_SOUND: u16 = 805;
        pub const SMSG_GHOSTEE_GONE: u16 = 806;
        pub const CMSG_GM_UPDATE_TICKET_STATUS: u32 = 807;
        pub const SMSG_GM_TICKET_STATUS_UPDATE: u16 = 808;
        pub const MSG_SET_DUNGEON_DIFFICULTY: u16 = 809;
        pub const CMSG_GMSURVEY_SUBMIT: u32 = 810;
        pub const SMSG_UPDATE_INSTANCE_OWNERSHIP: u16 = 811;
        pub const CMSG_IGNORE_KNOCKBACK_CHEAT: u32 = 812;
        pub const SMSG_CHAT_PLAYER_AMBIGUOUS: u16 = 813;
        pub const MSG_DELAY_GHOST_TELEPORT: u16 = 814;
        pub const SMSG_SPELLINSTAKILLLOG: u16 = 815;
        pub const SMSG_SPELL_UPDATE_CHAIN_TARGETS: u16 = 816;
        pub const CMSG_CHAT_FILTERED: u32 = 817;
        pub const SMSG_EXPECTED_SPAM_RECORDS: u16 = 818;
        pub const SMSG_SPELLSTEALLOG: u16 = 819;
        pub const CMSG_LOTTERY_QUERY_OBSOLETE: u32 = 820;
        pub const SMSG_LOTTERY_QUERY_RESULT_OBSOLETE: u16 = 821;
        pub const CMSG_BUY_LOTTERY_TICKET_OBSOLETE: u32 = 822;
        pub const SMSG_LOTTERY_RESULT_OBSOLETE: u16 = 823;
        pub const SMSG_CHARACTER_PROFILE: u16 = 824;
        pub const SMSG_CHARACTER_PROFILE_REALM_CONNECTED: u16 = 825;
        pub const SMSG_DEFENSE_MESSAGE: u16 = 826;
        pub const SMSG_INSTANCE_DIFFICULTY: u16 = 827;
        pub const MSG_GM_RESETINSTANCELIMIT: u16 = 828;
        pub const SMSG_MOTD: u16 = 829;
        pub const SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY: u16 = 830;
        pub const SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY: u16 = 831;
        pub const CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK: u32 = 832;
        pub const MSG_MOVE_START_SWIM_CHEAT: u16 = 833;
        pub const MSG_MOVE_STOP_SWIM_CHEAT: u16 = 834;
        pub const SMSG_MOVE_SET_CAN_FLY: u16 = 835;
        pub const SMSG_MOVE_UNSET_CAN_FLY: u16 = 836;
        pub const CMSG_MOVE_SET_CAN_FLY_ACK: u32 = 837;
        pub const CMSG_MOVE_SET_FLY: u32 = 838;
        pub const CMSG_SOCKET_GEMS: u32 = 839;
        pub const CMSG_ARENA_TEAM_CREATE: u32 = 840;
        pub const SMSG_ARENA_TEAM_COMMAND_RESULT: u16 = 841;
        pub const MSG_MOVE_UPDATE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY: u16 = 842;
        pub const CMSG_ARENA_TEAM_QUERY: u32 = 843;
        pub const SMSG_ARENA_TEAM_QUERY_RESPONSE: u16 = 844;
        pub const CMSG_ARENA_TEAM_ROSTER: u32 = 845;
        pub const SMSG_ARENA_TEAM_ROSTER: u16 = 846;
        pub const CMSG_ARENA_TEAM_INVITE: u32 = 847;
        pub const SMSG_ARENA_TEAM_INVITE: u16 = 848;
        pub const CMSG_ARENA_TEAM_ACCEPT: u32 = 849;
        pub const CMSG_ARENA_TEAM_DECLINE: u32 = 850;
        pub const CMSG_ARENA_TEAM_LEAVE: u32 = 851;
        pub const CMSG_ARENA_TEAM_REMOVE: u32 = 852;
        pub const CMSG_ARENA_TEAM_DISBAND: u32 = 853;
        pub const CMSG_ARENA_TEAM_LEADER: u32 = 854;
        pub const SMSG_ARENA_TEAM_EVENT: u16 = 855;
        pub const CMSG_BATTLEMASTER_JOIN_ARENA: u32 = 856;
        pub const MSG_MOVE_START_ASCEND: u16 = 857;
        pub const MSG_MOVE_STOP_ASCEND: u16 = 858;
        pub const SMSG_ARENA_TEAM_STATS: u16 = 859;
        pub const CMSG_LFG_JOIN: u32 = 860;
        pub const CMSG_LFG_LEAVE: u32 = 861;
        pub const CMSG_LFG_SEARCH_JOIN: u32 = 862;
        pub const CMSG_LFG_SEARCH_LEAVE: u32 = 863;
        pub const SMSG_LFG_SEARCH_RESULTS: u16 = 864;
        pub const SMSG_LFG_PROPOSAL_UPDATE: u16 = 865;
        pub const CMSG_LFG_PROPOSAL_RESULT: u32 = 866;
        pub const SMSG_LFG_ROLE_CHECK_UPDATE: u16 = 867;
        pub const SMSG_LFG_JOIN_RESULT: u16 = 868;
        pub const SMSG_LFG_QUEUE_STATUS: u16 = 869;
        pub const CMSG_SET_LFG_COMMENT: u32 = 870;
        pub const SMSG_LFG_UPDATE_PLAYER: u16 = 871;
        pub const SMSG_LFG_UPDATE_PARTY: u16 = 872;
        pub const SMSG_LFG_UPDATE_SEARCH: u16 = 873;
        pub const CMSG_LFG_SET_ROLES: u32 = 874;
        pub const CMSG_LFG_SET_NEEDS: u32 = 875;
        pub const CMSG_LFG_BOOT_PLAYER_VOTE: u32 = 876;
        pub const SMSG_LFG_BOOT_PLAYER: u16 = 877;
        pub const CMSG_LFG_GET_PLAYER_INFO: u32 = 878;
        pub const SMSG_LFG_PLAYER_INFO: u16 = 879;
        pub const CMSG_LFG_TELEPORT: u32 = 880;
        pub const CMSG_LFG_GET_PARTY_INFO: u32 = 881;
        pub const SMSG_LFG_PARTY_INFO: u16 = 882;
        pub const SMSG_TITLE_EARNED: u16 = 883;
        pub const CMSG_SET_TITLE: u32 = 884;
        pub const CMSG_CANCEL_MOUNT_AURA: u32 = 885;
        pub const SMSG_ARENA_ERROR: u16 = 886;
        pub const MSG_INSPECT_ARENA_TEAMS: u16 = 887;
        pub const SMSG_DEATH_RELEASE_LOC: u16 = 888;
        pub const CMSG_CANCEL_TEMP_ENCHANTMENT: u32 = 889;
        pub const SMSG_FORCED_DEATH_UPDATE: u16 = 890;
        pub const CMSG_CHEAT_SET_HONOR_CURRENCY: u32 = 891;
        pub const CMSG_CHEAT_SET_ARENA_CURRENCY: u32 = 892;
        pub const MSG_MOVE_SET_FLIGHT_SPEED_CHEAT: u16 = 893;
        pub const MSG_MOVE_SET_FLIGHT_SPEED: u16 = 894;
        pub const MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT: u16 = 895;
        pub const MSG_MOVE_SET_FLIGHT_BACK_SPEED: u16 = 896;
        pub const SMSG_FORCE_FLIGHT_SPEED_CHANGE: u16 = 897;
        pub const CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK: u32 = 898;
        pub const SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE: u16 = 899;
        pub const CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK: u32 = 900;
        pub const SMSG_SPLINE_SET_FLIGHT_SPEED: u16 = 901;
        pub const SMSG_SPLINE_SET_FLIGHT_BACK_SPEED: u16 = 902;
        pub const CMSG_MAELSTROM_INVALIDATE_CACHE: u32 = 903;
        pub const SMSG_FLIGHT_SPLINE_SYNC: u16 = 904;
        pub const CMSG_SET_TAXI_BENCHMARK_MODE: u32 = 905;
        pub const SMSG_JOINED_BATTLEGROUND_QUEUE: u16 = 906;
        pub const SMSG_REALM_SPLIT: u16 = 907;
        pub const CMSG_REALM_SPLIT: u32 = 908;
        pub const CMSG_MOVE_CHNG_TRANSPORT: u32 = 909;
        pub const MSG_PARTY_ASSIGNMENT: u16 = 910;
        pub const SMSG_OFFER_PETITION_ERROR: u16 = 911;
        pub const SMSG_TIME_SYNC_REQ: u16 = 912;
        pub const CMSG_TIME_SYNC_RESP: u32 = 913;
        pub const CMSG_SEND_LOCAL_EVENT: u32 = 914;
        pub const CMSG_SEND_GENERAL_TRIGGER: u32 = 915;
        pub const CMSG_SEND_COMBAT_TRIGGER: u32 = 916;
        pub const CMSG_MAELSTROM_GM_SENT_MAIL: u32 = 917;
        pub const SMSG_RESET_FAILED_NOTIFY: u16 = 918;
        pub const SMSG_REAL_GROUP_UPDATE: u16 = 919;
        pub const SMSG_LFG_DISABLED: u16 = 920;
        pub const CMSG_ACTIVE_PVP_CHEAT: u32 = 921;
        pub const CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY: u32 = 922;
        pub const SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE: u16 = 923;
        pub const SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE: u16 = 924;
        pub const SMSG_UPDATE_COMBO_POINTS: u16 = 925;
        pub const SMSG_VOICE_SESSION_ROSTER_UPDATE: u16 = 926;
        pub const SMSG_VOICE_SESSION_LEAVE: u16 = 927;
        pub const SMSG_VOICE_SESSION_ADJUST_PRIORITY: u16 = 928;
        pub const CMSG_VOICE_SET_TALKER_MUTED_REQUEST: u32 = 929;
        pub const SMSG_VOICE_SET_TALKER_MUTED: u16 = 930;
        pub const SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE: u16 = 931;
        pub const SMSG_SET_EXTRA_AURA_INFO_OBSOLETE: u16 = 932;
        pub const SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE: u16 = 933;
        pub const SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE: u16 = 934;
        pub const MSG_MOVE_START_DESCEND: u16 = 935;
        pub const CMSG_IGNORE_REQUIREMENTS_CHEAT: u32 = 936;
        pub const SMSG_IGNORE_REQUIREMENTS_CHEAT: u16 = 937;
        pub const SMSG_SPELL_CHANCE_PROC_LOG: u16 = 938;
        pub const CMSG_MOVE_SET_RUN_SPEED: u32 = 939;
        pub const SMSG_DISMOUNT: u16 = 940;
        pub const MSG_MOVE_UPDATE_CAN_FLY: u16 = 941;
        pub const MSG_RAID_READY_CHECK_CONFIRM: u16 = 942;
        pub const CMSG_VOICE_SESSION_ENABLE: u32 = 943;
        pub const SMSG_VOICE_SESSION_ENABLE: u16 = 944;
        pub const SMSG_VOICE_PARENTAL_CONTROLS: u16 = 945;
        pub const CMSG_GM_WHISPER: u32 = 946;
        pub const SMSG_GM_MESSAGECHAT: u16 = 947;
        pub const MSG_GM_GEARRATING: u16 = 948;
        pub const CMSG_COMMENTATOR_ENABLE: u32 = 949;
        pub const SMSG_COMMENTATOR_STATE_CHANGED: u16 = 950;
        pub const CMSG_COMMENTATOR_GET_MAP_INFO: u32 = 951;
        pub const SMSG_COMMENTATOR_MAP_INFO: u16 = 952;
        pub const CMSG_COMMENTATOR_GET_PLAYER_INFO: u32 = 953;
        pub const SMSG_COMMENTATOR_GET_PLAYER_INFO: u16 = 954;
        pub const SMSG_COMMENTATOR_PLAYER_INFO: u16 = 955;
        pub const CMSG_COMMENTATOR_ENTER_INSTANCE: u32 = 956;
        pub const CMSG_COMMENTATOR_EXIT_INSTANCE: u32 = 957;
        pub const CMSG_COMMENTATOR_INSTANCE_COMMAND: u32 = 958;
        pub const SMSG_CLEAR_TARGET: u16 = 959;
        pub const CMSG_BOT_DETECTED: u32 = 960;
        pub const SMSG_CROSSED_INEBRIATION_THRESHOLD: u16 = 961;
        pub const CMSG_CHEAT_PLAYER_LOGIN: u32 = 962;
        pub const CMSG_CHEAT_PLAYER_LOOKUP: u32 = 963;
        pub const SMSG_CHEAT_PLAYER_LOOKUP: u16 = 964;
        pub const SMSG_KICK_REASON: u16 = 965;
        pub const MSG_RAID_READY_CHECK_FINISHED: u16 = 966;
        pub const CMSG_COMPLAIN: u32 = 967;
        pub const SMSG_COMPLAIN_RESULT: u16 = 968;
        pub const SMSG_FEATURE_SYSTEM_STATUS: u16 = 969;
        pub const CMSG_GM_SHOW_COMPLAINTS: u32 = 970;
        pub const CMSG_GM_UNSQUELCH: u32 = 971;
        pub const CMSG_CHANNEL_SILENCE_VOICE: u32 = 972;
        pub const CMSG_CHANNEL_SILENCE_ALL: u32 = 973;
        pub const CMSG_CHANNEL_UNSILENCE_VOICE: u32 = 974;
        pub const CMSG_CHANNEL_UNSILENCE_ALL: u32 = 975;
        pub const CMSG_TARGET_CAST: u32 = 976;
        pub const CMSG_TARGET_SCRIPT_CAST: u32 = 977;
        pub const CMSG_CHANNEL_DISPLAY_LIST: u32 = 978;
        pub const CMSG_SET_ACTIVE_VOICE_CHANNEL: u32 = 979;
        pub const CMSG_GET_CHANNEL_MEMBER_COUNT: u32 = 980;
        pub const SMSG_CHANNEL_MEMBER_COUNT: u16 = 981;
        pub const CMSG_CHANNEL_VOICE_ON: u32 = 982;
        pub const CMSG_CHANNEL_VOICE_OFF: u32 = 983;
        pub const CMSG_DEBUG_LIST_TARGETS: u32 = 984;
        pub const SMSG_DEBUG_LIST_TARGETS: u16 = 985;
        pub const SMSG_AVAILABLE_VOICE_CHANNEL: u16 = 986;
        pub const CMSG_ADD_VOICE_IGNORE: u32 = 987;
        pub const CMSG_DEL_VOICE_IGNORE: u32 = 988;
        pub const CMSG_PARTY_SILENCE: u32 = 989;
        pub const CMSG_PARTY_UNSILENCE: u32 = 990;
        pub const MSG_NOTIFY_PARTY_SQUELCH: u16 = 991;
        pub const SMSG_COMSAT_RECONNECT_TRY: u16 = 992;
        pub const SMSG_COMSAT_DISCONNECT: u16 = 993;
        pub const SMSG_COMSAT_CONNECT_FAIL: u16 = 994;
        pub const SMSG_VOICE_CHAT_STATUS: u16 = 995;
        pub const CMSG_REPORT_PVP_AFK: u32 = 996;
        pub const SMSG_REPORT_PVP_AFK_RESULT: u16 = 997;
        pub const CMSG_GUILD_BANKER_ACTIVATE: u32 = 998;
        pub const CMSG_GUILD_BANK_QUERY_TAB: u32 = 999;
        pub const SMSG_GUILD_BANK_LIST: u16 = 1000;
        pub const CMSG_GUILD_BANK_SWAP_ITEMS: u32 = 1001;
        pub const CMSG_GUILD_BANK_BUY_TAB: u32 = 1002;
        pub const CMSG_GUILD_BANK_UPDATE_TAB: u32 = 1003;
        pub const CMSG_GUILD_BANK_DEPOSIT_MONEY: u32 = 1004;
        pub const CMSG_GUILD_BANK_WITHDRAW_MONEY: u32 = 1005;
        pub const MSG_GUILD_BANK_LOG_QUERY: u16 = 1006;
        pub const CMSG_SET_CHANNEL_WATCH: u32 = 1007;
        pub const SMSG_USERLIST_ADD: u16 = 1008;
        pub const SMSG_USERLIST_REMOVE: u16 = 1009;
        pub const SMSG_USERLIST_UPDATE: u16 = 1010;
        pub const CMSG_CLEAR_CHANNEL_WATCH: u32 = 1011;
        pub const SMSG_INSPECT_RESULTS: u16 = 1012;
        pub const SMSG_GOGOGO_OBSOLETE: u16 = 1013;
        pub const SMSG_ECHO_PARTY_SQUELCH: u16 = 1014;
        pub const CMSG_SET_TITLE_SUFFIX: u32 = 1015;
        pub const CMSG_SPELLCLICK: u32 = 1016;
        pub const SMSG_LOOT_LIST: u16 = 1017;
        pub const CMSG_GM_CHARACTER_RESTORE: u32 = 1018;
        pub const CMSG_GM_CHARACTER_SAVE: u32 = 1019;
        pub const SMSG_VOICESESSION_FULL: u16 = 1020;
        pub const MSG_GUILD_PERMISSIONS: u16 = 1021;
        pub const MSG_GUILD_BANK_MONEY_WITHDRAWN: u16 = 1022;
        pub const MSG_GUILD_EVENT_LOG_QUERY: u16 = 1023;
        pub const CMSG_MAELSTROM_RENAME_GUILD: u32 = 1024;
        pub const CMSG_GET_MIRRORIMAGE_DATA: u32 = 1025;
        pub const SMSG_MIRRORIMAGE_DATA: u16 = 1026;
        pub const SMSG_FORCE_DISPLAY_UPDATE: u16 = 1027;
        pub const SMSG_SPELL_CHANCE_RESIST_PUSHBACK: u16 = 1028;
        pub const CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT: u32 = 1029;
        pub const SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT: u16 = 1030;
        pub const CMSG_KEEP_ALIVE: u32 = 1031;
        pub const SMSG_RAID_READY_CHECK_ERROR: u16 = 1032;
        pub const CMSG_OPT_OUT_OF_LOOT: u32 = 1033;
        pub const MSG_QUERY_GUILD_BANK_TEXT: u16 = 1034;
        pub const CMSG_SET_GUILD_BANK_TEXT: u32 = 1035;
        pub const CMSG_SET_GRANTABLE_LEVELS: u32 = 1036;
        pub const CMSG_GRANT_LEVEL: u32 = 1037;
        pub const CMSG_REFER_A_FRIEND: u32 = 1038;
        pub const MSG_GM_CHANGE_ARENA_RATING: u16 = 1039;
        pub const CMSG_DECLINE_CHANNEL_INVITE: u32 = 1040;
        pub const SMSG_GROUPACTION_THROTTLED: u16 = 1041;
        pub const SMSG_OVERRIDE_LIGHT: u16 = 1042;
        pub const SMSG_TOTEM_CREATED: u16 = 1043;
        pub const CMSG_TOTEM_DESTROYED: u32 = 1044;
        pub const CMSG_EXPIRE_RAID_INSTANCE: u32 = 1045;
        pub const CMSG_NO_SPELL_VARIANCE: u32 = 1046;
        pub const CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY: u32 = 1047;
        pub const SMSG_QUESTGIVER_STATUS_MULTIPLE: u16 = 1048;
        pub const CMSG_SET_PLAYER_DECLINED_NAMES: u32 = 1049;
        pub const SMSG_SET_PLAYER_DECLINED_NAMES_RESULT: u16 = 1050;
        pub const CMSG_QUERY_SERVER_BUCK_DATA: u32 = 1051;
        pub const CMSG_CLEAR_SERVER_BUCK_DATA: u32 = 1052;
        pub const SMSG_SERVER_BUCK_DATA: u16 = 1053;
        pub const SMSG_SEND_UNLEARN_SPELLS: u16 = 1054;
        pub const SMSG_PROPOSE_LEVEL_GRANT: u16 = 1055;
        pub const CMSG_ACCEPT_LEVEL_GRANT: u32 = 1056;
        pub const SMSG_REFER_A_FRIEND_FAILURE: u16 = 1057;
        pub const SMSG_SPLINE_MOVE_SET_FLYING: u16 = 1058;
        pub const SMSG_SPLINE_MOVE_UNSET_FLYING: u16 = 1059;
        pub const SMSG_SUMMON_CANCEL: u16 = 1060;
        pub const CMSG_CHANGE_PERSONAL_ARENA_RATING: u32 = 1061;
        pub const CMSG_ALTER_APPEARANCE: u32 = 1062;
        pub const SMSG_ENABLE_BARBER_SHOP: u16 = 1063;
        pub const SMSG_BARBER_SHOP_RESULT: u16 = 1064;
        pub const CMSG_CALENDAR_GET_CALENDAR: u32 = 1065;
        pub const CMSG_CALENDAR_GET_EVENT: u32 = 1066;
        pub const CMSG_CALENDAR_GUILD_FILTER: u32 = 1067;
        pub const CMSG_CALENDAR_ARENA_TEAM: u32 = 1068;
        pub const CMSG_CALENDAR_ADD_EVENT: u32 = 1069;
        pub const CMSG_CALENDAR_UPDATE_EVENT: u32 = 1070;
        pub const CMSG_CALENDAR_REMOVE_EVENT: u32 = 1071;
        pub const CMSG_CALENDAR_COPY_EVENT: u32 = 1072;
        pub const CMSG_CALENDAR_EVENT_INVITE: u32 = 1073;
        pub const CMSG_CALENDAR_EVENT_RSVP: u32 = 1074;
        pub const CMSG_CALENDAR_EVENT_REMOVE_INVITE: u32 = 1075;
        pub const CMSG_CALENDAR_EVENT_STATUS: u32 = 1076;
        pub const CMSG_CALENDAR_EVENT_MODERATOR_STATUS: u32 = 1077;
        pub const SMSG_CALENDAR_SEND_CALENDAR: u16 = 1078;
        pub const SMSG_CALENDAR_SEND_EVENT: u16 = 1079;
        pub const SMSG_CALENDAR_FILTER_GUILD: u16 = 1080;
        pub const SMSG_CALENDAR_ARENA_TEAM: u16 = 1081;
        pub const SMSG_CALENDAR_EVENT_INVITE: u16 = 1082;
        pub const SMSG_CALENDAR_EVENT_INVITE_REMOVED: u16 = 1083;
        pub const SMSG_CALENDAR_EVENT_STATUS: u16 = 1084;
        pub const SMSG_CALENDAR_COMMAND_RESULT: u16 = 1085;
        pub const SMSG_CALENDAR_RAID_LOCKOUT_ADDED: u16 = 1086;
        pub const SMSG_CALENDAR_RAID_LOCKOUT_REMOVED: u16 = 1087;
        pub const SMSG_CALENDAR_EVENT_INVITE_ALERT: u16 = 1088;
        pub const SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT: u16 = 1089;
        pub const SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT: u16 = 1090;
        pub const SMSG_CALENDAR_EVENT_REMOVED_ALERT: u16 = 1091;
        pub const SMSG_CALENDAR_EVENT_UPDATED_ALERT: u16 = 1092;
        pub const SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT: u16 = 1093;
        pub const CMSG_CALENDAR_COMPLAIN: u32 = 1094;
        pub const CMSG_CALENDAR_GET_NUM_PENDING: u32 = 1095;
        pub const SMSG_CALENDAR_SEND_NUM_PENDING: u16 = 1096;
        pub const CMSG_SAVE_DANCE: u32 = 1097;
        pub const SMSG_NOTIFY_DANCE: u16 = 1098;
        pub const CMSG_PLAY_DANCE: u32 = 1099;
        pub const SMSG_PLAY_DANCE: u16 = 1100;
        pub const CMSG_LOAD_DANCES: u32 = 1101;
        pub const CMSG_STOP_DANCE: u32 = 1102;
        pub const SMSG_STOP_DANCE: u16 = 1103;
        pub const CMSG_SYNC_DANCE: u32 = 1104;
        pub const CMSG_DANCE_QUERY: u32 = 1105;
        pub const SMSG_DANCE_QUERY_RESPONSE: u16 = 1106;
        pub const SMSG_INVALIDATE_DANCE: u16 = 1107;
        pub const CMSG_DELETE_DANCE: u32 = 1108;
        pub const SMSG_LEARNED_DANCE_MOVES: u16 = 1109;
        pub const CMSG_LEARN_DANCE_MOVE: u32 = 1110;
        pub const CMSG_UNLEARN_DANCE_MOVE: u32 = 1111;
        pub const CMSG_SET_RUNE_COUNT: u32 = 1112;
        pub const CMSG_SET_RUNE_COOLDOWN: u32 = 1113;
        pub const MSG_MOVE_SET_PITCH_RATE_CHEAT: u16 = 1114;
        pub const MSG_MOVE_SET_PITCH_RATE: u16 = 1115;
        pub const SMSG_FORCE_PITCH_RATE_CHANGE: u16 = 1116;
        pub const CMSG_FORCE_PITCH_RATE_CHANGE_ACK: u32 = 1117;
        pub const SMSG_SPLINE_SET_PITCH_RATE: u16 = 1118;
        pub const CMSG_CALENDAR_EVENT_INVITE_NOTES: u32 = 1119;
        pub const SMSG_CALENDAR_EVENT_INVITE_NOTES: u16 = 1120;
        pub const SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT: u16 = 1121;
        pub const CMSG_UPDATE_MISSILE_TRAJECTORY: u32 = 1122;
        pub const SMSG_UPDATE_ACCOUNT_DATA_COMPLETE: u16 = 1123;
        pub const SMSG_TRIGGER_MOVIE: u16 = 1124;
        pub const CMSG_COMPLETE_MOVIE: u32 = 1125;
        pub const CMSG_SET_GLYPH_SLOT: u32 = 1126;
        pub const CMSG_SET_GLYPH: u32 = 1127;
        pub const SMSG_ACHIEVEMENT_EARNED: u16 = 1128;
        pub const SMSG_DYNAMIC_DROP_ROLL_RESULT: u16 = 1129;
        pub const SMSG_CRITERIA_UPDATE: u16 = 1130;
        pub const CMSG_QUERY_INSPECT_ACHIEVEMENTS: u32 = 1131;
        pub const SMSG_RESPOND_INSPECT_ACHIEVEMENTS: u16 = 1132;
        pub const CMSG_DISMISS_CONTROLLED_VEHICLE: u32 = 1133;
        pub const CMSG_COMPLETE_ACHIEVEMENT_CHEAT: u32 = 1134;
        pub const SMSG_QUESTUPDATE_ADD_PVP_KILL: u16 = 1135;
        pub const CMSG_SET_CRITERIA_CHEAT: u32 = 1136;
        pub const SMSG_CALENDAR_RAID_LOCKOUT_UPDATED: u16 = 1137;
        pub const CMSG_UNITANIMTIER_CHEAT: u32 = 1138;
        pub const CMSG_CHAR_CUSTOMIZE: u32 = 1139;
        pub const SMSG_CHAR_CUSTOMIZE: u16 = 1140;
        pub const SMSG_PET_RENAMEABLE: u16 = 1141;
        pub const CMSG_REQUEST_VEHICLE_EXIT: u32 = 1142;
        pub const CMSG_REQUEST_VEHICLE_PREV_SEAT: u32 = 1143;
        pub const CMSG_REQUEST_VEHICLE_NEXT_SEAT: u32 = 1144;
        pub const CMSG_REQUEST_VEHICLE_SWITCH_SEAT: u32 = 1145;
        pub const CMSG_PET_LEARN_TALENT: u32 = 1146;
        pub const CMSG_PET_UNLEARN_TALENTS: u32 = 1147;
        pub const SMSG_SET_PHASE_SHIFT: u16 = 1148;
        pub const SMSG_ALL_ACHIEVEMENT_DATA: u16 = 1149;
        pub const CMSG_FORCE_SAY_CHEAT: u32 = 1150;
        pub const SMSG_HEALTH_UPDATE: u16 = 1151;
        pub const SMSG_POWER_UPDATE: u16 = 1152;
        pub const CMSG_GAMEOBJ_REPORT_USE: u32 = 1153;
        pub const SMSG_HIGHEST_THREAT_UPDATE: u16 = 1154;
        pub const SMSG_THREAT_UPDATE: u16 = 1155;
        pub const SMSG_THREAT_REMOVE: u16 = 1156;
        pub const SMSG_THREAT_CLEAR: u16 = 1157;
        pub const SMSG_CONVERT_RUNE: u16 = 1158;
        pub const SMSG_RESYNC_RUNES: u16 = 1159;
        pub const SMSG_ADD_RUNE_POWER: u16 = 1160;
        pub const CMSG_START_QUEST: u32 = 1161;
        pub const CMSG_REMOVE_GLYPH: u32 = 1162;
        pub const CMSG_DUMP_OBJECTS: u32 = 1163;
        pub const SMSG_DUMP_OBJECTS_DATA: u16 = 1164;
        pub const CMSG_DISMISS_CRITTER: u32 = 1165;
        pub const SMSG_NOTIFY_DEST_LOC_SPELL_CAST: u16 = 1166;
        pub const CMSG_AUCTION_LIST_PENDING_SALES: u32 = 1167;
        pub const SMSG_AUCTION_LIST_PENDING_SALES: u16 = 1168;
        pub const SMSG_MODIFY_COOLDOWN: u16 = 1169;
        pub const SMSG_PET_UPDATE_COMBO_POINTS: u16 = 1170;
        pub const CMSG_ENABLETAXI: u32 = 1171;
        pub const SMSG_PRE_RESURRECT: u16 = 1172;
        pub const SMSG_AURA_UPDATE_ALL: u16 = 1173;
        pub const SMSG_AURA_UPDATE: u16 = 1174;
        pub const CMSG_FLOOD_GRACE_CHEAT: u32 = 1175;
        pub const SMSG_SERVER_FIRST_ACHIEVEMENT: u16 = 1176;
        pub const SMSG_PET_LEARNED_SPELL: u16 = 1177;
        pub const SMSG_PET_REMOVED_SPELL: u16 = 1178;
        pub const CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE: u32 = 1179;
        pub const CMSG_HEARTH_AND_RESURRECT: u32 = 1180;
        pub const SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA: u16 = 1181;
        pub const SMSG_CRITERIA_DELETED: u16 = 1182;
        pub const SMSG_ACHIEVEMENT_DELETED: u16 = 1183;
        pub const CMSG_SERVER_INFO_QUERY: u32 = 1184;
        pub const SMSG_SERVER_INFO_RESPONSE: u16 = 1185;
        pub const CMSG_CHECK_LOGIN_CRITERIA: u32 = 1186;
        pub const SMSG_SERVER_BUCK_DATA_START: u16 = 1187;
        pub const CMSG_SET_BREATH: u32 = 1188;
        pub const CMSG_QUERY_VEHICLE_STATUS: u32 = 1189;
        pub const SMSG_BATTLEGROUND_INFO_THROTTLED: u16 = 1190;
        pub const SMSG_SET_VEHICLE_REC_ID: u16 = 1191;
        pub const CMSG_RIDE_VEHICLE_INTERACT: u32 = 1192;
        pub const CMSG_CONTROLLER_EJECT_PASSENGER: u32 = 1193;
        pub const SMSG_PET_GUIDS: u16 = 1194;
        pub const SMSG_CLIENTCACHE_VERSION: u16 = 1195;
        pub const CMSG_CHANGE_GDF_ARENA_RATING: u32 = 1196;
        pub const CMSG_SET_ARENA_TEAM_RATING_BY_INDEX: u32 = 1197;
        pub const CMSG_SET_ARENA_TEAM_WEEKLY_GAMES: u32 = 1198;
        pub const CMSG_SET_ARENA_TEAM_SEASON_GAMES: u32 = 1199;
        pub const CMSG_SET_ARENA_MEMBER_WEEKLY_GAMES: u32 = 1200;
        pub const CMSG_SET_ARENA_MEMBER_SEASON_GAMES: u32 = 1201;
        pub const SMSG_SET_ITEM_PURCHASE_DATA: u16 = 1202;
        pub const CMSG_GET_ITEM_PURCHASE_DATA: u32 = 1203;
        pub const CMSG_ITEM_PURCHASE_REFUND: u32 = 1204;
        pub const SMSG_ITEM_PURCHASE_REFUND_RESULT: u16 = 1205;
        pub const CMSG_CORPSE_TRANSPORT_QUERY: u32 = 1206;
        pub const SMSG_CORPSE_TRANSPORT_QUERY: u16 = 1207;
        pub const CMSG_UNUSED5: u32 = 1208;
        pub const CMSG_UNUSED6: u32 = 1209;
        pub const CMSG_CALENDAR_EVENT_SIGNUP: u32 = 1210;
        pub const SMSG_CALENDAR_CLEAR_PENDING_ACTION: u16 = 1211;
        pub const SMSG_LOAD_EQUIPMENT_SET: u16 = 1212;
        pub const CMSG_SAVE_EQUIPMENT_SET: u32 = 1213;
        pub const CMSG_ON_MISSILE_TRAJECTORY_COLLISION: u32 = 1214;
        pub const SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION: u16 = 1215;
        pub const SMSG_TALENT_UPDATE: u16 = 1216;
        pub const CMSG_LEARN_TALENT_GROUP: u32 = 1217;
        pub const CMSG_PET_LEARN_TALENT_GROUP: u32 = 1218;
        pub const CMSG_SET_ACTIVE_TALENT_GROUP_OBSOLETE: u32 = 1219;
        pub const CMSG_GM_GRANT_ACHIEVEMENT: u32 = 1220;
        pub const CMSG_GM_REMOVE_ACHIEVEMENT: u32 = 1221;
        pub const CMSG_GM_SET_CRITERIA_FOR_PLAYER: u32 = 1222;
        pub const SMSG_DESTROY_ARENA_UNIT: u16 = 1223;
        pub const SMSG_ARENA_TEAM_CHANGE_FAILED: u16 = 1224;
        pub const CMSG_PROFILEDATA_REQUEST: u32 = 1225;
        pub const SMSG_PROFILEDATA_RESPONSE: u16 = 1226;
        pub const CMSG_START_BATTLEFIELD_CHEAT: u32 = 1227;
        pub const CMSG_END_BATTLEFIELD_CHEAT: u32 = 1228;
        pub const SMSG_COMPOUND_MOVE: u16 = 1229;
        pub const SMSG_MOVE_GRAVITY_DISABLE: u16 = 1230;
        pub const CMSG_MOVE_GRAVITY_DISABLE_ACK: u32 = 1231;
        pub const SMSG_MOVE_GRAVITY_ENABLE: u16 = 1232;
        pub const CMSG_MOVE_GRAVITY_ENABLE_ACK: u32 = 1233;
        pub const MSG_MOVE_GRAVITY_CHNG: u16 = 1234;
        pub const SMSG_SPLINE_MOVE_GRAVITY_DISABLE: u16 = 1235;
        pub const SMSG_SPLINE_MOVE_GRAVITY_ENABLE: u16 = 1236;
        pub const CMSG_USE_EQUIPMENT_SET: u32 = 1237;
        pub const SMSG_USE_EQUIPMENT_SET_RESULT: u16 = 1238;
        pub const CMSG_FORCE_ANIM: u32 = 1239;
        pub const SMSG_FORCE_ANIM: u16 = 1240;
        pub const CMSG_CHAR_FACTION_CHANGE: u32 = 1241;
        pub const SMSG_CHAR_FACTION_CHANGE: u16 = 1242;
        pub const CMSG_PVP_QUEUE_STATS_REQUEST: u32 = 1243;
        pub const SMSG_PVP_QUEUE_STATS: u16 = 1244;
        pub const CMSG_SET_PAID_SERVICE_CHEAT: u32 = 1245;
        pub const SMSG_BATTLEFIELD_MANAGER_ENTRY_INVITE: u16 = 1246;
        pub const CMSG_BATTLEFIELD_MANAGER_ENTRY_INVITE_RESPONSE: u32 = 1247;
        pub const SMSG_BATTLEFIELD_MANAGER_ENTERING: u16 = 1248;
        pub const SMSG_BATTLEFIELD_MANAGER_QUEUE_INVITE: u16 = 1249;
        pub const CMSG_BATTLEFIELD_MANAGER_QUEUE_INVITE_RESPONSE: u32 = 1250;
        pub const CMSG_BATTLEFIELD_MANAGER_QUEUE_REQUEST: u32 = 1251;
        pub const SMSG_BATTLEFIELD_MANAGER_QUEUE_REQUEST_RESPONSE: u16 = 1252;
        pub const SMSG_BATTLEFIELD_MANAGER_EJECT_PENDING: u16 = 1253;
        pub const SMSG_BATTLEFIELD_MANAGER_EJECTED: u16 = 1254;
        pub const CMSG_BATTLEFIELD_MANAGER_EXIT_REQUEST: u32 = 1255;
        pub const SMSG_BATTLEFIELD_MANAGER_STATE_CHANGED: u16 = 1256;
        pub const CMSG_BATTLEFIELD_MANAGER_ADVANCE_STATE: u32 = 1257;
        pub const CMSG_BATTLEFIELD_MANAGER_SET_NEXT_TRANSITION_TIME: u32 = 1258;
        pub const MSG_SET_RAID_DIFFICULTY: u16 = 1259;
        pub const CMSG_XPGAIN: u32 = 1260;
        pub const SMSG_XPGAIN: u16 = 1261;
        pub const SMSG_GMTICKET_RESPONSE_ERROR: u16 = 1262;
        pub const SMSG_GMTICKET_GET_RESPONSE: u16 = 1263;
        pub const CMSG_GMTICKET_RESOLVE_RESPONSE: u32 = 1264;
        pub const SMSG_GMTICKET_RESOLVE_RESPONSE: u16 = 1265;
        pub const SMSG_GMTICKET_CREATE_RESPONSE_TICKET: u16 = 1266;
        pub const CMSG_GM_CREATE_TICKET_RESPONSE: u32 = 1267;
        pub const CMSG_SERVERINFO: u32 = 1268;
        pub const SMSG_SERVERINFO: u16 = 1269;
        pub const CMSG_UI_TIME_REQUEST: u32 = 1270;
        pub const SMSG_UI_TIME: u16 = 1271;
        pub const CMSG_CHAR_RACE_CHANGE: u32 = 1272;
        pub const MSG_VIEW_PHASE_SHIFT: u16 = 1273;
        pub const SMSG_TALENTS_INVOLUNTARILY_RESET: u16 = 1274;
        pub const CMSG_DEBUG_SERVER_GEO: u32 = 1275;
        pub const SMSG_DEBUG_SERVER_GEO: u16 = 1276;
        pub const SMSG_LOOT_UPDATE: u16 = 1277;
        pub const MSG_UPDATE_GROUP_INFO: u16 = 1278;
        pub const CMSG_READY_FOR_ACCOUNT_DATA_TIMES: u32 = 1279;
        pub const CMSG_QUERY_GET_ALL_QUESTS: u32 = 1280;
        pub const SMSG_ALL_QUESTS_COMPLETED: u16 = 1281;
        pub const CMSG_GMLAGREPORT_SUBMIT: u32 = 1282;
        pub const CMSG_AFK_MONITOR_INFO_REQUEST: u32 = 1283;
        pub const SMSG_AFK_MONITOR_INFO_RESPONSE: u16 = 1284;
        pub const CMSG_AFK_MONITOR_INFO_CLEAR: u32 = 1285;
        pub const SMSG_AREA_TRIGGER_NO_CORPSE: u16 = 1286;
        pub const CMSG_GM_NUKE_CHARACTER: u32 = 1287;
        pub const CMSG_LOW_LEVEL_RAID: u32 = 1288;
        pub const CMSG_LOW_LEVEL_RAID_USER: u32 = 1289;
        pub const SMSG_CAMERA_SHAKE: u16 = 1290;
        pub const SMSG_SOCKET_GEMS_RESULT: u16 = 1291;
        pub const CMSG_SET_CHARACTER_MODEL: u32 = 1292;
        pub const SMSG_CONNECT_TO: u16 = 1293;
        pub const CMSG_CONNECT_TO_FAILED: u32 = 1294;
        pub const SMSG_SUSPEND_COMMS: u16 = 1295;
        pub const CMSG_SUSPEND_COMMS_ACK: u32 = 1296;
        pub const SMSG_RESUME_COMMS: u16 = 1297;
        pub const CMSG_AUTH_CONTINUED_SESSION: u32 = 1298;
        pub const CMSG_DROP_NEW_CONNECTION: u32 = 1299;
        pub const SMSG_SEND_ALL_COMBAT_LOG: u16 = 1300;
        pub const SMSG_OPEN_LFG_DUNGEON_FINDER: u16 = 1301;
        pub const SMSG_MOVE_SET_COLLISION_HGT: u16 = 1302;
        pub const CMSG_MOVE_SET_COLLISION_HGT_ACK: u32 = 1303;
        pub const MSG_MOVE_SET_COLLISION_HGT: u16 = 1304;
        pub const CMSG_CLEAR_RANDOM_BG_WIN_TIME: u32 = 1305;
        pub const CMSG_CLEAR_HOLIDAY_BG_WIN_TIME: u32 = 1306;
        pub const CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND: u32 = 1307;
        pub const SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1: u16 = 1308;
        pub const SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2: u16 = 1309;
        pub const SMSG_MULTIPLE_MOVES: u16 = 1310;
    }
}

#[cfg(test)]
mod tests {
    use crate::plugins::wow::wotlk::opcodes::Opcode;

    fn get_type_of<T>(_: &T) -> &str {
        std::any::type_name::<T>()
    }

    #[test]
    fn test_opcode_name() {
        assert_eq!(
            Opcode::get_opcode_name(Opcode::LOGIN_PROOF as u32),
            Some("LOGIN_PROOF".to_string()),
        );
        assert_eq!(
            Opcode::get_opcode_name(Opcode::CMSG_CHAR_ENUM),
            Some("CMSG_CHAR_ENUM".to_string()),
        );
        assert_eq!(
            Opcode::get_opcode_name(Opcode::MSG_MOVE_START_FORWARD as u32),
            Some("MSG_MOVE_START_FORWARD".to_string()),
        );
    }

    #[test]
    fn test_opcode_value() {
        assert_eq!(Opcode::LOGIN_PROOF, 1);
        assert_eq!(Opcode::CMSG_CHAR_ENUM, 55);
        assert_eq!(Opcode::MSG_MOVE_START_FORWARD, 181);
    }

    #[test]
    fn test_opcode_field_type() {
        assert_eq!(get_type_of(&Opcode::LOGIN_PROOF), "u8");
        assert_eq!(get_type_of(&Opcode::CMSG_CHAR_ENUM), "u32");
        assert_eq!(get_type_of(&Opcode::MSG_MOVE_START_FORWARD), "u16");
    }
}

#[non_exhaustive]
pub struct WardenOpcode;
#[allow(dead_code)]
impl WardenOpcode {
    pub const WARDEN_CMSG_MODULE_MISSING: u8 = 0;
    pub const WARDEN_CMSG_MODULE_OK: u8 = 1;
    pub const WARDEN_CMSG_CHEAT_CHECKS_RESULT: u8 = 2;
    pub const WARDEN_CMSG_MEM_CHECKS_RESULT: u8 = 3;
    pub const WARDEN_CMSG_HASH_RESULT: u8 = 4;
    pub const WARDEN_CMSG_MODULE_FAILED: u8 = 5;

    pub const WARDEN_SMSG_MODULE_USE: u8 = 0;
    pub const WARDEN_SMSG_MODULE_CACHE: u8 = 1;
    pub const WARDEN_SMSG_CHEAT_CHECKS_REQUEST: u8 = 2;
    pub const WARDEN_SMSG_MODULE_INITIALIZE: u8 = 3;
    pub const WARDEN_SMSG_MEM_CHECKS_REQUEST: u8 = 4;
    pub const WARDEN_SMSG_HASH_REQUEST: u8 = 5;
}