-
Notifications
You must be signed in to change notification settings - Fork 51
/
eluna_globals.lua
1130 lines (1126 loc) · 73.6 KB
/
eluna_globals.lua
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
--[[
EmuDevs <http:emudevs.com/forum.php>
Eluna Lua Engine <https://github.com/ElunaLuaEngine/Eluna>
Eluna Scripts <https://github.com/ElunaLuaEngine/Scripts>
Eluna Wiki <http://wiki.emudevs.com/doku.php?id=eluna>
Eluna Globals
Copyright (C) 2014 EmuDevs <http://www.emudevs.com/>
--]]
--------------------------------------------------------
--[[
COMMON
--]]
--------------------------------------------------------
-- TIME CONSTANTS
MINUTE = 60
HOUR = MINUTE*60
DAY = HOUR*24
WEEK = DAY*7
MONTH = DAY*30
YEAR = MONTH*12
IN_MILLISECONDS = 1000
-- LOCALE CONSTANTS
LOCALE_enUS = 0
LOCALE_koKR = 1
LOCALE_frFR = 2
LOCALE_deDE = 3
LOCALE_zhCN = 4
LOCALE_zhTW = 5
LOCALE_esES = 6
LOCALE_esMX = 7
LOCALE_ruRU = 8
MAX_LOCALES = 8 -- MAX LOCALES
TOTAL_LOCALES = 9 -- TOTAL LOCALES
-- ACCOUNT TYPES
SEC_PLAYER = 0
SEC_MODERATOR = 1
SEC_GAMEMASTER = 2
SEC_ADMINISTRATOR = 3
SEC_CONSOLE = 4 -- must be always last in list, accounts must have less security level always also
--------------------------------------------------------
--[[
OBJECT FIELDS
--]]
--------------------------------------------------------
-- OBJECT FIELD TYPES
OBJECT_FIELD_GUID = 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
OBJECT_FIELD_TYPE = 0x0002 -- Size: 1, Type: INT, Flags: PUBLIC
OBJECT_FIELD_ENTRY = 0x0003 -- Size: 1, Type: INT, Flags: PUBLIC
OBJECT_FIELD_SCALE_X = 0x0004 -- Size: 1, Type: FLOAT, Flags: PUBLIC
OBJECT_FIELD_PADDING = 0x0005 -- Size: 1, Type: INT, Flags: NONE
local OBJECT_END = 0x0006
local ITEM_END = OBJECT_END + 0x003A
local UNIT_END = OBJECT_END + 0x008E
local PLAYER_END = UNIT_END + 0x049A
local GAMEOBJECT_END = OBJECT_END + 0x000C
local DYNAMICOBJECT_END = OBJECT_END + 0x0006
local CORPSE_END = OBJECT_END + 0x001E
-- ITEM FIELD TYPES
ITEM_FIELD_OWNER = OBJECT_END + 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
ITEM_FIELD_CONTAINED = OBJECT_END + 0x0002 -- Size: 2, Type: LONG, Flags: PUBLIC
ITEM_FIELD_CREATOR = OBJECT_END + 0x0004 -- Size: 2, Type: LONG, Flags: PUBLIC
ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x0006 -- Size: 2, Type: LONG, Flags: PUBLIC
ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x0008 -- Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
ITEM_FIELD_DURATION = OBJECT_END + 0x0009 -- Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x000A -- Size: 5, Type: INT, Flags: OWNER, ITEM_OWNER
ITEM_FIELD_FLAGS = OBJECT_END + 0x000F -- Size: 1, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_1_1 = OBJECT_END + 0x0010 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_1_3 = OBJECT_END + 0x0012 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_2_1 = OBJECT_END + 0x0013 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_2_3 = OBJECT_END + 0x0015 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_3_1 = OBJECT_END + 0x0016 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_3_3 = OBJECT_END + 0x0018 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_4_1 = OBJECT_END + 0x0019 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_4_3 = OBJECT_END + 0x001B -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_5_1 = OBJECT_END + 0x001C -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_5_3 = OBJECT_END + 0x001E -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_6_1 = OBJECT_END + 0x001F -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_6_3 = OBJECT_END + 0x0021 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_7_1 = OBJECT_END + 0x0022 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_7_3 = OBJECT_END + 0x0024 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_8_1 = OBJECT_END + 0x0025 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_8_3 = OBJECT_END + 0x0027 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_9_1 = OBJECT_END + 0x0028 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_9_3 = OBJECT_END + 0x002A -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_10_1 = OBJECT_END + 0x002B -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_10_3 = OBJECT_END + 0x002D -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_11_1 = OBJECT_END + 0x002E -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_11_3 = OBJECT_END + 0x0030 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_12_1 = OBJECT_END + 0x0031 -- Size: 2, Type: INT, Flags: PUBLIC
ITEM_FIELD_ENCHANTMENT_12_3 = OBJECT_END + 0x0033 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x0034 -- Size: 1, Type: INT, Flags: PUBLIC
ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x0035 -- Size: 1, Type: INT, Flags: PUBLIC
ITEM_FIELD_DURABILITY = OBJECT_END + 0x0036 -- Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0037 -- Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0038 -- Size: 1, Type: INT, Flags: PUBLIC
ITEM_FIELD_PAD = OBJECT_END + 0x0039 -- Size: 1, Type: INT, Flags: NONE
-- CONTAINER FIELD TYPES
CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x0000 -- Size: 1, Type: INT, Flags: PUBLIC
CONTAINER_ALIGN_PAD = ITEM_END + 0x0001 -- Size: 1, Type: BYTES, Flags: NONE
CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x0002 -- Size: 72, Type: LONG, Flags: PUBLIC
CONTAINER_END = ITEM_END + 0x004A
-- UNIT FIELD TYPES
UNIT_FIELD_CHARM = OBJECT_END + 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_FIELD_SUMMON = OBJECT_END + 0x0002 -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_FIELD_CRITTER = OBJECT_END + 0x0004 -- Size: 2, Type: LONG, Flags: PRIVATE
UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x0006 -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x0008 -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_FIELD_CREATEDBY = OBJECT_END + 0x000A -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_FIELD_TARGET = OBJECT_END + 0x000C -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x000E -- Size: 2, Type: LONG, Flags: PUBLIC
UNIT_CHANNEL_SPELL = OBJECT_END + 0x0010 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_BYTES_0 = OBJECT_END + 0x0011 -- Size: 1, Type: BYTES, Flags: PUBLIC
UNIT_FIELD_HEALTH = OBJECT_END + 0x0012 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER1 = OBJECT_END + 0x0013 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER2 = OBJECT_END + 0x0014 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER3 = OBJECT_END + 0x0015 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER4 = OBJECT_END + 0x0016 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER5 = OBJECT_END + 0x0017 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER6 = OBJECT_END + 0x0018 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER7 = OBJECT_END + 0x0019 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x001A -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER1 = OBJECT_END + 0x001B -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER2 = OBJECT_END + 0x001C -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER3 = OBJECT_END + 0x001D -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER4 = OBJECT_END + 0x001E -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER5 = OBJECT_END + 0x001F -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER6 = OBJECT_END + 0x0020 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MAXPOWER7 = OBJECT_END + 0x0021 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x0022 -- Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x0029 -- Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_LEVEL = OBJECT_END + 0x0030 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x0031 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x0032 -- Size: 3, Type: INT, Flags: PUBLIC
UNIT_FIELD_FLAGS = OBJECT_END + 0x0035 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x0036 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_AURASTATE = OBJECT_END + 0x0037 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x0038 -- Size: 2, Type: INT, Flags: PUBLIC
UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x003A -- Size: 1, Type: INT, Flags: PRIVATE
UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x003B -- Size: 1, Type: FLOAT, Flags: PUBLIC
UNIT_FIELD_COMBATREACH = OBJECT_END + 0x003C -- Size: 1, Type: FLOAT, Flags: PUBLIC
UNIT_FIELD_DISPLAYID = OBJECT_END + 0x003D -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x003E -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x003F -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x0040 -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x0041 -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x0042 -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x0043 -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
UNIT_FIELD_BYTES_1 = OBJECT_END + 0x0044 -- Size: 1, Type: BYTES, Flags: PUBLIC
UNIT_FIELD_PETNUMBER = OBJECT_END + 0x0045 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x0046 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x0047 -- Size: 1, Type: INT, Flags: OWNER
UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x0048 -- Size: 1, Type: INT, Flags: OWNER
UNIT_DYNAMIC_FLAGS = OBJECT_END + 0x0049 -- Size: 1, Type: INT, Flags: DYNAMIC
UNIT_MOD_CAST_SPEED = OBJECT_END + 0x004A -- Size: 1, Type: FLOAT, Flags: PUBLIC
UNIT_CREATED_BY_SPELL = OBJECT_END + 0x004B -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_NPC_FLAGS = OBJECT_END + 0x004C -- Size: 1, Type: INT, Flags: DYNAMIC
UNIT_NPC_EMOTESTATE = OBJECT_END + 0x004D -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_STAT0 = OBJECT_END + 0x004E -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_STAT1 = OBJECT_END + 0x004F -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_STAT2 = OBJECT_END + 0x0050 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_STAT3 = OBJECT_END + 0x0051 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_STAT4 = OBJECT_END + 0x0052 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_POSSTAT0 = OBJECT_END + 0x0053 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_POSSTAT1 = OBJECT_END + 0x0054 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_POSSTAT2 = OBJECT_END + 0x0055 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_POSSTAT3 = OBJECT_END + 0x0056 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_POSSTAT4 = OBJECT_END + 0x0057 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_NEGSTAT0 = OBJECT_END + 0x0058 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_NEGSTAT1 = OBJECT_END + 0x0059 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_NEGSTAT2 = OBJECT_END + 0x005A -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_NEGSTAT3 = OBJECT_END + 0x005B -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_NEGSTAT4 = OBJECT_END + 0x005C -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_RESISTANCES = OBJECT_END + 0x005D -- Size: 7, Type: INT, Flags: PRIVATE, OWNER, PARTY_LEADER
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x0064 -- Size: 7, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x006B -- Size: 7, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_BASE_MANA = OBJECT_END + 0x0072 -- Size: 1, Type: INT, Flags: PUBLIC
UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x0073 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_BYTES_2 = OBJECT_END + 0x0074 -- Size: 1, Type: BYTES, Flags: PUBLIC
UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x0075 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_ATTACK_POWER_MODS = OBJECT_END + 0x0076 -- Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER
UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0077 -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0078 -- Size: 1, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_RANGED_ATTACK_POWER_MODS = OBJECT_END + 0x0079 -- Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x007A -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x007B -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x007C -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x007D -- Size: 7, Type: INT, Flags: PRIVATE, OWNER
UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0084 -- Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x008B -- Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x008C -- Size: 1, Type: FLOAT, Flags: PUBLIC
UNIT_FIELD_PADDING = OBJECT_END + 0x008D -- Size: 1, Type: INT, Flags: NONE
PLAYER_DUEL_ARBITER = UNIT_END + 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
PLAYER_FLAGS = UNIT_END + 0x0002 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_GUILDID = UNIT_END + 0x0003 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_GUILDRANK = UNIT_END + 0x0004 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_BYTES = UNIT_END + 0x0005 -- Size: 1, Type: BYTES, Flags: PUBLIC
PLAYER_BYTES_2 = UNIT_END + 0x0006 -- Size: 1, Type: BYTES, Flags: PUBLIC
PLAYER_BYTES_3 = UNIT_END + 0x0007 -- Size: 1, Type: BYTES, Flags: PUBLIC
PLAYER_DUEL_TEAM = UNIT_END + 0x0008 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x0009 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_QUEST_LOG_1_1 = UNIT_END + 0x000A -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_1_2 = UNIT_END + 0x000B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_1_3 = UNIT_END + 0x000C -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_1_4 = UNIT_END + 0x000E -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_2_1 = UNIT_END + 0x000F -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_2_2 = UNIT_END + 0x0010 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_2_3 = UNIT_END + 0x0011 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_2_5 = UNIT_END + 0x0013 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_3_1 = UNIT_END + 0x0014 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_3_2 = UNIT_END + 0x0015 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_3_3 = UNIT_END + 0x0016 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_3_5 = UNIT_END + 0x0018 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_4_1 = UNIT_END + 0x0019 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_4_2 = UNIT_END + 0x001A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_4_3 = UNIT_END + 0x001B -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_4_5 = UNIT_END + 0x001D -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_5_1 = UNIT_END + 0x001E -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_5_2 = UNIT_END + 0x001F -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_5_3 = UNIT_END + 0x0020 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_5_5 = UNIT_END + 0x0022 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_6_1 = UNIT_END + 0x0023 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_6_2 = UNIT_END + 0x0024 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_6_3 = UNIT_END + 0x0025 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_6_5 = UNIT_END + 0x0027 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_7_1 = UNIT_END + 0x0028 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_7_2 = UNIT_END + 0x0029 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_7_3 = UNIT_END + 0x002A -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_7_5 = UNIT_END + 0x002C -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_8_1 = UNIT_END + 0x002D -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_8_2 = UNIT_END + 0x002E -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_8_3 = UNIT_END + 0x002F -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_8_5 = UNIT_END + 0x0031 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_9_1 = UNIT_END + 0x0032 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_9_2 = UNIT_END + 0x0033 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_9_3 = UNIT_END + 0x0034 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_9_5 = UNIT_END + 0x0036 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_10_1 = UNIT_END + 0x0037 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_10_2 = UNIT_END + 0x0038 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_10_3 = UNIT_END + 0x0039 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_10_5 = UNIT_END + 0x003B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_11_1 = UNIT_END + 0x003C -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_11_2 = UNIT_END + 0x003D -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_11_3 = UNIT_END + 0x003E -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_11_5 = UNIT_END + 0x0040 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_12_1 = UNIT_END + 0x0041 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_12_2 = UNIT_END + 0x0042 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_12_3 = UNIT_END + 0x0043 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_12_5 = UNIT_END + 0x0045 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_13_1 = UNIT_END + 0x0046 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_13_2 = UNIT_END + 0x0047 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_13_3 = UNIT_END + 0x0048 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_13_5 = UNIT_END + 0x004A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_14_1 = UNIT_END + 0x004B -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_14_2 = UNIT_END + 0x004C -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_14_3 = UNIT_END + 0x004D -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_14_5 = UNIT_END + 0x004F -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_15_1 = UNIT_END + 0x0050 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_15_2 = UNIT_END + 0x0051 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_15_3 = UNIT_END + 0x0052 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_15_5 = UNIT_END + 0x0054 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_16_1 = UNIT_END + 0x0055 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_16_2 = UNIT_END + 0x0056 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_16_3 = UNIT_END + 0x0057 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_16_5 = UNIT_END + 0x0059 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_17_1 = UNIT_END + 0x005A -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_17_2 = UNIT_END + 0x005B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_17_3 = UNIT_END + 0x005C -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_17_5 = UNIT_END + 0x005E -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_18_1 = UNIT_END + 0x005F -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_18_2 = UNIT_END + 0x0060 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_18_3 = UNIT_END + 0x0061 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_18_5 = UNIT_END + 0x0063 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_19_1 = UNIT_END + 0x0064 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_19_2 = UNIT_END + 0x0065 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_19_3 = UNIT_END + 0x0066 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_19_5 = UNIT_END + 0x0068 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_20_1 = UNIT_END + 0x0069 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_20_2 = UNIT_END + 0x006A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_20_3 = UNIT_END + 0x006B -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_20_5 = UNIT_END + 0x006D -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_21_1 = UNIT_END + 0x006E -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_21_2 = UNIT_END + 0x006F -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_21_3 = UNIT_END + 0x0070 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_21_5 = UNIT_END + 0x0072 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_22_1 = UNIT_END + 0x0073 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_22_2 = UNIT_END + 0x0074 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_22_3 = UNIT_END + 0x0075 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_22_5 = UNIT_END + 0x0077 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_23_1 = UNIT_END + 0x0078 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_23_2 = UNIT_END + 0x0079 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_23_3 = UNIT_END + 0x007A -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_23_5 = UNIT_END + 0x007C -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_24_1 = UNIT_END + 0x007D -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_24_2 = UNIT_END + 0x007E -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_24_3 = UNIT_END + 0x007F -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_24_5 = UNIT_END + 0x0081 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_25_1 = UNIT_END + 0x0082 -- Size: 1, Type: INT, Flags: PARTY_MEMBER
PLAYER_QUEST_LOG_25_2 = UNIT_END + 0x0083 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_QUEST_LOG_25_3 = UNIT_END + 0x0084 -- Size: 2, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_QUEST_LOG_25_5 = UNIT_END + 0x0086 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_VISIBLE_ITEM_1_ENTRYID = UNIT_END + 0x0087 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_1_ENCHANTMENT = UNIT_END + 0x0088 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_2_ENTRYID = UNIT_END + 0x0089 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_2_ENCHANTMENT = UNIT_END + 0x008A -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_3_ENTRYID = UNIT_END + 0x008B -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_3_ENCHANTMENT = UNIT_END + 0x008C -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_4_ENTRYID = UNIT_END + 0x008D -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_4_ENCHANTMENT = UNIT_END + 0x008E -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_5_ENTRYID = UNIT_END + 0x008F -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_5_ENCHANTMENT = UNIT_END + 0x0090 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_6_ENTRYID = UNIT_END + 0x0091 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_6_ENCHANTMENT = UNIT_END + 0x0092 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_7_ENTRYID = UNIT_END + 0x0093 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_7_ENCHANTMENT = UNIT_END + 0x0094 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_8_ENTRYID = UNIT_END + 0x0095 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_8_ENCHANTMENT = UNIT_END + 0x0096 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_9_ENTRYID = UNIT_END + 0x0097 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_9_ENCHANTMENT = UNIT_END + 0x0098 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_10_ENTRYID = UNIT_END + 0x0099 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_10_ENCHANTMENT = UNIT_END + 0x009A -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_11_ENTRYID = UNIT_END + 0x009B -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_11_ENCHANTMENT = UNIT_END + 0x009C -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_12_ENTRYID = UNIT_END + 0x009D -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_12_ENCHANTMENT = UNIT_END + 0x009E -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_13_ENTRYID = UNIT_END + 0x009F -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_13_ENCHANTMENT = UNIT_END + 0x00A0 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_14_ENTRYID = UNIT_END + 0x00A1 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_14_ENCHANTMENT = UNIT_END + 0x00A2 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_15_ENTRYID = UNIT_END + 0x00A3 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_15_ENCHANTMENT = UNIT_END + 0x00A4 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_16_ENTRYID = UNIT_END + 0x00A5 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_16_ENCHANTMENT = UNIT_END + 0x00A6 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_17_ENTRYID = UNIT_END + 0x00A7 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_17_ENCHANTMENT = UNIT_END + 0x00A8 -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_18_ENTRYID = UNIT_END + 0x00A9 -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_18_ENCHANTMENT = UNIT_END + 0x00AA -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_19_ENTRYID = UNIT_END + 0x00AB -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_VISIBLE_ITEM_19_ENCHANTMENT = UNIT_END + 0x00AC -- Size: 1, Type: TWO_SHORT, Flags: PUBLIC
PLAYER_CHOSEN_TITLE = UNIT_END + 0x00AD -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_FAKE_INEBRIATION = UNIT_END + 0x00AE -- Size: 1, Type: INT, Flags: PUBLIC
PLAYER_FIELD_PAD_0 = UNIT_END + 0x00AF -- Size: 1, Type: INT, Flags: NONE
PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x00B0 -- Size: 46, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_PACK_SLOT_1 = UNIT_END + 0x00DE -- Size: 32, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_BANK_SLOT_1 = UNIT_END + 0x00FE -- Size: 56, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_BANKBAG_SLOT_1 = UNIT_END + 0x0136 -- Size: 14, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_VENDORBUYBACK_SLOT_1 = UNIT_END + 0x0144 -- Size: 24, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_KEYRING_SLOT_1 = UNIT_END + 0x015C -- Size: 64, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_CURRENCYTOKEN_SLOT_1 = UNIT_END + 0x019C -- Size: 64, Type: LONG, Flags: PRIVATE
PLAYER_FARSIGHT = UNIT_END + 0x01DC -- Size: 2, Type: LONG, Flags: PRIVATE
PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x01DE -- Size: 2, Type: LONG, Flags: PRIVATE
PLAYER__FIELD_KNOWN_TITLES1 = UNIT_END + 0x01E0 -- Size: 2, Type: LONG, Flags: PRIVATE
PLAYER__FIELD_KNOWN_TITLES2 = UNIT_END + 0x01E2 -- Size: 2, Type: LONG, Flags: PRIVATE
PLAYER_FIELD_KNOWN_CURRENCIES = UNIT_END + 0x01E4 -- Size: 2, Type: LONG, Flags: PRIVATE
PLAYER_XP = UNIT_END + 0x01E6 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x01E7 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_SKILL_INFO_1_1 = UNIT_END + 0x01E8 -- Size: 384, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_CHARACTER_POINTS1 = UNIT_END + 0x0368 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_CHARACTER_POINTS2 = UNIT_END + 0x0369 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_TRACK_CREATURES = UNIT_END + 0x036A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_TRACK_RESOURCES = UNIT_END + 0x036B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x036C -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x036D -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x036E -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_EXPERTISE = UNIT_END + 0x036F -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_OFFHAND_EXPERTISE = UNIT_END + 0x0370 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x0371 -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x0372 -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x0373 -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x0374 -- Size: 7, Type: FLOAT, Flags: PRIVATE
PLAYER_SHIELD_BLOCK = UNIT_END + 0x037B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x037C -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x037D -- Size: 128, Type: BYTES, Flags: PRIVATE
PLAYER_REST_STATE_EXPERIENCE = UNIT_END + 0x03FD -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_COINAGE = UNIT_END + 0x03FE -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x03FF -- Size: 7, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x0406 -- Size: 7, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x040D -- Size: 7, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x0414 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x0415 -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x0416 -- Size: 1, Type: FLOAT, Flags: PRIVATE
PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x0417 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x0418 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_BYTES = UNIT_END + 0x0419 -- Size: 1, Type: BYTES, Flags: PRIVATE
PLAYER_AMMO_ID = UNIT_END + 0x041A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_SELF_RES_SPELL = UNIT_END + 0x041B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x041C -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x041D -- Size: 12, Type: INT, Flags: PRIVATE
PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x0429 -- Size: 12, Type: INT, Flags: PRIVATE
PLAYER_FIELD_KILLS = UNIT_END + 0x0435 -- Size: 1, Type: TWO_SHORT, Flags: PRIVATE
PLAYER_FIELD_TODAY_CONTRIBUTION = UNIT_END + 0x0436 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_YESTERDAY_CONTRIBUTION = UNIT_END + 0x0437 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x0438 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_BYTES2 = UNIT_END + 0x0439 -- Size: 1, Type: 6, Flags: PRIVATE
PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x043A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x043B -- Size: 25, Type: INT, Flags: PRIVATE
PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x0454 -- Size: 21, Type: INT, Flags: PRIVATE
PLAYER_FIELD_HONOR_CURRENCY = UNIT_END + 0x0469 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_ARENA_CURRENCY = UNIT_END + 0x046A -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x046B -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_FIELD_DAILY_QUESTS_1 = UNIT_END + 0x046C -- Size: 25, Type: INT, Flags: PRIVATE
PLAYER_RUNE_REGEN_1 = UNIT_END + 0x0485 -- Size: 4, Type: FLOAT, Flags: PRIVATE
PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x0489 -- Size: 3, Type: INT, Flags: PRIVATE
PLAYER_FIELD_GLYPH_SLOTS_1 = UNIT_END + 0x048C -- Size: 6, Type: INT, Flags: PRIVATE
PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x0492 -- Size: 6, Type: INT, Flags: PRIVATE
PLAYER_GLYPHS_ENABLED = UNIT_END + 0x0498 -- Size: 1, Type: INT, Flags: PRIVATE
PLAYER_PET_SPELL_POWER = UNIT_END + 0x0499 -- Size: 1, Type: INT, Flags: PRIVATE
-- GAMEOBJECT FIELD TYPES
OBJECT_FIELD_CREATED_BY = OBJECT_END + 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
GAMEOBJECT_DISPLAYID = OBJECT_END + 0x0002 -- Size: 1, Type: INT, Flags: PUBLIC
GAMEOBJECT_FLAGS = OBJECT_END + 0x0003 -- Size: 1, Type: INT, Flags: PUBLIC
GAMEOBJECT_PARENTROTATION = OBJECT_END + 0x0004 -- Size: 4, Type: FLOAT, Flags: PUBLIC
GAMEOBJECT_DYNAMIC = OBJECT_END + 0x0008 -- Size: 1, Type: TWO_SHORT, Flags: DYNAMIC
GAMEOBJECT_FACTION = OBJECT_END + 0x0009 -- Size: 1, Type: INT, Flags: PUBLIC
GAMEOBJECT_LEVEL = OBJECT_END + 0x000A -- Size: 1, Type: INT, Flags: PUBLIC
GAMEOBJECT_BYTES_1 = OBJECT_END + 0x000B -- Size: 1, Type: BYTES, Flags: PUBLIC
-- DYNAMIC FIELD TYPES
DYNAMICOBJECT_CASTER = OBJECT_END + 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
DYNAMICOBJECT_BYTES = OBJECT_END + 0x0002 -- Size: 1, Type: BYTES, Flags: PUBLIC
DYNAMICOBJECT_SPELLID = OBJECT_END + 0x0003 -- Size: 1, Type: INT, Flags: PUBLIC
DYNAMICOBJECT_RADIUS = OBJECT_END + 0x0004 -- Size: 1, Type: FLOAT, Flags: PUBLIC
DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x0005 -- Size: 1, Type: INT, Flags: PUBLIC
-- CORPSE FIELD TYPES
CORPSE_FIELD_OWNER = OBJECT_END + 0x0000 -- Size: 2, Type: LONG, Flags: PUBLIC
CORPSE_FIELD_PARTY = OBJECT_END + 0x0002 -- Size: 2, Type: LONG, Flags: PUBLIC
CORPSE_FIELD_DISPLAY_ID = OBJECT_END + 0x0004 -- Size: 1, Type: INT, Flags: PUBLIC
CORPSE_FIELD_ITEM = OBJECT_END + 0x0005 -- Size: 19, Type: INT, Flags: PUBLIC
CORPSE_FIELD_BYTES_1 = OBJECT_END + 0x0018 -- Size: 1, Type: BYTES, Flags: PUBLIC
CORPSE_FIELD_BYTES_2 = OBJECT_END + 0x0019 -- Size: 1, Type: BYTES, Flags: PUBLIC
CORPSE_FIELD_GUILD = OBJECT_END + 0x001A -- Size: 1, Type: INT, Flags: PUBLIC
CORPSE_FIELD_FLAGS = OBJECT_END + 0x001B -- Size: 1, Type: INT, Flags: PUBLIC
CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x001C -- Size: 1, Type: INT, Flags: DYNAMIC
CORPSE_FIELD_PAD = OBJECT_END + 0x001D -- Size: 1, Type: INT, Flags: NONE
--------------------------------------------------------
--[[
ITEM PROTOTYPES
--]]
--------------------------------------------------------
MAX_ITEM_PROTO_DAMAGES = 2
MAX_ITEM_PROTO_SOCKETS = 3
MAX_ITEM_PROTO_SPELLS = 5
MAX_ITEM_PROTO_STATS = 10
-- ITEM MOD TYPES
ITEM_MOD_MANA = 0
ITEM_MOD_HEALTH = 1
ITEM_MOD_AGILITY = 3
ITEM_MOD_STRENGTH = 4
ITEM_MOD_INTELLECT = 5
ITEM_MOD_SPIRIT = 6
ITEM_MOD_STAMINA = 7
ITEM_MOD_DEFENSE_SKILL_RATING = 12
ITEM_MOD_DODGE_RATING = 13
ITEM_MOD_PARRY_RATING = 14
ITEM_MOD_BLOCK_RATING = 15
ITEM_MOD_HIT_MELEE_RATING = 16
ITEM_MOD_HIT_RANGED_RATING = 17
ITEM_MOD_HIT_SPELL_RATING = 18
ITEM_MOD_CRIT_MELEE_RATING = 19
ITEM_MOD_CRIT_RANGED_RATING = 20
ITEM_MOD_CRIT_SPELL_RATING = 21
ITEM_MOD_HIT_TAKEN_MELEE_RATING = 22
ITEM_MOD_HIT_TAKEN_RANGED_RATING = 23
ITEM_MOD_HIT_TAKEN_SPELL_RATING = 24
ITEM_MOD_CRIT_TAKEN_MELEE_RATING = 25
ITEM_MOD_CRIT_TAKEN_RANGED_RATING = 26
ITEM_MOD_CRIT_TAKEN_SPELL_RATING = 27
ITEM_MOD_HASTE_MELEE_RATING = 28
ITEM_MOD_HASTE_RANGED_RATING = 29
ITEM_MOD_HASTE_SPELL_RATING = 30
ITEM_MOD_HIT_RATING = 31
ITEM_MOD_CRIT_RATING = 32
ITEM_MOD_HIT_TAKEN_RATING = 33
ITEM_MOD_CRIT_TAKEN_RATING = 34
ITEM_MOD_RESILIENCE_RATING = 35
ITEM_MOD_HASTE_RATING = 36
ITEM_MOD_EXPERTISE_RATING = 37
ITEM_MOD_ATTACK_POWER = 38
ITEM_MOD_RANGED_ATTACK_POWER = 39
ITEM_MOD_SPELL_HEALING_DONE = 41
ITEM_MOD_SPELL_DAMAGE_DONE = 42
ITEM_MOD_MANA_REGENERATION = 43
ITEM_MOD_ARMOR_PENETRATION_RATING = 44
ITEM_MOD_SPELL_POWER = 45
ITEM_MOD_HEALTH_REGEN = 46
ITEM_MOD_SPELL_PENETRATION = 47
ITEM_MOD_BLOCK_VALUE = 48
MAX_ITEM_MOD = 49 -- MAX ITEM MOD
-- ITEM SPELL TRIGGER TYPES
ITEM_SPELLTRIGGER_ON_USE = 0
ITEM_SPELLTRIGGER_ON_EQUIP = 1
ITEM_SPELLTRIGGER_CHANCE_ON_HIT = 2
ITEM_SPELLTRIGGER_SOULSTONE = 4
ITEM_SPELLTRIGGER_ON_NO_DELAY_USE = 5
ITEM_SPELLTRIGGER_LEARN_SPELL_ID = 6
-- ITEM BONDING TYPES
NO_BIND = 0
BIND_WHEN_PICKED_UP = 1
BIND_WHEN_EQUIPED = 2
BIND_WHEN_USE = 3
BIND_QUEST_ITEM = 4
BIND_QUEST_ITEM1 = 5
-- ITEM PROTO FLAGS
ITEM_PROTO_FLAG_UNK1 = 0x00000001
ITEM_PROTO_FLAG_CONJURED = 0x00000002 -- Conjured item
ITEM_PROTO_FLAG_OPENABLE = 0x00000004 -- Item can be right clicked to open for loot
ITEM_PROTO_FLAG_HEROIC = 0x00000008 -- Makes green "Heroic" text appear on item
ITEM_PROTO_FLAG_DEPRECATED = 0x00000010 -- Cannot equip or use
ITEM_PROTO_FLAG_INDESTRUCTIBLE = 0x00000020 -- Item can not be destroyed except by using spell (item can be reagent for spell)
ITEM_PROTO_FLAG_UNK2 = 0x00000040
ITEM_PROTO_FLAG_NO_EQUIP_COOLDOWN = 0x00000080 -- No default 30 seconds cooldown when equipped
ITEM_PROTO_FLAG_UNK3 = 0x00000100
ITEM_PROTO_FLAG_WRAPPER = 0x00000200 -- Item can wrap other items
ITEM_PROTO_FLAG_UNK4 = 0x00000400
ITEM_PROTO_FLAG_PARTY_LOOT = 0x00000800 -- Looting this item does not remove it from available loot
ITEM_PROTO_FLAG_REFUNDABLE = 0x00001000 -- Item can be returned to vendor for its original cost (extended cost)
ITEM_PROTO_FLAG_CHARTER = 0x00002000 -- Item is guild or arena charter
ITEM_PROTO_FLAG_UNK5 = 0x00004000 -- Only readable items have this (but not all)
ITEM_PROTO_FLAG_UNK6 = 0x00008000
ITEM_PROTO_FLAG_UNK7 = 0x00010000
ITEM_PROTO_FLAG_UNK8 = 0x00020000
ITEM_PROTO_FLAG_PROSPECTABLE = 0x00040000 -- Item can be prospected
ITEM_PROTO_FLAG_UNIQUE_EQUIPPED = 0x00080000 -- You can only equip one of these
ITEM_PROTO_FLAG_UNK9 = 0x00100000
ITEM_PROTO_FLAG_USEABLE_IN_ARENA = 0x00200000 -- Item can be used during arena match
ITEM_PROTO_FLAG_THROWABLE = 0x00400000 -- Some Thrown weapons have it (and only Thrown) but not all
ITEM_PROTO_FLAG_USABLE_WHEN_SHAPESHIFTED = 0x00800000 -- Item can be used in shapeshift forms
ITEM_PROTO_FLAG_UNK10 = 0x01000000
ITEM_PROTO_FLAG_SMART_LOOT = 0x02000000 -- Profession recipes: can only be looted if you meet requirements and don't already know it
ITEM_PROTO_FLAG_NOT_USEABLE_IN_ARENA = 0x04000000 -- Item cannot be used in arena
ITEM_PROTO_FLAG_BIND_TO_ACCOUNT = 0x08000000 -- Item binds to account and can be sent only to your own characters
ITEM_PROTO_FLAG_TRIGGERED_CAST = 0x10000000 -- Spell is cast with triggered flag
ITEM_PROTO_FLAG_MILLABLE = 0x20000000 -- Item can be milled
ITEM_PROTO_FLAG_UNK11 = 0x40000000
ITEM_PROTO_FLAG_UNK12 = 0x80000000
-- ITEM FIELD FLAGS
ITEM_FLAG_SOULBOUND = 0x00000001 -- Item is soulbound and cannot be traded
ITEM_FLAG_UNK1 = 0x00000002
ITEM_FLAG_UNLOCKED = 0x00000004 -- Item had lock but can be opened now
ITEM_FLAG_WRAPPED = 0x00000008 -- Item is wrapped and contains another item
ITEM_FLAG_UNK2 = 0x00000010
ITEM_FLAG_UNK3 = 0x00000020
ITEM_FLAG_UNK4 = 0x00000040
ITEM_FLAG_UNK5 = 0x00000080
ITEM_FLAG_BOP_TRADEABLE = 0x00000100 -- Allows trading soulbound items
ITEM_FLAG_READABLE = 0x00000200 -- Opens text page when right clicked
ITEM_FLAG_UNK6 = 0x00000400
ITEM_FLAG_UNK7 = 0x00000800
ITEM_FLAG_REFUNDABLE = 0x00001000 -- Item can be returned to vendor for its original cost (extended cost)
ITEM_FLAG_UNK8 = 0x00002000
ITEM_FLAG_UNK9 = 0x00004000
ITEM_FLAG_UNK10 = 0x00008000
ITEM_FLAG_UNK11 = 0x00010000
ITEM_FLAG_UNK12 = 0x00020000
ITEM_FLAG_UNK13 = 0x00040000
ITEM_FLAG_UNK14 = 0x00080000
ITEM_FLAG_UNK15 = 0x00100000
ITEM_FLAG_UNK16 = 0x00200000
ITEM_FLAG_UNK17 = 0x00400000
ITEM_FLAG_UNK18 = 0x00800000
ITEM_FLAG_UNK19 = 0x01000000
ITEM_FLAG_UNK20 = 0x02000000
ITEM_FLAG_UNK21 = 0x04000000
ITEM_FLAG_UNK22 = 0x08000000
ITEM_FLAG_UNK23 = 0x10000000
ITEM_FLAG_UNK24 = 0x20000000
ITEM_FLAG_UNK25 = 0x40000000
ITEM_FLAG_UNK26 = 0x80000000
ITEM_FLAG_MAIL_TEXT_MASK = 786944
-- ITEM FLAGS EXTRA
ITEM_FLAGS_EXTRA_HORDE_ONLY = 0x00000001
ITEM_FLAGS_EXTRA_ALLIANCE_ONLY = 0x00000002
ITEM_FLAGS_EXTRA_EXT_COST_REQUIRES_GOLD = 0x00000004 -- when item uses extended cost, gold is also required
ITEM_FLAGS_EXTRA_NEED_ROLL_DISABLED = 0x00000100
-- ITEM FLAGS CUSTOM
ITEM_FLAGS_CU_DURATION_REAL_TIME = 0x0001 -- Item duration will tick even if player is offline
ITEM_FLAGS_CU_IGNORE_QUEST_STATUS = 0x0002 -- No quest status will be checked when this item drops
ITEM_FLAGS_CU_FOLLOW_LOOT_RULES = 0x0004 -- Item will always follow group/master/need before greed looting rules
-- ITEM CLASS
ITEM_CLASS_CONSUMABLE = 0
ITEM_CLASS_CONTAINER = 1
ITEM_CLASS_WEAPON = 2
ITEM_CLASS_GEM = 3
ITEM_CLASS_ARMOR = 4
ITEM_CLASS_REAGENT = 5
ITEM_CLASS_PROJECTILE = 6
ITEM_CLASS_TRADE_GOODS = 7
ITEM_CLASS_GENERIC = 8
ITEM_CLASS_RECIPE = 9
ITEM_CLASS_MONEY = 10
ITEM_CLASS_QUIVER = 11
ITEM_CLASS_QUEST = 12
ITEM_CLASS_KEY = 13
ITEM_CLASS_PERMANENT = 14
ITEM_CLASS_MISC = 15
ITEM_CLASS_GLYPH = 16
MAX_ITEM_CLASS = 17 -- MAX ITEM CLASS
-- ITEM SUBCLASS CONSUMABLE
ITEM_SUBCLASS_CONSUMABLE = 0
ITEM_SUBCLASS_POTION = 1
ITEM_SUBCLASS_ELIXIR = 2
ITEM_SUBCLASS_FLASK = 3
ITEM_SUBCLASS_SCROLL = 4
ITEM_SUBCLASS_FOOD = 5
ITEM_SUBCLASS_ITEM_ENHANCEMENT = 6
ITEM_SUBCLASS_BANDAGE = 7
ITEM_SUBCLASS_CONSUMABLE_OTHER = 8
MAX_ITEM_SUBCLASS_CONSUMABLE = 9 -- MAX ITEM SUBCLASS CONSUMABLE
-- ITEM SUBCLASS CONTAINER
ITEM_SUBCLASS_CONTAINER = 0
ITEM_SUBCLASS_SOUL_CONTAINER = 1
ITEM_SUBCLASS_HERB_CONTAINER = 2
ITEM_SUBCLASS_ENCHANTING_CONTAINER = 3
ITEM_SUBCLASS_ENGINEERING_CONTAINER = 4
ITEM_SUBCLASS_GEM_CONTAINER = 5
ITEM_SUBCLASS_MINING_CONTAINER = 6
ITEM_SUBCLASS_LEATHERWORKING_CONTAINER = 7
ITEM_SUBCLASS_INSCRIPTION_CONTAINER = 8
MAX_ITEM_SUBCLASS_CONTAINER = 9 -- MAX ITEM SUBCLASS CONTAINER
-- ITEM SUBCLASS WEAPON
ITEM_SUBCLASS_WEAPON_AXE = 0
ITEM_SUBCLASS_WEAPON_AXE2 = 1
ITEM_SUBCLASS_WEAPON_BOW = 2
ITEM_SUBCLASS_WEAPON_GUN = 3
ITEM_SUBCLASS_WEAPON_MACE = 4
ITEM_SUBCLASS_WEAPON_MACE2 = 5
ITEM_SUBCLASS_WEAPON_POLEARM = 6
ITEM_SUBCLASS_WEAPON_SWORD = 7
ITEM_SUBCLASS_WEAPON_SWORD2 = 8
ITEM_SUBCLASS_WEAPON_obsolete = 9
ITEM_SUBCLASS_WEAPON_STAFF = 10
ITEM_SUBCLASS_WEAPON_EXOTIC = 11
ITEM_SUBCLASS_WEAPON_EXOTIC2 = 12
ITEM_SUBCLASS_WEAPON_FIST = 13
ITEM_SUBCLASS_WEAPON_MISC = 14
ITEM_SUBCLASS_WEAPON_DAGGER = 15
ITEM_SUBCLASS_WEAPON_THROWN = 16
ITEM_SUBCLASS_WEAPON_SPEAR = 17
ITEM_SUBCLASS_WEAPON_CROSSBOW = 18
ITEM_SUBCLASS_WEAPON_WAND = 19
ITEM_SUBCLASS_WEAPON_FISHING_POLE = 20
MAX_ITEM_SUBCLASS_WEAPON = 21 -- MAX ITEM SUBCLASS WEAPON
-- ITEM SUBCLASS GEM
ITEM_SUBCLASS_GEM_RED = 0
ITEM_SUBCLASS_GEM_BLUE = 1
ITEM_SUBCLASS_GEM_YELLOW = 2
ITEM_SUBCLASS_GEM_PURPLE = 3
ITEM_SUBCLASS_GEM_GREEN = 4
ITEM_SUBCLASS_GEM_ORANGE = 5
ITEM_SUBCLASS_GEM_META = 6
ITEM_SUBCLASS_GEM_SIMPLE = 7
ITEM_SUBCLASS_GEM_PRISMATIC = 8
MAX_ITEM_SUBCLASS_GEM = 9 -- MAX ITEM SUBCLASS GEM
-- ITEM SUBCLASS ARMOR
ITEM_SUBCLASS_ARMOR_MISC = 0
ITEM_SUBCLASS_ARMOR_CLOTH = 1
ITEM_SUBCLASS_ARMOR_LEATHER = 2
ITEM_SUBCLASS_ARMOR_MAIL = 3
ITEM_SUBCLASS_ARMOR_PLATE = 4
ITEM_SUBCLASS_ARMOR_BUCKLER = 5
ITEM_SUBCLASS_ARMOR_SHIELD = 6
ITEM_SUBCLASS_ARMOR_LIBRAM = 7
ITEM_SUBCLASS_ARMOR_IDOL = 8
ITEM_SUBCLASS_ARMOR_TOTEM = 9
ITEM_SUBCLASS_ARMOR_SIGIL = 10
MAX_ITEM_SUBCLASS_ARMOR = 11 -- MAX ITEM SUBCLASS ARMOR
-- ITEM SUBCLASS REAGENT
ITEM_SUBCLASS_REAGENT = 0
MAX_ITEM_SUBCLASS_REAGENT = 1 -- MAX ITEM SUBCLASS REAGENT
-- ITEM SUBCLASS PROJECTILE
ITEM_SUBCLASS_WAND = 0
ITEM_SUBCLASS_BOLT = 1
ITEM_SUBCLASS_ARROW = 2
ITEM_SUBCLASS_BULLET = 3
ITEM_SUBCLASS_THROWN = 4
MAX_ITEM_SUBCLASS_PROJECTILE = 5 -- MAX ITEM SUBCLASS PROJECTILE
-- ITEM SUBCLASS TRADE GOODS
ITEM_SUBCLASS_TRADE_GOODS = 0
ITEM_SUBCLASS_PARTS = 1
ITEM_SUBCLASS_EXPLOSIVES = 2
ITEM_SUBCLASS_DEVICES = 3
ITEM_SUBCLASS_JEWELCRAFTING = 4
ITEM_SUBCLASS_CLOTH = 5
ITEM_SUBCLASS_LEATHER = 6
ITEM_SUBCLASS_METAL_STONE = 7
ITEM_SUBCLASS_MEAT = 8
ITEM_SUBCLASS_HERB = 9
ITEM_SUBCLASS_ELEMENTAL = 10
ITEM_SUBCLASS_TRADE_GOODS_OTHER = 11
ITEM_SUBCLASS_ENCHANTING = 12
ITEM_SUBCLASS_MATERIAL = 13
ITEM_SUBCLASS_ARMOR_ENCHANTMENT = 14
ITEM_SUBCLASS_WEAPON_ENCHANTMENT = 15
MAX_ITEM_SUBCLASS_TRADE_GOODS = 16 -- MAX ITEM SUBCLASS TRADE GOODS
-- ITEM SUBCLASS GENERIC
ITEM_SUBCLASS_GENERIC = 0
MAX_ITEM_SUBCLASS_GENERIC = 1 -- MAX ITEM SUBCLASS GENERIC
-- ITEM SUBCLASS RECIPE
ITEM_SUBCLASS_BOOK = 0
ITEM_SUBCLASS_LEATHERWORKING_PATTERN = 1
ITEM_SUBCLASS_TAILORING_PATTERN = 2
ITEM_SUBCLASS_ENGINEERING_SCHEMATIC = 3
ITEM_SUBCLASS_BLACKSMITHING = 4
ITEM_SUBCLASS_COOKING_RECIPE = 5
ITEM_SUBCLASS_ALCHEMY_RECIPE = 6
ITEM_SUBCLASS_FIRST_AID_MANUAL = 7
ITEM_SUBCLASS_ENCHANTING_FORMULA = 8
ITEM_SUBCLASS_FISHING_MANUAL = 9
ITEM_SUBCLASS_JEWELCRAFTING_RECIPE = 10
MAX_ITEM_SUBCLASS_RECIPE = 11 -- MAX ITEM SUBCLASS RECIPE
-- ITEM SUBCLASS MONEY
ITEM_SUBCLASS_MONEY = 0
MAX_ITEM_SUBCLASS_MONEY = 1 -- MAX ITEM SUBCLASS MONEY
-- ITEM SUBCLASS QUIVER
ITEM_SUBCLASS_QUIVER0 = 0
ITEM_SUBCLASS_QUIVER1 = 1
ITEM_SUBCLASS_QUIVER = 2
ITEM_SUBCLASS_AMMO_POUCH = 3
MAX_ITEM_SUBCLASS_QUIVER = 4 -- MAX ITEM SUBCLASS QUIVER
-- ITEM SUBCLASS QUEST
ITEM_SUBCLASS_QUEST = 0
MAX_ITEM_SUBCLASS_QUEST = 1 -- MAX ITEM SUBCLASS QUEST
-- ITEM SUBCLASS KEY
ITEM_SUBCLASS_KEY = 0
ITEM_SUBCLASS_LOCKPICK = 1
MAX_ITEM_SUBCLASS_KEY = 2 -- MAX ITEM SUBCLASS KEY
-- ITEM SUBCLASS PERMANENT
ITEM_SUBCLASS_PERMANENT = 0
MAX_ITEM_SUBCLASS_PERMANENT = 1 -- MAX ITEM SUBCLASS PERMANENT
-- ITEM SUBCLASS JUNK
ITEM_SUBCLASS_JUNK = 0
ITEM_SUBCLASS_JUNK_REAGENT = 1
ITEM_SUBCLASS_JUNK_PET = 2
ITEM_SUBCLASS_JUNK_HOLIDAY = 3
ITEM_SUBCLASS_JUNK_OTHER = 4
ITEM_SUBCLASS_JUNK_MOUNT = 5
MAX_ITEM_SUBCLASS_JUNK = 6 -- MAX ITEM SUBCLASS JUNK
-- ITEM SUBCLASS GLYPH
ITEM_SUBCLASS_GLYPH_WARRIOR = 1
ITEM_SUBCLASS_GLYPH_PALADIN = 2
ITEM_SUBCLASS_GLYPH_HUNTER = 3
ITEM_SUBCLASS_GLYPH_ROGUE = 4
ITEM_SUBCLASS_GLYPH_PRIEST = 5
ITEM_SUBCLASS_GLYPH_DEATH_KNIGHT = 6
ITEM_SUBCLASS_GLYPH_SHAMAN = 7
ITEM_SUBCLASS_GLYPH_MAGE = 8
ITEM_SUBCLASS_GLYPH_WARLOCK = 9
ITEM_SUBCLASS_GLYPH_DRUID = 11
MAX_ITEM_SUBCLASS_GLYPH = 12 -- MAX ITEM SUBCLASS GLYPH
-- BAG FAMILY MASK
BAG_FAMILY_MASK_NONE = 0x00000000
BAG_FAMILY_MASK_ARROWS = 0x00000001
BAG_FAMILY_MASK_BULLETS = 0x00000002
BAG_FAMILY_MASK_SOUL_SHARDS = 0x00000004
BAG_FAMILY_MASK_LEATHERWORKING_SUPP = 0x00000008
BAG_FAMILY_MASK_INSCRIPTION_SUPP = 0x00000010
BAG_FAMILY_MASK_HERBS = 0x00000020
BAG_FAMILY_MASK_ENCHANTING_SUPP = 0x00000040
BAG_FAMILY_MASK_ENGINEERING_SUPP = 0x00000080
BAG_FAMILY_MASK_KEYS = 0x00000100
BAG_FAMILY_MASK_GEMS = 0x00000200
BAG_FAMILY_MASK_MINING_SUPP = 0x00000400
BAG_FAMILY_MASK_SOULBOUND_EQUIPMENT = 0x00000800
BAG_FAMILY_MASK_VANITY_PETS = 0x00001000
BAG_FAMILY_MASK_CURRENCY_TOKENS = 0x00002000
BAG_FAMILY_MASK_QUEST_ITEMS = 0x00004000
-- SOCKET COLORS
SOCKET_COLOR_META = 1
SOCKET_COLOR_RED = 2
SOCKET_COLOR_YELLOW = 4
SOCKET_COLOR_BLUE = 8
SOCKET_COLOR_ALL = 15
-- INVENTORY TYPES
INVTYPE_NON_EQUIP = 0
INVTYPE_HEAD = 1
INVTYPE_NECK = 2
INVTYPE_SHOULDERS = 3
INVTYPE_BODY = 4
INVTYPE_CHEST = 5
INVTYPE_WAIST = 6
INVTYPE_LEGS = 7
INVTYPE_FEET = 8
INVTYPE_WRISTS = 9
INVTYPE_HANDS = 10
INVTYPE_FINGER = 11
INVTYPE_TRINKET = 12
INVTYPE_WEAPON = 13
INVTYPE_SHIELD = 14
INVTYPE_RANGED = 15
INVTYPE_CLOAK = 16
INVTYPE_2HWEAPON = 17
INVTYPE_BAG = 18
INVTYPE_TABARD = 19
INVTYPE_ROBE = 20
INVTYPE_WEAPONMAINHAND = 21
INVTYPE_WEAPONOFFHAND = 22
INVTYPE_HOLDABLE = 23
INVTYPE_AMMO = 24
INVTYPE_THROWN = 25
INVTYPE_RANGEDRIGHT = 26
INVTYPE_QUIVER = 27
INVTYPE_RELIC = 28
MAX_INVTYPE = 29 -- MAX INVENTORY TYPE
--------------------------------------------------------
--[[
VEHICLE DEFINES
--]]
--------------------------------------------------------
-- VEHICLE POWER TYPE
POWER_STEAM = 61
POWER_PYRITE = 41
POWER_HEAT = 101
POWER_OOZE = 121
POWER_BLOOD = 141
POWER_WRATH = 142
-- VEHICLE FLAGS
VEHICLE_FLAG_NO_STRAFE = 0x00000001 -- Sets MOVEFLAG2_NO_STRAFE
VEHICLE_FLAG_NO_JUMPING = 0x00000002 -- Sets MOVEFLAG2_NO_JUMPING
VEHICLE_FLAG_FULLSPEEDTURNING = 0x00000004 -- Sets MOVEFLAG2_FULLSPEEDTURNING
VEHICLE_FLAG_ALLOW_PITCHING = 0x00000010 -- Sets MOVEFLAG2_ALLOW_PITCHING
VEHICLE_FLAG_FULLSPEEDPITCHING = 0x00000020 -- Sets MOVEFLAG2_FULLSPEEDPITCHING
VEHICLE_FLAG_CUSTOM_PITCH = 0x00000040 -- If set use pitchMin and pitchMax from DBC, otherwise pitchMin = -pi/2, pitchMax = pi/2
VEHICLE_FLAG_ADJUST_AIM_ANGLE = 0x00000400 -- Lua_IsVehicleAimAngleAdjustable
VEHICLE_FLAG_ADJUST_AIM_POWER = 0x00000800 -- Lua_IsVehicleAimPowerAdjustable
-- VEHICLE SPELLS
VEHICLE_SPELL_RIDE_HARDCODED = 46598
VEHICLE_SPELL_PARACHUTE = 45472
--------------------------------------------------------
--[[
WEATHER STATES
--]]
--------------------------------------------------------
WEATHER_STATE_FINE = 0
WEATHER_STATE_FOG = 1
WEATHER_STATE_LIGHT_RAIN = 3
WEATHER_STATE_MEDIUM_RAIN = 4
WEATHER_STATE_HEAVY_RAIN = 5
WEATHER_STATE_LIGHT_SNOW = 6
WEATHER_STATE_MEDIUM_SNOW = 7
WEATHER_STATE_HEAVY_SNOW = 8
WEATHER_STATE_LIGHT_SANDSTORM = 22
WEATHER_STATE_MEDIUM_SANDSTORM = 41
WEATHER_STATE_HEAVY_SANDSTORM = 42
WEATHER_STATE_THUNDERS = 86
WEATHER_STATE_BLACKRAIN = 90
WEATHER_STATE_BLACKSNOW = 106
-- WEATHER SEASONS
WEATHER_SEASONS = 4
--------------------------------------------------------
--[[
LOOT
--]]
--------------------------------------------------------
-- LOOT TYPES
LOOT_CORPSE = 1
LOOT_PICKPOCKETING = 2
LOOT_FISHING = 3
LOOT_DISENCHANTING = 4
LOOT_SKINNING = 6
LOOT_PROSPECTING = 7
LOOT_MILLING = 8
LOOT_FISHINGHOLE = 20 -- unsupported by client, sending LOOT_FISHING instead
LOOT_INSIGNIA = 21 -- unsupported by client, sending LOOT_CORPSE instead
-- LOOT SLOT TYPES
LOOT_SLOT_TYPE_ALLOW_LOOT = 0 -- player can loot the item.
LOOT_SLOT_TYPE_ROLL_ONGOING = 1 -- roll is ongoing. player cannot loot.
LOOT_SLOT_TYPE_MASTER = 2 -- item can only be distributed by group loot master.
LOOT_SLOT_TYPE_LOCKED = 3 -- item is shown in red. player cannot loot.
LOOT_SLOT_TYPE_OWNER = 4 -- ignore binding confirmation and etc, for single player looting
-- LOOT METHOD
FREE_FOR_ALL = 0
ROUND_ROBIN = 1
MASTER_LOOT = 2
GROUP_LOOT = 3
NEED_BEFORE_GREED = 4
-- PERMISSION TYPES
ALL_PERMISSION = 0
GROUP_PERMISSION = 1
MASTER_PERMISSION = 2
ROUND_ROBIN_PERMISSION = 3
OWNER_PERMISSION = 4
NONE_PERMISSION = 5
-- ROLL TYPES
ROLL_PASS = 0
ROLL_NEED = 1
ROLL_GREED = 2
ROLL_DISENCHANT = 3
MAX_ROLL_TYPE = 4
-- ROLL MASK
ROLL_FLAG_TYPE_PASS = 0x01
ROLL_FLAG_TYPE_NEED = 0x02
ROLL_FLAG_TYPE_GREED = 0x04
ROLL_FLAG_TYPE_DISENCHANT = 0x08
ROLL_ALL_TYPE_NO_DISENCHANT = 0x07
ROLL_ALL_TYPE_MASK = 0x0F
--------------------------------------------------------
--[[
LFG
--]]
--------------------------------------------------------
-- CLASS NEEDED
LFG_TANKS_OR_HEALERS_NEEDED = 1
LFG_DPS_NEEDED = 3
-- LFG ROLES
PLAYER_ROLE_NONE = 0x00
PLAYER_ROLE_LEADER = 0x01
PLAYER_ROLE_TANK = 0x02
PLAYER_ROLE_HEALER = 0x04
PLAYER_ROLE_DAMAGE = 0x08
-- LFG UPDATE TYPES
LFG_UPDATETYPE_DEFAULT = 0 -- Internal Use
LFG_UPDATETYPE_LEADER_UNK1 = 1 -- FIXME: At group leave
LFG_UPDATETYPE_ROLECHECK_ABORTED = 4
LFG_UPDATETYPE_JOIN_QUEUE = 5
LFG_UPDATETYPE_ROLECHECK_FAILED = 6
LFG_UPDATETYPE_REMOVED_FROM_QUEUE = 7
LFG_UPDATETYPE_PROPOSAL_FAILED = 8
LFG_UPDATETYPE_PROPOSAL_DECLINED = 9
LFG_UPDATETYPE_GROUP_FOUND = 10
LFG_UPDATETYPE_ADDED_TO_QUEUE = 12
LFG_UPDATETYPE_PROPOSAL_BEGIN = 13
LFG_UPDATETYPE_UPDATE_STATUS = 14
LFG_UPDATETYPE_GROUP_MEMBER_OFFLINE = 15
LFG_UPDATETYPE_GROUP_DISBAND_UNK16 = 16 -- FIXME: Sometimes at group disband
-- LFG STATES
LFG_STATE_NONE = 0 -- Not using LFG / LFR
LFG_STATE_ROLECHECK = 1 -- Rolecheck active
LFG_STATE_QUEUED = 2 -- Queued
LFG_STATE_PROPOSAL = 3 -- Proposal active
LFG_STATE_BOOT = 4 -- Vote kick active
LFG_STATE_DUNGEON = 5 -- In LFG Group, in a Dungeon
LFG_STATE_FINISHED_DUNGEON = 6 -- In LFG Group, in a finished Dungeon
LFG_STATE_RAIDBROWSER = 7 -- Using Raid finder
-- LFG LOCK STATUS TYPES
LFG_LOCKSTATUS_INSUFFICIENT_EXPANSION = 1
LFG_LOCKSTATUS_TOO_LOW_LEVEL = 2
LFG_LOCKSTATUS_TOO_HIGH_LEVEL = 3
LFG_LOCKSTATUS_TOO_LOW_GEAR_SCORE = 4
LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE = 5
LFG_LOCKSTATUS_RAID_LOCKED = 6
LFG_LOCKSTATUS_ATTUNEMENT_TOO_LOW_LEVEL = 1001
LFG_LOCKSTATUS_ATTUNEMENT_TOO_HIGH_LEVEL = 1002
LFG_LOCKSTATUS_QUEST_NOT_COMPLETED = 1022
LFG_LOCKSTATUS_MISSING_ITEM = 1025
LFG_LOCKSTATUS_NOT_IN_SEASON = 1031
LFG_LOCKSTATUS_MISSING_ACHIEVEMENT = 1034
-- LFG ANSWER
LFG_ANSWER_PENDING = -1
LFG_ANSWER_DENY = 0
LFG_ANSWER_AGREE = 1
-- LFG GROUP TYPE
LFG_GROUP_MAX_KICKS = 3
-- LFG OPTIONS
LFG_OPTION_ENABLE_DUNGEON_FINDER = 0x01
LFG_OPTION_ENABLE_RAID_BROWSER = 0x02
-- LFG MGR TYPES
LFG_TIME_ROLECHECK = 45 * IN_MILLISECONDS
LFG_TIME_BOOT = 120
LFG_TIME_PROPOSAL = 45
LFG_QUEUEUPDATE_INTERVAL = 15 * IN_MILLISECONDS
LFG_SPELL_DUNGEON_COOLDOWN = 71328
LFG_SPELL_DUNGEON_DESERTER = 71041
LFG_SPELL_LUCK_OF_THE_DRAW = 72221
LFG_GROUP_KICK_VOTES_NEEDED = 3
-- LFG FLAGS
LFG_FLAG_UNK1 = 0x1
LFG_FLAG_UNK2 = 0x2
LFG_FLAG_SEASONAL = 0x4
LFG_FLAG_UNK3 = 0x8
-- LFG TYPES
LFG_TYPE_NONE = 0
LFG_TYPE_DUNGEON = 1
LFG_TYPE_RAID = 2
LFG_TYPE_HEROIC = 5
LFG_TYPE_RANDOM = 6
-- LFG PROPOSAL STATE
LFG_PROPOSAL_INITIATING = 0
LFG_PROPOSAL_FAILED = 1
LFG_PROPOSAL_SUCCESS = 2
-- LFG TELEPORT ERRORS
LFG_TELEPORTERROR_OK = 0 -- Internal use
LFG_TELEPORTERROR_PLAYER_DEAD = 1
LFG_TELEPORTERROR_FALLING = 2
LFG_TELEPORTERROR_IN_VEHICLE = 3
LFG_TELEPORTERROR_FATIGUE = 4
LFG_TELEPORTERROR_INVALID_LOCATION = 6
LFG_TELEPORTERROR_CHARMING = 8 -- FIXME - It can be 7 or 8 (Need proper data)
-- LFG JOIN RESULTS
LFG_JOIN_OK = 0 -- Joined (no client msg)
LFG_JOIN_FAILED = 1 -- RoleCheck Failed
LFG_JOIN_GROUPFULL = 2 -- Your group is full
LFG_JOIN_INTERNAL_ERROR = 4 -- Internal LFG Error
LFG_JOIN_NOT_MEET_REQS = 5 -- You do not meet the requirements for the chosen dungeons
LFG_JOIN_PARTY_NOT_MEET_REQS = 6 -- One or more party members do not meet the requirements for the chosen dungeons
LFG_JOIN_MIXED_RAID_DUNGEON = 7 -- You cannot mix dungeons, raids, and random when picking dungeons
LFG_JOIN_MULTI_REALM = 8 -- The dungeon you chose does not support players from multiple realms
LFG_JOIN_DISCONNECTED = 9 -- One or more party members are pending invites or disconnected
LFG_JOIN_PARTY_INFO_FAILED = 10 -- Could not retrieve information about some party members