Mercurial > wow > skeletonkey
comparison SkeletonStats/DamageMeter.lua @ 1:cd7d06bcd98d
KeyBinds:
set hotkey text for blizzard action buttons
UnitFrame:
prototype templates for the majority of units
author | Nenue |
---|---|
date | Tue, 21 Jun 2016 04:47:52 -0400 |
parents | 69e828f4238a |
children | 07293831dd7b |
comparison
equal
deleted
inserted
replaced
0:69e828f4238a | 1:cd7d06bcd98d |
---|---|
8 -- dm | 8 -- dm |
9 -- {...} = actor ( name, guid ) -- returns actor table | 9 -- {...} = actor ( name, guid ) -- returns actor table |
10 -- .showbar (bar ) -- toggle row | 10 -- .showbar (bar ) -- toggle row |
11 -- .hidebar ( bar ) -- | 11 -- .hidebar ( bar ) -- |
12 -- .ui () -- update chart | 12 -- .ui () -- update chart |
13 local KT = select(2,...) | 13 local KT = LibKT.register(DamageMeter) |
14 local dm = DamageMeter | 14 local dm = DamageMeter |
15 KT.register(dm) | 15 local db |
16 | |
17 local segments = {} | 16 local segments = {} |
18 local actors = {} | 17 local actors = {} |
19 local ordered = {} | 18 local ordered = {} |
20 local actorsOrdered = {} | 19 local actorsOrdered = {} |
21 local prototypes = {} | 20 local prototypes = {} |
31 local SortByDamage = function(a, b) | 30 local SortByDamage = function(a, b) |
32 end | 31 end |
33 | 32 |
34 dm.init = function() | 33 dm.init = function() |
35 dm:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED') | 34 dm:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED') |
35 dm:RegisterEvent('PLAYER_REGEN_DISABLED') | |
36 dm:RegisterEvent('ENCOUNTER_START') | 36 dm:RegisterEvent('ENCOUNTER_START') |
37 dm.bars = dm.bars or {} | 37 dm.bars = dm.bars or {} |
38 dm.headings = dm.headings or {} | 38 dm.headings = dm.headings or {} |
39 | |
40 sortType = SortByDamage | |
41 end | 39 end |
42 | 40 |
43 dm.ENCOUNTER_START = function() | 41 dm.ENCOUNTER_START = function() |
44 dm.new() | 42 dm.new() |
45 end | 43 end |
46 | 44 |
47 dm.variables = function() | 45 dm.variables = function() |
48 KT.db.segments = KT.db.segments or {} | 46 SkeletonStatsDB = SkeletonStatsDB or {} |
49 KT.db.currentSegment = KT.db.currentSegment or 0 | 47 db = SkeletonStatsDB |
50 KT.db.actors = KT.db.actors or {} | 48 db.segments = db.segments or {} |
51 actors = KT.db.actors | 49 db.currentSegment = db.currentSegment or 0 |
52 segments = KT.db.segments | 50 db.actors = db.actors or {} |
53 viewPos = KT.db.currentSegment | 51 db.viewType = db.viewType or 'damageDone' |
54 | 52 |
53 actors = db.actors | |
54 segments = db.segments | |
55 viewPos = db.currentSegment | |
56 viewType = prototypes[viewType] and viewType or 'damageDone' | |
55 | 57 |
56 dm.handler(viewType) | 58 dm.handler(viewType) |
57 | 59 |
58 -- resolve segment | 60 -- resolve segment |
59 if not segments[viewPos] then | 61 if not segments[viewPos] then |
60 viewPos = dm.new() | 62 viewPos = dm.new() |
61 else | 63 else |
62 view = segments[viewPos] | 64 view = segments[viewPos] |
63 print('Using segment #', viewPos) | 65 print('Using segment #', viewPos) |
64 end | 66 end |
65 KT.db.currentSegment = viewPos | 67 db.currentSegment = viewPos |
66 | 68 |
67 dm.ui() | 69 dm.ui() |
68 end | 70 end |
69 | 71 |
70 dm.handler = function (viewType) | 72 dm.handler = function (viewType) |
71 handler = prototypes[viewType] | 73 handler = prototypes[viewType] |
72 dm.header:SetText(handler.header) | 74 dm.header:SetText(handler.header) |
73 end | 75 end |
74 | 76 |
75 dm.new = function() | 77 dm.new = function() |
76 segmentUID = (KT.db.segUID or 0) + 1 | 78 segmentUID = (db.segUID or 0) + 1 |
77 KT.db.segUID = segmentUID | 79 db.segUID = segmentUID |
78 view = {} | 80 view = {} |
79 viewPos = #segments+1 | 81 viewPos = #segments+1 |
80 segments[viewPos] = view | 82 segments[viewPos] = view |
81 KT.db.currentSegment = viewPos | 83 db.currentSegment = viewPos |
82 print('Starting new segment #', viewPos) | 84 print('Starting new segment #', viewPos) |
83 return viewPos | 85 return viewPos |
84 end | 86 end |
85 local dummyColor = { | 87 local dummyColor = { |
86 r = 0, | 88 r = 0, |
120 | 122 |
121 prototypes.damageDone = { | 123 prototypes.damageDone = { |
122 header = 'Damage Done', | 124 header = 'Damage Done', |
123 } | 125 } |
124 | 126 |
127 dm.PLAYER_REGEN_DISABLED = function() | |
128 dm.new() | |
129 end | |
130 | |
125 dm.COMBAT_LOG_EVENT_UNFILTERED = function(self, event, timeStemp, subEvent, u1, ...) | 131 dm.COMBAT_LOG_EVENT_UNFILTERED = function(self, event, timeStemp, subEvent, u1, ...) |
126 local sourceGUID, sourceName, sourceFlags, _, destGUID, destName, destFlags = ... | 132 local sourceGUID, sourceName, sourceFlags, _, destGUID, destName, destFlags = ... |
127 | 133 |
128 | 134 |
129 local args = {...} | 135 local args = {...} |