TheoryCraft's Button Text feature currently only supports the default Blizzard Action Bars, and spell book. I think everything is in place for Flexbar users to be able to add TheoryCraft values to their Action Button text though. If not, leave a message on http://www.curse-gaming.com/mod.php?addid=3031. To be able to get data from TC, just call (in order of speed): TheoryCraft_GetSpellDataByFrame(tooltip) TheoryCraft_GetSpellDataByName(spellname, spellrank) TheoryCraft_GetSpellDataByDescription(description) If there is data for the spell, it will be returned. If not it'll generate it (if possible), and save it so that future accesses are quick (until the array needs to be reset, eg on equipping more spell damage gear). The following is an example to get the minimum damage done by a spell: local spelldata = TheoryCraft_GetSpellDataByName("Immolate", 5) Print(spelldata.mindamage) These are all formatted as is on the tooltip, so DPS will be to 1 decimal place, and maxoom will have a "k" on the end, already divided by 1000. Please Note that TheoryCraft_GetSpellDataByDescription is extremely slow at generating data if it's not already present in the array, as it has to generate tooltips for every single spell in your spellbook and compare them to the description given. I do not expect this function to be used much. The following are accessible (or nil, depending on the spell) description mindamage maxdamage critdmgchance critdmgmin critdmgmax critdmgminminusignite critdmgmaxminusignite averagedamnocrit averagedam manacost (true mana cost, includes regen) basemanacost dpm withdotdpm dps withdotdps maxoomdam maxevocoomdam sealunbuffed sealbuffed nextagidam nextcritdam nexthitdam nextpendam nextagidps (hunter's autoshoot only) nextcritdps (hunter's autoshoot only) nexthitdps (hunter's autoshoot only) nextagidamequive nextcritdamequive nexthitdamequive nextpendamequive nextagidpsequive (hunter's autoshoot only) nextcritdpsequive (hunter's autoshoot only) nexthitdpsequive (hunter's autoshoot only) rotationdps regendam icregendam damcoef damcoef2 (dot coef) plusdam finaldam dameff penetration dpsafterresists lifetapdps lifetapdpm showonbutton (if a tooltip is generated due to mouseover, but it is not supposed to be shown on buttons, this will be false) And all of the above with dam/dmg replaced by heal, eg minheal, maxheal, hpm When any of the above values change, or action bars change, TC will also reset TheoryCraft_UpdatedButtons to a blank table. So the easiest way to keep for example button text updated without having to hook in to half a dozen events, is to update it on the OnUpdate() event (which is called every single frame), update your text, and then set TheoryCraft_UpdatedButtons[Unique Identifier] to true. If the unique identifier is set when you enter OnUpdate, do nothing. TC will reset TheoryCraft_UpdatedButtons when a repaint is needed. You shouldn't need to regenerate the data, but if so call TheoryCraft_GenerateAll(). Other global functions include :- TheoryCraft_UpdateTalents(genall) TheoryCraft_UpdateGear(target, genall) If target ~= "player", will do nothing TheoryCraft_UpdateBuffs(target, genall) TheoryCraft_LoadStats() If genall is true on any of the above, then TheoryCraft_LoadStats() and TheoryCraft_GenerateAll() will not be called even if they need to be. Normally these will only be called if an array changes, however you may wish to call UpdateGear, and UpdateBuffs without wanting each to call GenerateAll(), so in that case you would pass genall as true in both cases. If genall is false they'll call LoadStats as well, and call GenerateAll() automatically if either the stats array or the buffs/gear array changes. Finally there is a global function called TheoryCraft_AddToCustom(linkid). Just pass this one an item link and it'll add it to the custom outfit. If you need anymore help/info or any modifications just contact me on curse :). - Aelian