annotate Constants.lua @ 37:e84d645c8ab8

- revised the tracker update function to build its complete data list up front and use the values as points of comparison for determining possible out of place blocks, which will be iterated over afterward to remove what wasn't re-used - also entailed revising the exact role of global event handlers and function hooks, limiting their directions of communication so one doesn't end up calling the other multiple or inifinity times - schema handling polish
author Nenue
date Mon, 18 Apr 2016 07:56:23 -0400
parents 3dbcad2b387d
children
rev   line source
Nenue@0 1 --- ${PACKAGE_NAME}
Nenue@0 2 -- @file-author@
Nenue@0 3 -- @project-revision@ @project-hash@
Nenue@0 4 -- @file-revision@ @file-hash@
Nenue@0 5 -- Created: 3/22/2016 3:14 PM
Nenue@0 6 local _, A = ...
Nenue@0 7 local B = A.frame
Nenue@0 8
Nenue@0 9 -----------------------
Nenue@0 10 -- Buff frames metadata
Nenue@0 11 -----------------------
Nenue@0 12 local legendAlpha = 0.5
Nenue@0 13 B.displays.BuffButton = {
Nenue@0 14 legendColor = {0, 1, 0, legendAlpha},
Nenue@0 15 maxIcons = BUFF_MAX_DISPLAY,
Nenue@0 16 actualIcons = function () return _G.BUFF_ACTUAL_DISPLAY end,
Nenue@0 17 buffName = 'BuffButton',
Nenue@0 18 drawCount = {},
Nenue@0 19 filters = 'HELPFUL',
Nenue@0 20 anchorTemplate = 'VeneerAnchorTemplate',
Nenue@0 21 }
Nenue@0 22 B.displays.DebuffButton = {
Nenue@0 23 legendColor = {1, 0, 0, legendAlpha},
Nenue@0 24 maxIcons = DEBUFF_MAX_DISPLAY,
Nenue@0 25 actualIcons = function () return _G.DEBUFF_ACTUAL_DISPLAY end,
Nenue@0 26 buffName = 'DebuffButton',
Nenue@0 27 drawCount = {},
Nenue@0 28 filters = 'HARMFUL',
Nenue@0 29 anchorTemplate = 'VeneerAnchorTemplate',
Nenue@0 30 }
Nenue@0 31 B.displays.TempEnchant = {
Nenue@0 32 legendColor = {1, 0, 0.5, legendAlpha},
Nenue@0 33 maxIcons = NUM_TEMP_ENCHANT_FRAMES,
Nenue@0 34 actualIcons = function () return BuffFrame.numEnchants end,
Nenue@0 35 buffName = 'TempEnchant',
Nenue@0 36 drawCount = {},
Nenue@0 37 anchorTemplate = 'VeneerAnchorTemplate',
Nenue@0 38 }
Nenue@0 39 B.displays.ConsolidatedBuff = {
Nenue@0 40 legendColor = {0.5, 0.5, 0.5, legendAlpha},
Nenue@0 41 maxIcons = 9,
Nenue@0 42 actualIcons = function() return select(2, GetRaidBuffInfo()) end,
Nenue@0 43 buffName = 'ConsolidatedBuff',
Nenue@0 44 anchorTemplate = 'VeneerConsolidatedBuffsAnchor',
Nenue@0 45 buffTemplate = 'VeneerRaidBuffTemplate',
Nenue@0 46 drawCount = {},
Nenue@0 47 filters = 'HELPFUL',
Nenue@0 48 }
Nenue@0 49
Nenue@0 50 -----------------------
Nenue@0 51 -- RaidBuff visual args
Nenue@0 52 -----------------------
Nenue@0 53 B.BuffStyles = {
Nenue@0 54 ["active"] = {
Nenue@0 55 SetDesaturated = false,
Nenue@0 56 Color = {1, 1, 1, 1},
Nenue@0 57 SetBlendMode = 'BLEND',
Nenue@0 58 TextColor = {1,1,1,1},
Nenue@0 59 },
Nenue@0 60 ["missing"] = {
Nenue@0 61 SetDesaturated = false,
Nenue@0 62 Color = {1, 0, 0, 0.5},
Nenue@0 63 SetBlendMode = 'ADD',
Nenue@0 64 TextColor = {1,0,0,1},
Nenue@0 65 },
Nenue@0 66 ["available"] = {
Nenue@0 67 SetDesaturated = true,
Nenue@0 68 Color = {0.35, 1, 0.35, 0.5},
Nenue@0 69 SetBlendMode = 'ADD',
Nenue@0 70 TextColor = {1, 1, 0, 1},
Nenue@0 71 },
Nenue@0 72 }
Nenue@0 73
Nenue@0 74 --- RaidBuff availability criteria
Nenue@0 75 -- @field spellID - UnitAura() == true
Nenue@0 76 -- @field spec - test for spec choice
Nenue@0 77 -- @field auraType - UnitAura() == true, and no other tests of the same value have returned true prior
Nenue@0 78 -- @field talent - test for talent selection
Nenue@0 79 -- @field petFamily - test pet family
Nenue@0 80 -- @field [true] - passive group aura
Nenue@0 81 B.ClassRaidBuffs = {
Nenue@0 82 -- stats
Nenue@0 83 [1] = {
Nenue@0 84 ['HUNTER'] = {
Nenue@0 85 {talent = {155228}, spellID = 160206, spellName = 'Lone Wolf: Power of the Primates', auraType = 'lonewolf'},
Nenue@0 86 {petFamily = 'Dog'}, -- active pet family
Nenue@0 87 {petFamily = 'Gorilla'},
Nenue@0 88 {petFamily = 'Shale Spider'},
Nenue@0 89 {petFamily = 'Worm'},
Nenue@0 90 },
Nenue@0 91 ['DRUID'] = {
Nenue@0 92 {spellID = 1126, spellName = 'Mark of the Wild'},
Nenue@0 93 },
Nenue@0 94 ['MONK'] = {
Nenue@0 95 {spellID = 115921, spellName = 'Legacy of the Emperor'},
Nenue@0 96 {spellID = 116781, spellName = 'Legacy of the White Tiger'} -- windwalker, replaces emperor internally
Nenue@0 97 },
Nenue@0 98 ['PALADIN'] = {spellID = 20217, spellName = 'Blessing of Kings', auraType = 'blessing'},
Nenue@0 99 },
Nenue@0 100
Nenue@0 101 -- stamina
Nenue@0 102 [2] = {
Nenue@0 103 ['HUNTER'] = {
Nenue@0 104 {talent = {155228}, spellID = 160199, spellName = 'Lone Wolf: Fortitude of the Bear', auraType = 'lonewolf'},
Nenue@0 105 {petFamily = 'Bear'}, -- active pet family
Nenue@0 106 {petFamily = 'Goat'},
Nenue@0 107 {petFamily = 'Rylak'},
Nenue@0 108 {petFamily = 'Silithid'},
Nenue@0 109 },
Nenue@0 110 ['PRIEST'] = {
Nenue@0 111 {spellID = 21562, 'Power Word: Fortitude'}
Nenue@0 112 },
Nenue@0 113 ['WARRIOR'] = {
Nenue@0 114 {spellID = 469, spellName = 'Commanding Shout', auraType = 'shout'}
Nenue@0 115 },
Nenue@0 116 ['WARLOCK'] = {
Nenue@0 117 {true}
Nenue@0 118 }
Nenue@0 119 },
Nenue@0 120
Nenue@0 121 -- attack power
Nenue@0 122 [3] = {
Nenue@0 123 ['HUNTER'] = {
Nenue@0 124 {true},
Nenue@0 125 },
Nenue@0 126 ['DEATHKNIGHT'] = {
Nenue@0 127 {spec = 2},
Nenue@0 128 {spec = 3},
Nenue@0 129 },
Nenue@0 130 ['WARRIOR'] = {
Nenue@0 131 {spellName = 'Battle Shout', auraType = 'shout'}
Nenue@0 132 }
Nenue@0 133 },
Nenue@0 134
Nenue@0 135 -- HASTE
Nenue@0 136 [4] = {
Nenue@0 137 ['HUNTER'] = {
Nenue@0 138 {talent = {155228}, spellID = 160203, spellName = 'Lone Wolf: Haste of the Hyena', auraType = 'lonewolf'},
Nenue@0 139 {petFamily = 'Hyena'}, -- active pet family
Nenue@0 140 {petFamily = 'Sporebat'},
Nenue@0 141 {petFamily = 'Rylak'},
Nenue@0 142 {petFamily = 'Wasp'},
Nenue@0 143 },
Nenue@0 144 ['DEATHKNIGHT'] = {
Nenue@0 145 {spec = 2}, -- unholy aura
Nenue@0 146 {spec = 3},
Nenue@0 147 },
Nenue@0 148 ['PRIEST'] = {
Nenue@0 149 {spec = 3}, -- mind quickening
Nenue@0 150 },
Nenue@0 151 ['ROGUE'] = {
Nenue@0 152 true -- swiftblade's
Nenue@0 153 },
Nenue@0 154 ['SHAMAN'] = {
Nenue@0 155 true -- grace of air
Nenue@0 156 },
Nenue@0 157 },
Nenue@0 158
Nenue@0 159 -- SPELL POWER
Nenue@0 160 [5] = {
Nenue@0 161 ['HUNTER'] = {
Nenue@0 162 {talent = {155228}, spellID = 160205, spellName = 'Lone Wolf: Wisdom of the Serpent', auraType = 'lonewolf'},
Nenue@0 163 {petFamily = 'Waterstrider'}, -- active pet family
Nenue@0 164 {petFamily = 'Serpent'},
Nenue@0 165 {petFamily = 'Silithid'},
Nenue@0 166 },
Nenue@0 167 ['MAGE'] = {
Nenue@0 168 {spellID = 1459, spellName = 'Arcane Brilliance'}, -- arcane brilliance
Nenue@0 169 {spellID = 61316, spellName = 'Dalaran Brilliance'}, -- dalaran brilliance
Nenue@0 170 },
Nenue@0 171 ['WARLOCK'] = {
Nenue@0 172 {spellID = 109773,spellName = 'Dark Intent' }
Nenue@0 173 },
Nenue@0 174 },
Nenue@0 175
Nenue@0 176 -- CRITICAL STRIKE
Nenue@0 177 [6] = {
Nenue@0 178 ['HUNTER'] = {
Nenue@0 179 {talent = {155228}, spellID = 160200, spellName = 'Lone Wolf: Ferocity of the Raptor', auraType = 'lonewolf'},
Nenue@0 180 {petFamily = 'Devilsaur'}, -- active pet family
Nenue@0 181 {petFamily = 'Quilen'},
Nenue@0 182 {petFamily = 'Raptor'},
Nenue@0 183 {petFamily = 'Shale Spider'},
Nenue@0 184 {petFamily = 'Waterstrider'},
Nenue@0 185 {petFamily = 'Wolf'},
Nenue@0 186 },
Nenue@0 187 ['DRUID'] = {
Nenue@0 188 {spec = 2, spellID = 17007, auraType = 'druidform'}
Nenue@0 189 },
Nenue@0 190 ['MAGE'] = {
Nenue@0 191 {spellID = 1459, spellName = 'Arcane Brilliance'}, -- arcane brilliance
Nenue@0 192 {spellID = 61316, spellName = 'Dalaran Brilliance'}, -- dalaran brilliance
Nenue@0 193 },
Nenue@0 194 ['MONK'] = {
Nenue@0 195 {spellID = 116781, spellName = 'Legacy of the White Tiger', spec = 2} -- windwalker
Nenue@0 196 }
Nenue@0 197 },
Nenue@0 198
Nenue@0 199 -- MASTERY
Nenue@0 200 [7] = {
Nenue@0 201 ['HUNTER'] = {
Nenue@0 202 {talent = {155228}, spellID = 160198, spellName = 'Lone Wolf: Grace of the Cat', auraType = 'lonewolf'},
Nenue@0 203 {petFamily = 'Cat'}, -- active pet family
Nenue@0 204 {petFamily = 'Hydra'},
Nenue@0 205 {petFamily = 'Spirit Beast'},
Nenue@0 206 {petFamily = 'Tallstrider'},
Nenue@0 207 },
Nenue@0 208 ['DEATHKNIGHT'] = {
Nenue@0 209 {spec = 1}
Nenue@0 210 },
Nenue@0 211 ['DRUID'] = {
Nenue@0 212 {spec = 1, spellID = 24907, auraType = 'druidform'},
Nenue@0 213 },
Nenue@0 214 ['PALADIN'] = {
Nenue@0 215 {spec = 1, spellID = 19740, spellName = 'Blessing of Might', auraType = 'blessing'}
Nenue@0 216 },
Nenue@0 217 ['SHAMAN'] = {true},
Nenue@0 218 },
Nenue@0 219
Nenue@0 220 -- MULTISTRIKE
Nenue@0 221 [8] = {
Nenue@0 222 ['HUNTER'] = {
Nenue@0 223 {talent = {155228}, spellID = 172968, spellName = 'Lone Wolf: Quickness of the Dragonhawk', auraType = 'lonewolf'},
Nenue@0 224 {petFamily = 'Bat'}, -- active pet family
Nenue@0 225 {petFamily = 'Clefthoof'},
Nenue@0 226 {petFamily = 'Corehound'},
Nenue@0 227 {petFamily = 'Dragonhawk'},
Nenue@0 228 {petFamily = 'Wind Serpent'},
Nenue@0 229 },
Nenue@0 230 ['MONK'] = {
Nenue@0 231 {spec = 2 }
Nenue@0 232 }, -- Windflurry,
Nenue@0 233 ['PRIEST'] = {
Nenue@0 234 {spec = 3 }
Nenue@0 235 }, -- quickening,
Nenue@0 236 ['ROGUE'] = {true}, -- swiftblade's
Nenue@0 237 ['WARLOCK'] = {
Nenue@0 238 {spellID = 109773,spellName = 'Dark Intent' }
Nenue@0 239 },
Nenue@0 240 },
Nenue@0 241
Nenue@0 242 -- VERSATILITY
Nenue@0 243 [9] = {
Nenue@0 244 ['HUNTER'] = {
Nenue@0 245 {talent = {155228}, spellID = 172967, spellName = 'Lone Wolf: Versatility of the Ravager', auraType = 'lonewolf'},
Nenue@0 246 {petFamily = 'Ravager'}, -- active pet family
Nenue@0 247 {petFamily = 'Boar'},
Nenue@0 248 {petFamily = 'Porcupine'},
Nenue@0 249 {petFamily = 'Clefthoof'},
Nenue@0 250 {petFamily = 'Stag'},
Nenue@0 251 {petFamily = 'Worm'},
Nenue@0 252 {petFamily = 'Bird of Prey'},
Nenue@0 253 },
Nenue@0 254 ['DEATH KNIGHT'] = {
Nenue@0 255 {spec = 2}, -- unholy aura
Nenue@0 256 {spec = 3},
Nenue@0 257 },
Nenue@0 258 ['DRUID'] = {
Nenue@0 259 {spellID = 1126, spellName = 'Mark of the Wild'},
Nenue@0 260 },
Nenue@0 261 ['PALADIN'] = {
Nenue@0 262 {spec = 2}, -- retribution
Nenue@0 263 },
Nenue@0 264 ['WARRIOR'] = {
Nenue@0 265 {spec = 2}, -- arms or fury
Nenue@0 266 {spec = 3},
Nenue@0 267 },
Nenue@0 268 }
Nenue@0 269 }
Nenue@0 270
Nenue@0 271 -------------------------
Nenue@0 272 -- Default config values
Nenue@0 273 -------------------------
Nenue@0 274 B.ConfDefaults = {
Nenue@0 275 -- defaulted to on for first-time setup
Nenue@0 276 ConfigMode = true,
Nenue@0 277 GuidesMode = true,
Nenue@0 278
Nenue@0 279 BuffButtonAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', -200, -5},
Nenue@0 280 BuffButtonMax = 24,
Nenue@0 281 BuffButtonPerRow = 10,
Nenue@0 282 BuffButtonSize = 50,
Nenue@0 283 BuffButtonSpacing = 4,
Nenue@0 284 BuffButtonZoom = 15,
Nenue@0 285 BuffButtonVertexColor = {},
Nenue@0 286 BuffButtonPoint = {'TOPRIGHT', 'TOPRIGHT'},
Nenue@0 287 BuffButtonDurationSize = 16,
Nenue@0 288 BuffButtonDurationPoint = {'BOTTOM', 'BOTTOM', 0, -1},
Nenue@0 289 BuffButtonCountSize = 18,
Nenue@0 290 BuffButtonCountPoint = {'TOPRIGHT', 'TOPRIGHT', -3, -3},
Nenue@0 291 BuffButtonRelativeX = -1,
Nenue@0 292 BuffButtonRelativeY = -1,
Nenue@0 293
Nenue@0 294 BuffButtonColor = {1, 1, 1, 1},
Nenue@0 295 BuffButtonPlayerColor = {1,1,1,1},
Nenue@0 296 BuffButtonRaidColor = {0.25,1,0.25,1},
Nenue@0 297 BuffButtonBossColor = {1,0.5,0,1},
Nenue@0 298 BuffButtonBorder = 1,
Nenue@0 299
Nenue@0 300 BuffButtonWarningFade = true,
Nenue@0 301 BuffButtonShowSelfCast = true,
Nenue@0 302
Nenue@0 303 DebuffButtonAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', -200, -200},
Nenue@0 304 DebuffButtonMax = 12,
Nenue@0 305 DebuffButtonPerRow = 10,
Nenue@0 306 DebuffButtonSize = 50,
Nenue@0 307 DebuffButtonSpacing = 4,
Nenue@0 308 DebuffButtonDurationSize = 16,
Nenue@0 309 DebuffButtonZoom = 15,
Nenue@0 310 DebuffButtonVertexColor = {},
Nenue@0 311 DebuffButtonPoint = {'TOPRIGHT','TOPRIGHT'},
Nenue@0 312 DebuffButtonRelativeX = -1,
Nenue@0 313 DebuffButtonRelativeY = -1,
Nenue@0 314
Nenue@0 315
Nenue@0 316 TempEnchantAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', -200, -300},
Nenue@0 317 TempEnchantMax = 2,
Nenue@0 318 TempEnchantPerRow = 10,
Nenue@0 319 TempEnchantSize = 50,
Nenue@0 320 TempEnchantSpacing = 4,
Nenue@0 321 TempEnchantDurationSize = 16,
Nenue@0 322 TempEnchantZoom = 15,
Nenue@0 323 TempEnchantVertexColor = {},
Nenue@0 324 TempEnchantPoint = {'TOPRIGHT', 'TOPRIGHT'},
Nenue@0 325 TempEnchantRelativeX = -1,
Nenue@0 326 TempEnchantRelativeY = -1,
Nenue@0 327 TempEnchantColor = {1,0,0.5,1},
Nenue@0 328
Nenue@0 329 ConsolidatedBuffAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', 0, 0},
Nenue@0 330 ConsolidatedBuffIcon = false,
Nenue@0 331 ConsolidatedBuffMax = 9,
Nenue@0 332 ConsolidatedBuffSize = 16,
Nenue@0 333 ConsolidatedBuffParent = 'BuffButton',
Nenue@0 334 ConsolidatedBuffPosition = 1,
Nenue@0 335 ConsolidatedBuffSpacing = 1,
Nenue@0 336 ConsolidatedBuffBorder = 0,
Nenue@0 337 ConsolidatedBuffPerRow = 3,
Nenue@0 338 ConsolidatedBuffPoint = {'TOPRIGHT', 'TOPRIGHT'},
Nenue@0 339 ConsolidatedBuffRelativeX = -1,
Nenue@0 340 ConsolidatedBuffRelativeY = -1,
Nenue@0 341 ConsolidatedBuffDurationSize = 0,
Nenue@0 342 ConsolidatedBuffDurationPoint = {'BOTTOM', 'BOTTOM', 0, 0},
Nenue@0 343 ConsolidatedBuffCountPoint = {'BOTTOM', 'BOTTOM', 0, 0},
Nenue@0 344
Nenue@0 345 RaidShowMissing = true,
Nenue@0 346
Nenue@0 347 }