Nenue@6
|
1 local ADDON, Tk = ...
|
Nenue@6
|
2 local T = Tk.Addon
|
Nenue@6
|
3 local mod, tinsert, ipairs, pairs = T.modules.TimerControl, tinsert, ipairs, pairs
|
Nenue@6
|
4 local print = function(...) print('TimerPresets', ...) end
|
Nenue@6
|
5
|
Nenue@6
|
6
|
Nenue@6
|
7
|
Nenue@6
|
8 --- Timer config presets
|
Nenue@6
|
9 mod.AddTimer = function(batch, container)
|
Nenue@6
|
10 if container then
|
Nenue@6
|
11 Turok.defaults.spirit.containers[container] = {}
|
Nenue@6
|
12 end
|
Nenue@6
|
13
|
Nenue@6
|
14 for i, entry in ipairs(batch) do
|
Nenue@6
|
15 print(cPink('AddTimer(#=')..cWord(#batch)..cPink(', ')..cWord(container)..cPink(')'))
|
Nenue@6
|
16 if container then
|
Nenue@6
|
17 entry.container = container
|
Nenue@6
|
18 print(' container set to', container)
|
Nenue@6
|
19 end
|
Nenue@6
|
20 print(' unpacking', entry.name)
|
Nenue@6
|
21 tinsert(Turok.defaults.spirit.timers, entry)
|
Nenue@6
|
22 end
|
Nenue@6
|
23 end
|
Nenue@6
|
24 local tp = mod.index.preset
|
Nenue@6
|
25
|
Nenue@6
|
26 mod.LoadPresets = function()
|
Nenue@6
|
27 for setName, setFunc in pairs(tp) do
|
Nenue@6
|
28 setFunc()
|
Nenue@6
|
29 end
|
Nenue@6
|
30 end
|
Nenue@6
|
31
|
Nenue@6
|
32 tp.Containers = function()
|
Nenue@6
|
33 local defs = {
|
Nenue@6
|
34 anchor = 'TOPLEFT', parent = 'TekplayerCastBar', anchorTo = 'BOTTOMLEFT', x = 0, y = -3, width = 700,
|
Nenue@6
|
35 height = 200,
|
Nenue@6
|
36 spacing = 3,
|
Nenue@6
|
37 padding = 0,
|
Nenue@6
|
38 ["default"] = {
|
Nenue@6
|
39 name = "Default",
|
Nenue@6
|
40 childAnchor = 'TOPLEFT',
|
Nenue@6
|
41 childAnchorTo = 'TOPLEFT',
|
Nenue@6
|
42 },
|
Nenue@6
|
43 ["DoTs"] = {
|
Nenue@6
|
44 anchor ='BOTTOM', anchorTo='TOP',
|
Nenue@6
|
45 parent='TekplayerCastBar',
|
Nenue@6
|
46 display = 'icon',
|
Nenue@6
|
47 size = 48,
|
Nenue@6
|
48 height = 48, width = 48,
|
Nenue@6
|
49 x = 0, y = 16,
|
Nenue@6
|
50 padding = 0,
|
Nenue@6
|
51 spacing = 0,
|
Nenue@6
|
52 childAnchor = 'BOTTOMLEFT',
|
Nenue@6
|
53 childAnchorTo = 'BOTTOMLEFT',
|
Nenue@6
|
54 }
|
Nenue@6
|
55 }
|
Nenue@6
|
56 for k,v in pairs(defs) do
|
Nenue@6
|
57 TurokData.spirit.containers[k] = v
|
Nenue@6
|
58 end
|
Nenue@6
|
59 end
|
Nenue@6
|
60
|
Nenue@6
|
61 tp.Rogue = function()
|
Nenue@6
|
62 mod.AddTimer(
|
Nenue@6
|
63 {
|
Nenue@6
|
64 {
|
Nenue@6
|
65 name = "Vendetta",
|
Nenue@6
|
66 type = 'cooldown',
|
Nenue@6
|
67 display = 'icon',
|
Nenue@6
|
68 unit = 'player',
|
Nenue@6
|
69 spellID = 79140,
|
Nenue@6
|
70 playerClass = 'ROGUE',
|
Nenue@6
|
71 specPage = 1,
|
Nenue@6
|
72 },
|
Nenue@6
|
73 {
|
Nenue@6
|
74 name = "Burst of Speed",
|
Nenue@6
|
75 type = 'cooldown',
|
Nenue@6
|
76 display = 'icon',
|
Nenue@6
|
77 unit = 'player',
|
Nenue@6
|
78 spellID = 108212,
|
Nenue@6
|
79 playerClass = 'ROGUE'
|
Nenue@6
|
80 },
|
Nenue@6
|
81 {
|
Nenue@6
|
82 name = "Rupture",
|
Nenue@6
|
83 type = 'aura',
|
Nenue@6
|
84 display = 'icon',
|
Nenue@6
|
85 unit = 'target',
|
Nenue@6
|
86 spellID = 1943,
|
Nenue@6
|
87 filters = 'PLAYER|HARMFUL',
|
Nenue@6
|
88 playerClass = 'ROGUE',
|
Nenue@6
|
89 specPage = {1,3},
|
Nenue@6
|
90 },
|
Nenue@6
|
91 {
|
Nenue@6
|
92 name = "Slice and Dice",
|
Nenue@6
|
93 type = 'aura',
|
Nenue@6
|
94 display = 'icon',
|
Nenue@6
|
95 spellID = 5171,
|
Nenue@6
|
96 unit = 'player',
|
Nenue@6
|
97 filters = 'PLAYER|HELPFUL',
|
Nenue@6
|
98 playerClass = 'ROGUE',
|
Nenue@6
|
99 specPage = {2,3},
|
Nenue@6
|
100 },
|
Nenue@6
|
101 {
|
Nenue@6
|
102 name = "Deadly Missing",
|
Nenue@6
|
103 type = 'aura',
|
Nenue@6
|
104 spellID = 2823,
|
Nenue@6
|
105 display = 'icon',
|
Nenue@6
|
106 unit = 'player',
|
Nenue@6
|
107 playerClass = 'ROGUE',
|
Nenue@6
|
108 specPage = {1,3},
|
Nenue@6
|
109 inverse = true,
|
Nenue@6
|
110 },
|
Nenue@6
|
111 {
|
Nenue@6
|
112 name = "Stealth",
|
Nenue@6
|
113 type ='aura',
|
Nenue@6
|
114 spellID = 1784,
|
Nenue@6
|
115 display = 'icon',
|
Nenue@6
|
116 unit = 'player',
|
Nenue@6
|
117 playerClass = 'ROGUE',
|
Nenue@6
|
118 },
|
Nenue@6
|
119 {
|
Nenue@6
|
120 name = "Recuperate",
|
Nenue@6
|
121 type ='aura',
|
Nenue@6
|
122 spellID = 73651,
|
Nenue@6
|
123 display = 'icon',
|
Nenue@6
|
124 unit = 'player',
|
Nenue@6
|
125 playerClass = 'ROGUE',
|
Nenue@6
|
126 },
|
Nenue@6
|
127 })
|
Nenue@6
|
128 end
|
Nenue@6
|
129 tp.Mage = function()
|
Nenue@6
|
130 mod.AddTimer({
|
Nenue@6
|
131 {
|
Nenue@6
|
132 name = "Rune of Power",
|
Nenue@6
|
133 type = 'aura',
|
Nenue@6
|
134 spellID = 116014,
|
Nenue@6
|
135 unit = 'player',
|
Nenue@6
|
136 display = 'icon',
|
Nenue@6
|
137 playerClass = 'MAGE',
|
Nenue@6
|
138 talentID = 16032,
|
Nenue@6
|
139 },
|
Nenue@6
|
140 {
|
Nenue@6
|
141 name = "Mage Nova",
|
Nenue@6
|
142 spellID = {157980, 157981, 157997},
|
Nenue@6
|
143 talentOffset = {5, 3},
|
Nenue@6
|
144 unit = 'player',
|
Nenue@6
|
145 type='cooldown',
|
Nenue@6
|
146 display='icon',
|
Nenue@6
|
147 playerClass='MAGE',
|
Nenue@6
|
148 persist = true,
|
Nenue@6
|
149 },
|
Nenue@6
|
150 {
|
Nenue@6
|
151 name = "Mage Bomb",
|
Nenue@6
|
152 talentOffset = {5, 1},
|
Nenue@6
|
153 unit = 'target',
|
Nenue@6
|
154 type= 'aura',
|
Nenue@6
|
155 display='icon',
|
Nenue@6
|
156 filters = 'HARMFUL|PLAYER',
|
Nenue@6
|
157 playerClass='MAGE',
|
Nenue@6
|
158 persist = true,
|
Nenue@6
|
159 },
|
Nenue@6
|
160 {
|
Nenue@6
|
161 name = "Frozen Orb",
|
Nenue@6
|
162 spellID = 84714,
|
Nenue@6
|
163 threschold = 2,
|
Nenue@6
|
164 unit = 'player',
|
Nenue@6
|
165 type='cooldown',
|
Nenue@6
|
166 display='icon',
|
Nenue@6
|
167 playerClass='MAGE',
|
Nenue@6
|
168 specPage=3,
|
Nenue@6
|
169 },
|
Nenue@6
|
170 {
|
Nenue@6
|
171 name = 'Arcane Power',
|
Nenue@6
|
172 type = 'cooldown',
|
Nenue@6
|
173 display = 'icon',
|
Nenue@6
|
174 unit = 'player',
|
Nenue@6
|
175 spellID = 12042,
|
Nenue@6
|
176 playerClass = 'MAGE',
|
Nenue@6
|
177 specPage = 1,
|
Nenue@6
|
178 }
|
Nenue@6
|
179 })
|
Nenue@6
|
180 end
|
Nenue@6
|
181 tp.UseEffects = function()
|
Nenue@6
|
182 mod.AddTimer({
|
Nenue@6
|
183
|
Nenue@6
|
184 {
|
Nenue@6
|
185 name = "Trinket 1",
|
Nenue@6
|
186 type ='cooldown', display = 'icon',
|
Nenue@6
|
187 unit = 'player',
|
Nenue@6
|
188 persist = true,
|
Nenue@6
|
189 inventoryID = 13,
|
Nenue@6
|
190 },
|
Nenue@6
|
191 {
|
Nenue@6
|
192 name = "Maalus Effect", -- Maalus
|
Nenue@6
|
193 playerClass = {'HUNTER', 'ROGUE'},
|
Nenue@6
|
194 type = 'aura', display = 'progressbar',
|
Nenue@6
|
195 unit = 'player', filters = 'HELPFUL',
|
Nenue@6
|
196 leftText = "%c", rightText= "%p",
|
Nenue@6
|
197 duration = 15,
|
Nenue@6
|
198 spellID = 187615, itemID = 124636, hideIcon = true,
|
Nenue@6
|
199
|
Nenue@6
|
200 sound_active = [[Interface\Addons\Turok\Media\sound\FLASH.mp3]],
|
Nenue@6
|
201
|
Nenue@6
|
202 absolute = true, x = 0, y = -10, width = 300, height = 10,
|
Nenue@6
|
203 anchor = 'BOTTOMLEFT', anchorTo = 'BOTTOMLEFT',
|
Nenue@6
|
204 parent = 'TekplayerCastBar', padding = 0, spacing = 0,
|
Nenue@6
|
205
|
Nenue@6
|
206 foreground_inset = 0, foreground_color = {1,1,1,1}, foreground_blend = 'ADD',
|
Nenue@6
|
207 background_color = {0,0,0,0},
|
Nenue@6
|
208 icon = false,
|
Nenue@6
|
209 },
|
Nenue@6
|
210
|
Nenue@6
|
211 {
|
Nenue@6
|
212 name = "Maalus CD",
|
Nenue@6
|
213 type = 'cooldown', display = 'icon',
|
Nenue@6
|
214 unit = 'player',
|
Nenue@6
|
215 spellID = 187615, itemID = 124636,
|
Nenue@6
|
216 playerClass = 'HUNTER',
|
Nenue@6
|
217 },
|
Nenue@6
|
218 })
|
Nenue@6
|
219 end
|
Nenue@6
|
220
|
Nenue@6
|
221 tp.Hunter = function()
|
Nenue@6
|
222 mod.AddTimer({
|
Nenue@6
|
223 ---- Icon templates
|
Nenue@6
|
224 { virtual = true, name = "Hunter",
|
Nenue@6
|
225 playerClass = 'HUNTER', unit = 'player', container = 'default', display= 'icon', },
|
Nenue@6
|
226 { virtual = true, name = "HunterSticky", inherits = "Hunter",
|
Nenue@6
|
227 showAura = true, persist = true, },
|
Nenue@6
|
228 { virtual = true, name = "HunterBar",
|
Nenue@6
|
229 playerClass = 'HUNTER', unit = 'player', },
|
Nenue@6
|
230 ---- Talents
|
Nenue@6
|
231 {
|
Nenue@6
|
232 inherits= "HunterSticky",
|
Nenue@6
|
233 name = "Heavy Artillery", type = 'cooldown',
|
Nenue@6
|
234 talentRow = 6,
|
Nenue@6
|
235 trace = true},
|
Nenue@6
|
236 {
|
Nenue@6
|
237 inherits= "HunterSticky",
|
Nenue@6
|
238 name = "Animal Power", type = 'cooldown',
|
Nenue@6
|
239 talentRow = 5,
|
Nenue@6
|
240 trace = true},
|
Nenue@6
|
241 --- Spells
|
Nenue@6
|
242 {
|
Nenue@6
|
243 inherits = 'Hunter', name = "Camouflage",
|
Nenue@6
|
244 type = 'cooldown', display = 'icon',
|
Nenue@6
|
245 spellID = 51753, },
|
Nenue@6
|
246 {
|
Nenue@6
|
247 inherits = 'Hunter', name = "Ice Trap",
|
Nenue@6
|
248 type = 'cooldown', display = 'icon',
|
Nenue@6
|
249 spellID = 13809, },
|
Nenue@6
|
250 {
|
Nenue@6
|
251 inherits = 'Hunter', name = "Concussive Shot",
|
Nenue@6
|
252 type = 'cooldown', display = 'icon',
|
Nenue@6
|
253 spellID = 5116, },
|
Nenue@6
|
254 {
|
Nenue@6
|
255 inherits = 'Hunter', name = "Flare",
|
Nenue@6
|
256 type = 'cooldown', display = 'icon',
|
Nenue@6
|
257 spellID = 1543, },
|
Nenue@6
|
258 {
|
Nenue@6
|
259 inherits = 'Hunter', name = "Disengage",
|
Nenue@6
|
260 type = 'cooldown', display = 'icon',
|
Nenue@6
|
261 spellID = 781, },
|
Nenue@6
|
262 {
|
Nenue@6
|
263 inherits = "HunterSticky", name = "Rapid Fire",
|
Nenue@6
|
264 type = 'cooldown', display = 'icon',
|
Nenue@6
|
265 spellID = 3045, specPage = 2, },
|
Nenue@6
|
266 {
|
Nenue@6
|
267 inherits = 'HunterSticky', name = "Bestial Wrath",
|
Nenue@6
|
268 type = 'cooldown', display = 'icon',
|
Nenue@6
|
269 spellID = 19574, specPage = 1,
|
Nenue@6
|
270 trace = true
|
Nenue@6
|
271 },
|
Nenue@6
|
272
|
Nenue@6
|
273 --- Progress Bars
|
Nenue@6
|
274 {
|
Nenue@6
|
275 inherits = 'HunterBar', name = "Chimaera Shot",
|
Nenue@6
|
276 type = 'cooldown', display = 'progressbar',
|
Nenue@6
|
277 spellID = 53209, specPage = 2, persist = true,
|
Nenue@6
|
278
|
Nenue@6
|
279 hideIcon = true,
|
Nenue@6
|
280 leftText = "", rightText = "%p",
|
Nenue@6
|
281 width = 300, height = 8,padding = 0, spacing = 0,
|
Nenue@6
|
282 absolute = true, x = 0, y = 0, anchor = 'TOPLEFT', anchorTo = 'TOPLEFT', parent = 'TekplayerCastBar', strata='MEDIUM',
|
Nenue@6
|
283 foreground_color = {1,.125,0.43,1}, foreground_blend = 'ADD', foreground_inset = 0,
|
Nenue@6
|
284 background_color = {.5,.5,.5,0}, background_blend = 'BLEND',
|
Nenue@6
|
285 },
|
Nenue@6
|
286 {
|
Nenue@6
|
287 inherits = 'HunterBar', name = "Sniper Training (duration)",
|
Nenue@6
|
288 type = 'aura', display = 'progressbar',
|
Nenue@6
|
289 spellID = 168811, specPage = 2,
|
Nenue@6
|
290
|
Nenue@6
|
291 hideIcon = true,
|
Nenue@6
|
292 leftText = "", rightText= "",
|
Nenue@6
|
293 width= 330, height = 12, padding = 0,
|
Nenue@6
|
294 absolute = true, x = 0, y = 0, anchor = 'BOTTOMLEFT', anchorTo = 'BOTTOMLEFT', parent = 'TekplayerCastBar', level = 1,
|
Nenue@6
|
295 foreground_color = {1,0,0,1}, foreground_blend = 'BLEND',
|
Nenue@6
|
296 sound_active = '', sound_hidden = '', sound_passive = '',
|
Nenue@6
|
297 },
|
Nenue@6
|
298 {
|
Nenue@6
|
299 inherits = 'HunterBar', name = "Sniper Training: Recently Moved",
|
Nenue@6
|
300 type = 'aura', display = 'progressbar',
|
Nenue@6
|
301 spellID = 168809, specPage = 2,
|
Nenue@6
|
302
|
Nenue@6
|
303 hideIcon = true,
|
Nenue@6
|
304 leftText = "", rightText= "",
|
Nenue@6
|
305 height = 12, width= 160, padding = 0,
|
Nenue@6
|
306 absolute = true, x = 0, y = 0, anchor = 'BOTTOMLEFT', anchorTo = 'BOTTOMLEFT', parent = 'TekplayerCastBar', level = 2,
|
Nenue@6
|
307 foreground_color = {1,1,0,1}, foreground_blend = 'BLEND',
|
Nenue@6
|
308 sound_active = '', sound_hidden = '', sound_passive = '',
|
Nenue@6
|
309 },
|
Nenue@6
|
310
|
Nenue@6
|
311 --- Static Warnings
|
Nenue@6
|
312 {
|
Nenue@6
|
313 inherits='Hunter', name = "Aspect of the Pack",
|
Nenue@6
|
314 type = 'aura', display = 'icon',
|
Nenue@6
|
315 spellID = 13159
|
Nenue@6
|
316 },
|
Nenue@6
|
317 {
|
Nenue@6
|
318 inherits = 'Hunter', name = "Trap Launcher",
|
Nenue@6
|
319 type = 'aura', display = 'icon',
|
Nenue@6
|
320 spellID = 77769, inverse = true,
|
Nenue@6
|
321
|
Nenue@6
|
322 absolute = true, x = 0, y = 200,
|
Nenue@6
|
323 width = 100, height = 100,
|
Nenue@6
|
324 foreground_color = {1,1,1, 0.5}, foreground_blend = 'BLEND',
|
Nenue@6
|
325 },
|
Nenue@6
|
326 })
|
Nenue@6
|
327 end
|
Nenue@6
|
328 tp.SPriest = function()
|
Nenue@6
|
329 mod.AddTimer( {
|
Nenue@6
|
330 {
|
Nenue@6
|
331 virtual = true, name = "Caster Icon", container = 'DoTs',
|
Nenue@6
|
332 playerClass = 'PRIEST',
|
Nenue@6
|
333
|
Nenue@6
|
334 combatFade = true,
|
Nenue@6
|
335 height = 48, width = 48,
|
Nenue@6
|
336 icon = { size = 48, },
|
Nenue@6
|
337 persist = true,
|
Nenue@6
|
338 },
|
Nenue@6
|
339 {
|
Nenue@6
|
340 inherits = "Caster Icon", name = "Shadowfiend",
|
Nenue@6
|
341 unit = "player", spellID = 132603,
|
Nenue@6
|
342 type = 'cooldown', display = 'icon',
|
Nenue@6
|
343 container ='DoTs',
|
Nenue@6
|
344 },
|
Nenue@6
|
345 {
|
Nenue@6
|
346 inherits = "Caster Icon", name = "Insanity",
|
Nenue@6
|
347 type = 'aura', display = 'icon',
|
Nenue@6
|
348 unit = 'player', filters = 'PLAYER|HELPFUL',
|
Nenue@6
|
349 spellID = 132573, playerClass = 'PRIEST',
|
Nenue@6
|
350 order = 3,
|
Nenue@6
|
351 },
|
Nenue@6
|
352 {
|
Nenue@6
|
353 name = "Shadow Word: Pain",
|
Nenue@6
|
354 type = 'aura', display = 'icon',
|
Nenue@6
|
355 unit = 'target', filters = 'PLAYER|HARMFUL',
|
Nenue@6
|
356 spellID = 589, playerClass = 'PRIEST', specPage = 3,
|
Nenue@6
|
357
|
Nenue@6
|
358 container = 'DoTs',
|
Nenue@6
|
359 order = 1,
|
Nenue@6
|
360 sound_active = '',
|
Nenue@6
|
361 },
|
Nenue@6
|
362 {
|
Nenue@6
|
363 name = "Mental Fatigue",
|
Nenue@6
|
364 type = 'aura', display = 'icon',
|
Nenue@6
|
365 unit = 'target', filters = 'PLAYER|HARMFUL',
|
Nenue@6
|
366 spellID = 184915, playerClass = 'PRIEST', specPage = 3,
|
Nenue@6
|
367
|
Nenue@6
|
368 parent = 'TekplayerCastBar',
|
Nenue@6
|
369 container = 'DoTs',
|
Nenue@6
|
370 order = 1,
|
Nenue@6
|
371 sound_active = '',
|
Nenue@6
|
372 },
|
Nenue@6
|
373 {
|
Nenue@6
|
374 name = "Vampiric Touch",
|
Nenue@6
|
375 container = 'DoTs',
|
Nenue@6
|
376 type = 'aura', display = 'icon',
|
Nenue@6
|
377 unit = 'target', filters = 'PLAYER|HARMFUL',
|
Nenue@6
|
378 spellID = 34914, playerClass = 'PRIEST', specPage = 3,
|
Nenue@6
|
379 order =2,
|
Nenue@6
|
380 },
|
Nenue@6
|
381 {
|
Nenue@6
|
382 name = "PW:Shield",
|
Nenue@6
|
383 type = 'cooldown', display = 'icon',
|
Nenue@6
|
384 unit = 'player',
|
Nenue@6
|
385 spellID = 17, playerClass = 'PRIEST',
|
Nenue@6
|
386 },
|
Nenue@6
|
387 {
|
Nenue@6
|
388 name = "Cascade",
|
Nenue@6
|
389 type = 'cooldown', display = 'icon',
|
Nenue@6
|
390 unit = 'player',
|
Nenue@6
|
391 spellID = 127632, talentID = 21718, playerClass = 'PRIEST',
|
Nenue@6
|
392 },
|
Nenue@6
|
393 })
|
Nenue@6
|
394 end |