jcallahan@1
|
1 -----------------------------------------------------------------------
|
jcallahan@1
|
2 -- Upvalued Lua API.
|
jcallahan@1
|
3 -----------------------------------------------------------------------
|
jcallahan@1
|
4 local _G = getfenv(0)
|
jcallahan@1
|
5
|
jcallahan@1
|
6 local bit = _G.bit
|
jcallahan@1
|
7
|
jcallahan@1
|
8
|
jcallahan@1
|
9 -----------------------------------------------------------------------
|
jcallahan@1
|
10 -- AddOn namespace.
|
jcallahan@1
|
11 -----------------------------------------------------------------------
|
jcallahan@1
|
12 local ADDON_NAME, private = ...
|
jcallahan@1
|
13
|
jcallahan@1
|
14 local LibStub = _G.LibStub
|
jcallahan@1
|
15
|
jcallahan@1
|
16
|
jcallahan@1
|
17 -----------------------------------------------------------------------
|
jcallahan@1
|
18 -- Constants.
|
jcallahan@1
|
19 -----------------------------------------------------------------------
|
jcallahan@1
|
20 private.UNIT_TYPES = {
|
jcallahan@1
|
21 PLAYER = 0,
|
jcallahan@1
|
22 OBJECT = 1,
|
jcallahan@10
|
23 UNKNOWN = 2,
|
jcallahan@1
|
24 NPC = 3,
|
jcallahan@1
|
25 PET = 4,
|
jcallahan@1
|
26 VEHICLE = 5,
|
jcallahan@1
|
27 }
|
jcallahan@1
|
28
|
jcallahan@1
|
29
|
jcallahan@10
|
30 private.UNIT_TYPE_NAMES = {
|
jcallahan@10
|
31 "PLAYER",
|
jcallahan@10
|
32 "OBJECT",
|
jcallahan@10
|
33 "UNKNOWN",
|
jcallahan@10
|
34 "NPC",
|
jcallahan@10
|
35 "PET",
|
jcallahan@10
|
36 "VEHICLE",
|
jcallahan@10
|
37 }
|
jcallahan@10
|
38
|
jcallahan@10
|
39
|
jcallahan@1
|
40 private.ACTION_TYPE_FLAGS = {
|
jcallahan@1
|
41 ITEM = 0x00000001,
|
jcallahan@1
|
42 NPC = 0x00000002,
|
jcallahan@1
|
43 OBJECT = 0x00000004,
|
jcallahan@1
|
44 ZONE = 0x00000008,
|
jcallahan@1
|
45 }
|
jcallahan@1
|
46
|
jcallahan@1
|
47
|
jcallahan@1
|
48 private.SPELL_LABELS_BY_NAME = {
|
jcallahan@1
|
49 [_G.GetSpellInfo(13262)] = "DISENCHANT",
|
jcallahan@1
|
50 [_G.GetSpellInfo(4036)] = "ENGINEERING",
|
jcallahan@1
|
51 [_G.GetSpellInfo(7620)] = "FISHING",
|
jcallahan@1
|
52 [_G.GetSpellInfo(2366)] = "HERB_GATHERING",
|
jcallahan@1
|
53 [_G.GetSpellInfo(51005)] = "MILLING",
|
jcallahan@1
|
54 [_G.GetSpellInfo(605)] = "MIND_CONTROL",
|
jcallahan@1
|
55 [_G.GetSpellInfo(2575)] = "MINING",
|
jcallahan@1
|
56 [_G.GetSpellInfo(3365)] = "OPENING",
|
jcallahan@1
|
57 [_G.GetSpellInfo(921)] = "PICK_POCKET",
|
jcallahan@1
|
58 [_G.GetSpellInfo(31252)] = "PROSPECTING",
|
jcallahan@1
|
59 [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS",
|
jcallahan@1
|
60 [_G.GetSpellInfo(8613)] = "SKINNING",
|
jcallahan@1
|
61 }
|
jcallahan@1
|
62
|
jcallahan@1
|
63 local AF = private.ACTION_TYPE_FLAGS
|
jcallahan@1
|
64
|
jcallahan@1
|
65 private.SPELL_FLAGS_BY_LABEL = {
|
jcallahan@1
|
66 DISENCHANT = AF.ITEM,
|
jcallahan@1
|
67 ENGINEERING = AF.NPC,
|
jcallahan@1
|
68 FISHING = AF.ZONE,
|
jcallahan@1
|
69 HERB_GATHERING = bit.bxor(AF.NPC, AF.OBJECT),
|
jcallahan@1
|
70 MILLING = AF.ITEM,
|
jcallahan@1
|
71 MIND_CONTROL = AF.NPC,
|
jcallahan@1
|
72 MINING = bit.bxor(AF.NPC, AF.OBJECT),
|
jcallahan@1
|
73 OPENING = AF.OBJECT,
|
jcallahan@1
|
74 PICK_POCKET = AF.NPC,
|
jcallahan@1
|
75 PROSPECTING = AF.ITEM,
|
jcallahan@1
|
76 SEARCHING_FOR_ARTIFACTS = AF.OBJECT,
|
jcallahan@1
|
77 SKINNING = AF.NPC,
|
jcallahan@1
|
78 }
|