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
|
jcallahan@1
|
15 -----------------------------------------------------------------------
|
jcallahan@1
|
16 -- Constants.
|
jcallahan@1
|
17 -----------------------------------------------------------------------
|
jcallahan@18
|
18 private.wow_version, private.build_num = _G.GetBuildInfo()
|
jcallahan@18
|
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@151
|
48 private.ACTION_TYPE_NAMES = {}
|
jcallahan@151
|
49
|
jcallahan@151
|
50 for name, bit in _G.pairs(private.ACTION_TYPE_FLAGS) do
|
jcallahan@151
|
51 private.ACTION_TYPE_NAMES[bit] = name
|
jcallahan@151
|
52 end
|
jcallahan@151
|
53
|
jcallahan@151
|
54
|
jcallahan@1
|
55 private.SPELL_LABELS_BY_NAME = {
|
jcallahan@1
|
56 [_G.GetSpellInfo(13262)] = "DISENCHANT",
|
jcallahan@1
|
57 [_G.GetSpellInfo(4036)] = "ENGINEERING",
|
jcallahan@48
|
58 [_G.GetSpellInfo(30427)] = "EXTRACT_GAS",
|
jcallahan@99
|
59 [_G.GetSpellInfo(131476)] = "FISHING",
|
jcallahan@1
|
60 [_G.GetSpellInfo(2366)] = "HERB_GATHERING",
|
jcallahan@1
|
61 [_G.GetSpellInfo(51005)] = "MILLING",
|
jcallahan@1
|
62 [_G.GetSpellInfo(605)] = "MIND_CONTROL",
|
jcallahan@1
|
63 [_G.GetSpellInfo(2575)] = "MINING",
|
jcallahan@1
|
64 [_G.GetSpellInfo(3365)] = "OPENING",
|
jcallahan@1
|
65 [_G.GetSpellInfo(921)] = "PICK_POCKET",
|
jcallahan@1
|
66 [_G.GetSpellInfo(31252)] = "PROSPECTING",
|
jcallahan@1
|
67 [_G.GetSpellInfo(73979)] = "SEARCHING_FOR_ARTIFACTS",
|
jcallahan@1
|
68 [_G.GetSpellInfo(8613)] = "SKINNING",
|
jcallahan@1
|
69 }
|
jcallahan@1
|
70
|
jcallahan@105
|
71 private.NON_LOOT_SPELL_LABELS = {
|
jcallahan@105
|
72 MIND_CONTROL = true,
|
jcallahan@105
|
73 }
|
jcallahan@105
|
74
|
jcallahan@1
|
75 local AF = private.ACTION_TYPE_FLAGS
|
jcallahan@1
|
76
|
jcallahan@1
|
77 private.SPELL_FLAGS_BY_LABEL = {
|
jcallahan@1
|
78 DISENCHANT = AF.ITEM,
|
jcallahan@1
|
79 ENGINEERING = AF.NPC,
|
jcallahan@48
|
80 EXTRACT_GAS = AF.ZONE,
|
jcallahan@151
|
81 FISHING = AF.ZONE,
|
jcallahan@23
|
82 HERB_GATHERING = bit.bor(AF.NPC, AF.OBJECT),
|
jcallahan@1
|
83 MILLING = AF.ITEM,
|
jcallahan@1
|
84 MIND_CONTROL = AF.NPC,
|
jcallahan@23
|
85 MINING = bit.bor(AF.NPC, AF.OBJECT),
|
jcallahan@1
|
86 OPENING = AF.OBJECT,
|
jcallahan@1
|
87 PICK_POCKET = AF.NPC,
|
jcallahan@1
|
88 PROSPECTING = AF.ITEM,
|
jcallahan@1
|
89 SEARCHING_FOR_ARTIFACTS = AF.OBJECT,
|
jcallahan@1
|
90 SKINNING = AF.NPC,
|
jcallahan@1
|
91 }
|
jcallahan@177
|
92
|
jcallahan@177
|
93 private.RAID_FINDER_BOSS_IDS = {
|
jcallahan@244
|
94 -----------------------------------------------------------------------
|
jcallahan@244
|
95 -- Mogu'shan Vaults
|
jcallahan@244
|
96 -----------------------------------------------------------------------
|
jcallahan@177
|
97 [59915] = true, -- Jasper Guardian
|
jcallahan@177
|
98 [60009] = true, -- Feng the Accursed
|
jcallahan@177
|
99 [60043] = true, -- Jade Guardian
|
jcallahan@177
|
100 [60047] = true, -- Amethyst Guardian
|
jcallahan@177
|
101 [60051] = true, -- Cobalt Guardian
|
jcallahan@177
|
102 [60143] = true, -- Gara'jal the Spiritbinder
|
jcallahan@177
|
103 [60399] = true, -- Qin-xi
|
jcallahan@181
|
104 [60400] = true, -- Jan-xi
|
jcallahan@177
|
105 [60410] = true, -- Elegon
|
jcallahan@177
|
106 [60701] = true, -- Zian of the Endless Shadow
|
jcallahan@185
|
107 [60708] = true, -- Meng the Demented
|
jcallahan@185
|
108 [60709] = true, -- Qiang the Merciless
|
jcallahan@185
|
109 [60710] = true, -- Subetai the Swift
|
jcallahan@244
|
110
|
jcallahan@244
|
111 -----------------------------------------------------------------------
|
jcallahan@244
|
112 -- Terrace of Endless Spring
|
jcallahan@244
|
113 -----------------------------------------------------------------------
|
jcallahan@244
|
114 [60583] = true, -- Protector Kaolan
|
jcallahan@244
|
115 [60585] = true, -- Elder Regail
|
jcallahan@244
|
116 [60586] = true, -- Elder Asani
|
jcallahan@244
|
117 [60999] = true, -- Sha of Fear
|
jcallahan@244
|
118 [62442] = true, -- Tsulong
|
jcallahan@244
|
119 [62983] = true, -- Lei Shi
|
jcallahan@244
|
120
|
jcallahan@244
|
121 -----------------------------------------------------------------------
|
jcallahan@244
|
122 -- Heart of Fear
|
jcallahan@244
|
123 -----------------------------------------------------------------------
|
jcallahan@177
|
124 [62164] = true, -- Garalon
|
jcallahan@177
|
125 [62397] = true, -- Wind Lord Mel'jarak
|
jcallahan@177
|
126 [62511] = true, -- Amber-Shaper Un'sok
|
jcallahan@177
|
127 [62543] = true, -- Blade Lord Ta'yak
|
jcallahan@177
|
128 [62837] = true, -- Grand Empress Shek'zeer
|
jcallahan@177
|
129 [62980] = true, -- Imperial Vizier Zor'lok
|
jcallahan@244
|
130
|
jcallahan@244
|
131 -----------------------------------------------------------------------
|
jcallahan@244
|
132 -- Throne of Thunder
|
jcallahan@244
|
133 -----------------------------------------------------------------------
|
jcallahan@244
|
134 [69465] = true, -- Jin'rokh the Breaker
|
jcallahan@244
|
135 [68476] = true, -- Horridon
|
jcallahan@244
|
136 [69078] = true, -- Sul the Sandcrawler
|
jcallahan@244
|
137 [69131] = true, -- Frost King Malakk
|
jcallahan@244
|
138 [69132] = true, -- High Priestess Mar'li
|
jcallahan@244
|
139 [69134] = true, -- Kazra'jin
|
jcallahan@244
|
140 [67977] = true, -- Tortos
|
jcallahan@244
|
141 [70212] = true, -- Flaming Head (of Megaera)
|
jcallahan@244
|
142 [70235] = true, -- Frozen Head (of Megaera)
|
jcallahan@244
|
143 [70247] = true, -- Venomous Head (of Megaera)
|
jcallahan@244
|
144 [69712] = true, -- Ji-kun
|
jcallahan@244
|
145 [68036] = true, -- Durumu
|
jcallahan@244
|
146 [69017] = true, -- Primordius
|
jcallahan@244
|
147 [69427] = true, -- Dark Animus
|
jcallahan@244
|
148 [68078] = true, -- Iron Qon
|
jcallahan@244
|
149 [68904] = true, -- Suen
|
jcallahan@244
|
150 [68905] = true, -- Lu'lin
|
jcallahan@244
|
151 [68397] = true, -- Lei Shen
|
jcallahan@177
|
152 }
|
jcallahan@203
|
153
|
jcallahan@244
|
154
|
jcallahan@203
|
155 private.WORLD_BOSS_IDS = {
|
jcallahan@203
|
156 [60491] = true, -- Sha of Anger
|
jcallahan@203
|
157 [62346] = true, -- Galleon
|
jcallahan@244
|
158 [69099] = true, -- Nalak
|
jcallahan@244
|
159 [69161] = true, -- Oondasta
|
jcallahan@203
|
160 }
|