view 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
line wrap: on
line source
--- ${PACKAGE_NAME}
-- @file-author@
-- @project-revision@ @project-hash@
-- @file-revision@ @file-hash@
-- Created: 3/22/2016 3:14 PM
local _, A = ...
local B = A.frame

-----------------------
-- Buff frames metadata
-----------------------
local legendAlpha = 0.5
B.displays.BuffButton = {
  legendColor = {0, 1, 0, legendAlpha},
  maxIcons = BUFF_MAX_DISPLAY,
  actualIcons = function () return _G.BUFF_ACTUAL_DISPLAY end,
  buffName = 'BuffButton',
  drawCount = {},
  filters = 'HELPFUL',
  anchorTemplate = 'VeneerAnchorTemplate',
}
B.displays.DebuffButton = {
  legendColor = {1, 0, 0, legendAlpha},
  maxIcons = DEBUFF_MAX_DISPLAY,
  actualIcons = function () return _G.DEBUFF_ACTUAL_DISPLAY end,
  buffName = 'DebuffButton',
  drawCount = {},
  filters = 'HARMFUL',
  anchorTemplate = 'VeneerAnchorTemplate',
}
B.displays.TempEnchant = {
  legendColor = {1, 0, 0.5, legendAlpha},
  maxIcons = NUM_TEMP_ENCHANT_FRAMES,
  actualIcons = function () return BuffFrame.numEnchants end,
  buffName = 'TempEnchant',
  drawCount = {},
  anchorTemplate = 'VeneerAnchorTemplate',
}
B.displays.ConsolidatedBuff = {
  legendColor = {0.5, 0.5, 0.5, legendAlpha},
  maxIcons = 9,
  actualIcons = function() return select(2, GetRaidBuffInfo()) end,
  buffName = 'ConsolidatedBuff',
  anchorTemplate = 'VeneerConsolidatedBuffsAnchor',
  buffTemplate = 'VeneerRaidBuffTemplate',
  drawCount = {},
  filters = 'HELPFUL',
}

-----------------------
-- RaidBuff visual args
-----------------------
B.BuffStyles = {
  ["active"] = {
    SetDesaturated = false,
    Color = {1, 1, 1, 1},
    SetBlendMode = 'BLEND',
    TextColor = {1,1,1,1},
  },
  ["missing"] = {
    SetDesaturated = false,
    Color = {1, 0, 0, 0.5},
    SetBlendMode = 'ADD',
    TextColor = {1,0,0,1},
  },
  ["available"] = {
    SetDesaturated = true,
    Color = {0.35, 1, 0.35, 0.5},
    SetBlendMode = 'ADD',
    TextColor = {1, 1, 0, 1},
  },
}

