view Constants.lua @ 7:5301c68f28d8

TrackerBlock - use IsModifiedClick function to determine appropriate OnClick actions - handle 'CHATLINK' modifier - handle 'TOGGLEQUESTWATCH' modifier TrackerBlockObjectives - use a generic framework to manage frame creation for various criteria tracker types: - ProgressBar when Blizzard flag data indicates so - skip when Blizzard flag data indicates so - DynamicText otherwise - events related to the criteria are registered in the criteria frame, and unregistered when the frame is hidden, either by destruction of its parent or completion
author Nenue
date Fri, 01 Apr 2016 12:27:05 -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,

}