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 = {...} |