--- RaidBuff availability criteria
-- @field spellID   - UnitAura() == true
-- @field spec      - test for spec choice
-- @field auraType  - UnitAura() == true, and no other tests of the same value have returned true prior
-- @field talent    - test for talent selection
-- @field petFamily - test pet family
-- @field [true]    - passive group aura
B.ClassRaidBuffs = {
  -- stats
  [1] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 160206, spellName = 'Lone Wolf: Power of the Primates', auraType = 'lonewolf'},
      {petFamily = 'Dog'}, -- active pet family
      {petFamily = 'Gorilla'},
      {petFamily = 'Shale Spider'},
      {petFamily = 'Worm'},
    },
    ['DRUID'] = {
      {spellID = 1126, spellName = 'Mark of the Wild'},
    },
    ['MONK'] = {
      {spellID = 115921, spellName = 'Legacy of the Emperor'},
      {spellID = 116781, spellName = 'Legacy of the White Tiger'} -- windwalker, replaces emperor internally
    },
    ['PALADIN'] = {spellID = 20217, spellName = 'Blessing of Kings', auraType = 'blessing'},
  },

  -- stamina
  [2] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 160199, spellName = 'Lone Wolf: Fortitude of the Bear', auraType = 'lonewolf'},
      {petFamily = 'Bear'}, -- active pet family
      {petFamily = 'Goat'},
      {petFamily = 'Rylak'},
      {petFamily = 'Silithid'},
    },
    ['PRIEST'] = {
      {spellID = 21562, 'Power Word: Fortitude'}
    },
    ['WARRIOR'] = {
      {spellID = 469, spellName = 'Commanding Shout', auraType = 'shout'}
    },
    ['WARLOCK'] = {
      {true}
    }
  },

  -- attack power
  [3] = {
    ['HUNTER'] = {
      {true},
    },
    ['DEATHKNIGHT'] = {
      {spec = 2},
      {spec = 3},
    },
    ['WARRIOR'] = {
      {spellName = 'Battle Shout', auraType = 'shout'}
    }
  },

  -- HASTE
  [4] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 160203, spellName = 'Lone Wolf: Haste of the Hyena', auraType = 'lonewolf'},
      {petFamily = 'Hyena'}, -- active pet family
      {petFamily = 'Sporebat'},
      {petFamily = 'Rylak'},
      {petFamily = 'Wasp'},
    },
    ['DEATHKNIGHT'] = {
      {spec = 2}, -- unholy aura
      {spec = 3},
    },
    ['PRIEST'] = {
      {spec = 3}, -- mind quickening
    },
    ['ROGUE'] = {
      true -- swiftblade's
    },
    ['SHAMAN'] = {
      true -- grace of air
    },
  },

  -- SPELL POWER
  [5] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 160205, spellName = 'Lone Wolf: Wisdom of the Serpent', auraType = 'lonewolf'},
      {petFamily = 'Waterstrider'}, -- active pet family
      {petFamily = 'Serpent'},
      {petFamily = 'Silithid'},
    },
    ['MAGE'] = {
      {spellID = 1459, spellName = 'Arcane Brilliance'},  -- arcane brilliance
      {spellID = 61316, spellName = 'Dalaran Brilliance'}, -- dalaran brilliance
    },
    ['WARLOCK'] = {
      {spellID = 109773,spellName = 'Dark Intent' }
    },
  },

  -- CRITICAL STRIKE
  [6] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 160200, spellName = 'Lone Wolf: Ferocity of the Raptor', auraType = 'lonewolf'},
      {petFamily = 'Devilsaur'}, -- active pet family
      {petFamily = 'Quilen'},
      {petFamily = 'Raptor'},
      {petFamily = 'Shale Spider'},
      {petFamily = 'Waterstrider'},
      {petFamily = 'Wolf'},
    },
    ['DRUID'] = {
      {spec = 2, spellID = 17007, auraType = 'druidform'}
    },
    ['MAGE'] = {
      {spellID = 1459, spellName = 'Arcane Brilliance'},  -- arcane brilliance
      {spellID = 61316, spellName = 'Dalaran Brilliance'}, -- dalaran brilliance
    },
    ['MONK'] = {
      {spellID = 116781, spellName = 'Legacy of the White Tiger', spec = 2} -- windwalker
    }
  },

  -- MASTERY
  [7] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 160198, spellName = 'Lone Wolf: Grace of the Cat', auraType = 'lonewolf'},
      {petFamily = 'Cat'}, -- active pet family
      {petFamily = 'Hydra'},
      {petFamily = 'Spirit Beast'},
      {petFamily = 'Tallstrider'},
    },
    ['DEATHKNIGHT'] = {
      {spec = 1}
    },
    ['DRUID'] = {
      {spec = 1, spellID = 24907, auraType = 'druidform'},
    },
    ['PALADIN'] = {
      {spec = 1, spellID = 19740, spellName = 'Blessing of Might', auraType = 'blessing'}
    },
    ['SHAMAN'] = {true},
  },

  -- MULTISTRIKE
  [8] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 172968, spellName = 'Lone Wolf: Quickness of the Dragonhawk', auraType = 'lonewolf'},
      {petFamily = 'Bat'}, -- active pet family
      {petFamily = 'Clefthoof'},
      {petFamily = 'Corehound'},
      {petFamily = 'Dragonhawk'},
      {petFamily = 'Wind Serpent'},
    },
    ['MONK'] = {
      {spec = 2 }
    }, -- Windflurry,
    ['PRIEST'] = {
      {spec = 3 }
    }, -- quickening,
    ['ROGUE'] = {true}, -- swiftblade's
    ['WARLOCK'] = {
      {spellID = 109773,spellName = 'Dark Intent' }
    },
  },

  -- VERSATILITY
  [9] = {
    ['HUNTER'] = {
      {talent = {155228}, spellID = 172967, spellName = 'Lone Wolf: Versatility of the Ravager', auraType = 'lonewolf'},
      {petFamily = 'Ravager'}, -- active pet family
      {petFamily = 'Boar'},
      {petFamily = 'Porcupine'},
      {petFamily = 'Clefthoof'},
      {petFamily = 'Stag'},
      {petFamily = 'Worm'},
      {petFamily = 'Bird of Prey'},
    },
    ['DEATH KNIGHT'] = {
      {spec = 2}, -- unholy aura
      {spec = 3},
    },
    ['DRUID'] = {
      {spellID = 1126, spellName = 'Mark of the Wild'},
    },
    ['PALADIN'] = {
      {spec = 2}, -- retribution
    },
    ['WARRIOR'] = {
      {spec = 2}, -- arms or fury
      {spec = 3},
    },
  }
}

