133 lines
9.6 KiB
Lua
133 lines
9.6 KiB
Lua
-- DopingControl data/consumables.lua
|
|
-- Consumables tab: slot definitions + buff->slot table + spellID->slot map.
|
|
-- Pure Lua 5.0, no WoW API -- dofile-loadable offline.
|
|
|
|
DopingControl = DopingControl or {}
|
|
local DC = DopingControl
|
|
|
|
-- ------------------------------------------------------------------
|
|
-- Slot definitions (array, order = column order).
|
|
-- Fields: id (stable key, used by DEFAULT_EXPECT / model / UI),
|
|
-- label (column tile abbrev), sub (tile sub-label), full (long name,
|
|
-- used in whisper/report), kind ("aura" | "weapon"),
|
|
-- items (tooltip example text, optional).
|
|
-- Separator decision (once for all data files): items strings are
|
|
-- tooltip/FontString-only, so they may use the middle-dot list separator
|
|
-- "\194\183" (UTF-8 middle dot renders fine in own
|
|
-- FontStrings; the group headers already use the same glyph). Em dashes
|
|
-- stay ASCII "-" (that glyph is unproven in the 1.12 font). SENT
|
|
-- chat lines remain pure ASCII -- they never use these
|
|
-- strings.
|
|
-- ------------------------------------------------------------------
|
|
DC.SLOTS_CONSUMABLES = {
|
|
{ id = "FLASK", label = "FLK", sub = "Flask", full = "Flask", kind = "aura",
|
|
items = "Flask of the Titans \194\183 Distilled Wisdom \194\183 Supreme Power" },
|
|
{ id = "FOOD", label = "FOD", sub = "Food", full = "Food buff", kind = "aura",
|
|
items = "Well Fed - e.g. Grilled Squid \194\183 Blessed Sunfruit" },
|
|
{ id = "AP", label = "AP", sub = "Attack", full = "Attack power", kind = "aura",
|
|
items = "Winterfall Firewater \194\183 Juju Might" },
|
|
{ id = "STR", label = "STR", sub = "Str.", full = "Strength", kind = "aura",
|
|
items = "Juju Power \194\183 Elixir of Giants" },
|
|
{ id = "AGI", label = "AGI", sub = "Agi.", full = "Agility", kind = "aura",
|
|
items = "Elixir of the Mongoose" },
|
|
{ id = "SP", label = "SP", sub = "Spell", full = "Spell power", kind = "aura",
|
|
items = "Greater Arcane Elixir \194\183 Shadow Power \194\183 Firepower" },
|
|
{ id = "MP5", label = "MP5", sub = "Mana", full = "Mana regen", kind = "aura",
|
|
items = "Mageblood Potion \194\183 Nightfin Soup" },
|
|
{ id = "ARM", label = "ARM", sub = "Armor", full = "Armor", kind = "aura",
|
|
items = "Elixir of Superior Defense" },
|
|
{ id = "HP", label = "HP", sub = "Stam.", full = "Stamina/HP", kind = "aura",
|
|
items = "Elixir of Fortitude \194\183 Rumsey Rum Black Label" },
|
|
{ id = "FR", label = "FR", sub = "fire", full = "Fire protection", kind = "aura",
|
|
items = "Greater Fire Protection Potion - situational per boss; enable/disable via the expectation matrix" },
|
|
{ id = "WPN", label = "WPN", sub = "temp.", full = "Weapon (temporary)", kind = "weapon", -- NOT an aura slot
|
|
items = "Dense Sharpening Stone \194\183 Brilliant Wizard/Mana Oil - permanent enchant: Equipment tab" },
|
|
}
|
|
|
|
-- ------------------------------------------------------------------
|
|
-- Buff name -> slot table.
|
|
-- spellID = 0 means "match by name only" (no known aura spell ID).
|
|
-- ------------------------------------------------------------------
|
|
DC.CONSUMABLES = {
|
|
-- FLASK
|
|
["Flask of the Titans"] = { slot = "FLASK", spellID = 17626, item = "Flask of the Titans" },
|
|
["Flask of Supreme Power"] = { slot = "FLASK", spellID = 17628, item = "Flask of Supreme Power" },
|
|
["Flask of Distilled Wisdom"] = { slot = "FLASK", spellID = 17627, item = "Flask of Distilled Wisdom" },
|
|
["Flask of Chromatic Resistance"] = { slot = "FLASK", spellID = 17629, item = "Flask of Chromatic Resistance" },
|
|
["Flask of Petrification"] = { slot = "FLASK", spellID = 17624, item = "Flask of Petrification" },
|
|
|
|
-- FOOD (buff names, not item names; TWoW custom foods likely all show "Well Fed" - unverified)
|
|
["Well Fed"] = { slot = "FOOD", spellID = 0, item = "Grilled Squid etc." },
|
|
-- ["Food"] (the eating tick) deliberately REMOVED: it is
|
|
-- the sit-and-eat channel aura, not a food buff -- it made the FOOD
|
|
-- cell green for anyone currently chewing (field-tested). Only
|
|
-- lasting food buffs count.
|
|
["Increased Stamina"] = { slot = "FOOD", spellID = 0, item = "stamina food" },
|
|
["Dragonbreath Chili"] = { slot = "FOOD", spellID = 15852, item = "Dragonbreath Chili" },
|
|
|
|
-- AP
|
|
["Winterfall Firewater"] = { slot = "AP", spellID = 17038, item = "Winterfall Firewater" },
|
|
["Juju Might"] = { slot = "AP", spellID = 16329, item = "Juju Might" },
|
|
|
|
-- STR
|
|
["Juju Power"] = { slot = "STR", spellID = 16323, item = "Juju Power" },
|
|
["Elixir of Giants"] = { slot = "STR", spellID = 11405, item = "Elixir of Giants" },
|
|
["Elixir of the Giants"] = { slot = "STR", spellID = 11405, item = "Elixir of Giants" }, -- AURA name on this client (measured live: SpellInfo(11405) = "Elixir of the Giants"); the item is named without "the", and matching runs on the aura name first
|
|
["Elixir of Brute Force"] = { slot = "STR", spellID = 17537, item = "Elixir of Brute Force" },
|
|
["Strike of the Scorpok"] = { slot = "STR", spellID = 10669, item = "Strike of the Scorpok" }, -- measured live in a raid (26 players); was tallied as unknown
|
|
["Rage of Ages"] = { slot = "STR", spellID = 0, item = "R.O.I.D.S." }, -- aura name differs from the item; own spell ID not measured yet
|
|
|
|
-- AGI
|
|
["Elixir of the Mongoose"] = { slot = "AGI", spellID = 17538, item = "Elixir of the Mongoose" },
|
|
["Elixir of Greater Agility"] = { slot = "AGI", spellID = 11334, item = "Elixir of Greater Agility" },
|
|
["Greater Agility"] = { slot = "AGI", spellID = 11334, item = "Elixir of Greater Agility" }, -- AURA name (the item name never appears as a buff); was tallied as unknown 14x
|
|
["Elixir of Agility"] = { slot = "AGI", spellID = 11328, item = "Elixir of Agility" },
|
|
|
|
-- SP (merged: arcane_elixir + school_elixir + dreamtonic + dreamshard)
|
|
["Greater Arcane Elixir"] = { slot = "SP", spellID = 17539, item = "Greater Arcane Elixir" },
|
|
["Arcane Elixir"] = { slot = "SP", spellID = 11390, item = "Arcane Elixir" },
|
|
["Elixir of Shadow Power"] = { slot = "SP", spellID = 11474, item = "Elixir of Shadow Power" },
|
|
["Elixir of Frost Power"] = { slot = "SP", spellID = 21920, item = "Elixir of Frost Power" },
|
|
["Greater Frost Power"] = { slot = "SP", spellID = 56544, item = "Elixir of Greater Frost Power" }, -- AURA name (TurtleWoW-added). NOT measured in-game: taken from a TurtleWoW spell database (56544 = "Greater Frost Power", "Increases frost spell damage by up to 40 for 3600 sec.") plus the item name in pfQuest-turtle's item DB; the aura drops "Elixir of" the same way Giants/Agility above do
|
|
["Elixir of Greater Firepower"] = { slot = "SP", spellID = 26276, item = "Elixir of Greater Firepower" },
|
|
["Elixir of Firepower"] = { slot = "SP", spellID = 7844, item = "Elixir of Firepower" },
|
|
["Dreamtonic"] = { slot = "SP", spellID = 45489, item = "Dreamtonic" }, -- use-spell ID; the aura's own ID is unverified
|
|
["Dreamshard Elixir"] = { slot = "SP", spellID = 45427, item = "Dreamshard Elixir" }, -- use-spell ID; the aura's own ID is unverified
|
|
|
|
-- MP5
|
|
["Mageblood Potion"] = { slot = "MP5", spellID = 24363, item = "Mageblood Potion" },
|
|
["Mageblood"] = { slot = "MP5", spellID = 24363, item = "Mageblood Potion" }, -- TWoW buff-name variant (old Data.lua kept both)
|
|
|
|
-- ARM
|
|
["Elixir of Superior Defense"] = { slot = "ARM", spellID = 11348, item = "Elixir of Superior Defense" },
|
|
["Elixir of Greater Defense"] = { slot = "ARM", spellID = 11349, item = "Elixir of Greater Defense" },
|
|
|
|
-- HP (merged: def_fortitude + alcohol STA variants)
|
|
["Elixir of Fortitude"] = { slot = "HP", spellID = 3593, item = "Elixir of Fortitude" },
|
|
["Health II"] = { slot = "HP", spellID = 3593, item = "Elixir of Fortitude" }, -- AURA name on this client (measured live: SpellInfo(3593) = "Health II")
|
|
["Rumsey Rum Black Label"] = { slot = "HP", spellID = 25804, item = "Rumsey Rum Black Label" },
|
|
["Rumsey Rum"] = { slot = "HP", spellID = 0, item = "Rumsey Rum" },
|
|
["Rumsey Rum Light"] = { slot = "HP", spellID = 0, item = "Rumsey Rum Light" },
|
|
["Medivh's Merlot"] = { slot = "HP", spellID = 57106, item = "Medivh's Merlot" }, -- use-spell ID; the aura's own ID is unverified
|
|
["Gordok Green Grog"] = { slot = "HP", spellID = 0, item = "Gordok Green Grog" },
|
|
|
|
-- FR
|
|
["Greater Fire Protection"] = { slot = "FR", spellID = 17543, item = "Greater Fire Protection Potion" },
|
|
["Fire Protection"] = { slot = "FR", spellID = 7233, item = "Fire Protection Potion" },
|
|
|
|
-- WPN: intentionally NO aura entries - temp enchant is not a buff
|
|
}
|
|
|
|
-- ------------------------------------------------------------------
|
|
-- spellID -> slotId map, generated from DC.CONSUMABLES (spellID > 0).
|
|
-- Collision rule: at classify time an ID match beats a
|
|
-- name match. data/classbuffs.lua later MERGES its rank IDs into this same
|
|
-- map (slot ids are unique across tabs, so one flat map is safe).
|
|
-- ------------------------------------------------------------------
|
|
DC.SPELL_TO_SLOT = {}
|
|
for name, def in pairs(DC.CONSUMABLES) do
|
|
if def.spellID and def.spellID > 0 then
|
|
DC.SPELL_TO_SLOT[def.spellID] = def.slot
|
|
end
|
|
end
|