-------------------------
-- Default config values
-------------------------
B.ConfDefaults = {
  -- defaulted to on for first-time setup
  ConfigMode = true,
  GuidesMode = true,

  BuffButtonAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', -200, -5},
  BuffButtonMax = 24,
  BuffButtonPerRow = 10,
  BuffButtonSize = 50,
  BuffButtonSpacing = 4,
  BuffButtonZoom = 15,
  BuffButtonVertexColor = {},
  BuffButtonPoint = {'TOPRIGHT', 'TOPRIGHT'},
  BuffButtonDurationSize = 16,
  BuffButtonDurationPoint = {'BOTTOM', 'BOTTOM', 0, -1},
  BuffButtonCountSize = 18,
  BuffButtonCountPoint = {'TOPRIGHT', 'TOPRIGHT', -3, -3},
  BuffButtonRelativeX = -1,
  BuffButtonRelativeY = -1,

  BuffButtonColor = {1, 1, 1, 1},
  BuffButtonPlayerColor = {1,1,1,1},
  BuffButtonRaidColor = {0.25,1,0.25,1},
  BuffButtonBossColor = {1,0.5,0,1},
  BuffButtonBorder = 1,

  BuffButtonWarningFade = true,
  BuffButtonShowSelfCast = true,

  DebuffButtonAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', -200, -200},
  DebuffButtonMax = 12,
  DebuffButtonPerRow = 10,
  DebuffButtonSize = 50,
  DebuffButtonSpacing = 4,
  DebuffButtonDurationSize = 16,
  DebuffButtonZoom = 15,
  DebuffButtonVertexColor = {},
  DebuffButtonPoint = {'TOPRIGHT','TOPRIGHT'},
  DebuffButtonRelativeX = -1,
  DebuffButtonRelativeY = -1,


  TempEnchantAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', -200, -300},
  TempEnchantMax = 2,
  TempEnchantPerRow = 10,
  TempEnchantSize = 50,
  TempEnchantSpacing = 4,
  TempEnchantDurationSize = 16,
  TempEnchantZoom = 15,
  TempEnchantVertexColor = {},
  TempEnchantPoint = {'TOPRIGHT', 'TOPRIGHT'},
  TempEnchantRelativeX = -1,
  TempEnchantRelativeY = -1,
  TempEnchantColor = {1,0,0.5,1},

  ConsolidatedBuffAnchor = {'TOPRIGHT', 'UIParent', 'TOPRIGHT', 0, 0},
  ConsolidatedBuffIcon = false,
  ConsolidatedBuffMax = 9,
  ConsolidatedBuffSize = 16,
  ConsolidatedBuffParent = 'BuffButton',
  ConsolidatedBuffPosition = 1,
  ConsolidatedBuffSpacing = 1,
  ConsolidatedBuffBorder = 0,
  ConsolidatedBuffPerRow = 3,
  ConsolidatedBuffPoint = {'TOPRIGHT', 'TOPRIGHT'},
  ConsolidatedBuffRelativeX = -1,
  ConsolidatedBuffRelativeY = -1,
  ConsolidatedBuffDurationSize = 0,
  ConsolidatedBuffDurationPoint = {'BOTTOM', 'BOTTOM', 0, 0},
  ConsolidatedBuffCountPoint = {'BOTTOM', 'BOTTOM', 0, 0},

  RaidShowMissing = true,

}