Get an Epic Experience with Premium

Bitten's SpellFlash Library

Libraries Login to Add Favorites
  • 32 Likes
  • World of Warcraft
  • 12,929 Monthly Downloads
  • Supports: 6.1.0
  • 6,632,730 Total Downloads
  • Updated 03/09/2015
  • Created 04/28/2012
  • 557 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: 60100.201503092107
or

About Bitten's SpellFlash Library

When you download one of Bitten's SpellFlash class modules, it comes with a copy of this addon. You do not need to download this addon separately. If you have it installed, you can delete it. That is, of course, unless you like to install the "nolib" versions of addons - but in that case you should know what you are doing and I don't need to give you any more instruction. :)

This is a library to make SpellFlash modules easier to create. Please see the FAQ before posting a question. If that doesn't address your issue, or you have a suggestion to improve this addon, please either leave a comment or create a ticket.

If you are an addon author and want to learn more, read on. If you are not an addon author, there is nothing here you need to worry about - read on only only if you're curious.

Help with cooldown and (de)buff timing

There are often times when want to know whether a certain (de)buff will be present when it's time to cast the next spell. If you use a naive approach of simply checking for the presence of a buff now, and it falls off half way through your current cast, you may have been flashing the wrong spell. There are clones of many (de)buff and cooldown checking functions that allow you to get the information you need easily. For example this library function:

function c.GetMyDebuffDuration(name, noGCD)
    return s.MyDebuffDuration(c.GetID(name)) - c.GetBusyTime(noGCD)
end

Passing a value for noGCD will cause it to ignore the global cooldown, which is useful for spells that are not on the gcd. Otherwise it uses the longer of the gcd and your current cast.

International support without cluttering your code with spell IDs

There are clones of several often-used SpellFlash functions that translate from the spell name you pass to their spell id. For example, you can replace calls that look like

s.Buff(74434--[[Soulburn]], "player")

With calls that look like

c.HasBuff("Soulburn")

Without fear of your code breaking when used on a non-English client. There is also a function, c.GetID("name"), that you can use if a cloned function does not exist in the library. Note that for these functions to work, you must have the spell or buff defined in a.spells.

Estimated Harm and Heal Target Counts

During your rotation function you will have access to the estimated harm and heal targets, to smoothly ramp through AoE rotatinos:

if c.EstimatedHarmTargets > 2 then
if c.EstimatedHealTargets > 5 then
Learning More

There are several other little features, like simplifying your Spam function while supporting options to turn rotations on and off. Feel free to browse the source to learn more. All of Bitten's SpellFlash modules use this library, so any of them provide examples of how to use it.

------------------------------------------------------------------------
r393 | slippycheeze | 2015-03-10 04:07:20 +0000 (Tue, 10 Mar 2015) | 1 line
Changed paths:
   A /tags/60100.201503092107 (from /trunk:392)

Create tag 60100.201503092107
------------------------------------------------------------------------
r392 | slippycheeze | 2015-03-10 04:07:01 +0000 (Tue, 10 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/LDB.lua

Be safer about LDB updates
------------------------------------------------------------------------
r391 | slippycheeze | 2015-03-10 04:06:57 +0000 (Tue, 10 Mar 2015) | 4 lines
Changed paths:
   M /trunk/src/Events.lua

Disable debugging of "missing" spells.

In the long term this needs a real fix, but for now this avoids
cluttering the debug log with nothing but this report for many users.
------------------------------------------------------------------------
r390 | slippycheeze | 2015-03-10 04:06:52 +0000 (Tue, 10 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/Debug.lua

Bump debug ring count to 250, from 100, messages
------------------------------------------------------------------------
r389 | slippycheeze | 2015-03-10 04:06:48 +0000 (Tue, 10 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/BittensSpellFlashLibrary.lua

Play it safer calling UpdateLDB, since it sometimes is out of date
------------------------------------------------------------------------
r388 | slippycheeze | 2015-03-10 04:06:43 +0000 (Tue, 10 Mar 2015) | 3 lines
Changed paths:
   M /trunk/src/LDB.lua

Protect against changing settings before the LDB update runs

This can happen if we don't have any flashing going on.
------------------------------------------------------------------------
r386 | slippycheeze | 2015-03-09 02:21:39 +0000 (Mon, 09 Mar 2015) | 1 line
Changed paths:
   M /trunk/BittensSpellFlashLibrary.toc
   A /trunk/BittensSpellFlashLibrary.xml

Restore XML file to fix loading embedded versions of addon
------------------------------------------------------------------------
r384 | slippycheeze | 2015-03-08 21:35:24 +0000 (Sun, 08 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/Debug.lua

Fix focus update for BSF report window
------------------------------------------------------------------------
r383 | slippycheeze | 2015-03-08 21:35:20 +0000 (Sun, 08 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/LDB.lua
   M /trunk/src/OptionsFrames.lua

Add option to enable/disable minimap icon
------------------------------------------------------------------------
r382 | slippycheeze | 2015-03-08 21:35:16 +0000 (Sun, 08 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/Debug.lua
   M /trunk/src/SlashCommands.lua

Improve clarity of the debug log ring code
------------------------------------------------------------------------
r381 | slippycheeze | 2015-03-08 21:35:12 +0000 (Sun, 08 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/BittensSpellFlashLibrary.lua
   M /trunk/src/LDB.lua

Further LDB updates, including AoE target count text
------------------------------------------------------------------------
r380 | slippycheeze | 2015-03-08 21:35:07 +0000 (Sun, 08 Mar 2015) | 1 line
Changed paths:
   M /trunk/src/Debug.lua

Work around Windows platform bug with lua date function
------------------------------------------------------------------------
r379 | slippycheeze | 2015-03-07 01:33:08 +0000 (Sat, 07 Mar 2015) | 1 line
Changed paths:
   M /trunk/BittensSpellFlashLibrary.toc

Use backslash to appease Blizzard / WoW windows history...
------------------------------------------------------------------------
r378 | slippycheeze | 2015-03-06 06:38:47 +0000 (Fri, 06 Mar 2015) | 5 lines
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/BittensSpellFlashLibrary.toc
   A /trunk/src/LDB.lua
   M /trunk/src/SlashCommands.lua

Implement LDB and minimap icons for BSF reports

This doesn't do everything that I want it to do (eg: display info on
rotations, etc), but it is a good start in getting the machinery hooked
up and correct.
------------------------------------------------------------------------
r377 | slippycheeze | 2015-03-06 05:54:08 +0000 (Fri, 06 Mar 2015) | 5 lines
Changed paths:
   M /trunk/.pkgmeta

Add externals to create LDB and minimap icons

This is a bump for packaging testing, but shortly these will be
implemented to allow users to see some internal state (AoE, rotation
mode, etc), and also to trigger the bug reporting window.
------------------------------------------------------------------------
r376 | slippycheeze | 2015-03-06 05:54:04 +0000 (Fri, 06 Mar 2015) | 8 lines
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/BittensSpellFlashLibrary.toc
   M /trunk/src/BittensSpellFlashLibrary.lua
   M /trunk/src/Debug.lua
   M /trunk/src/SlashCommands.lua

Implement `/bsf report` fully

This ditches the AceGUI dependency, and just hand-codes the window.
Which is awesome fun, I can tell you -- 1980 called and wants their UI
design code back.

Anyway, this now reports the extra details I need, includes guidance for
the user, and is generally pretty reasonable.
------------------------------------------------------------------------
r375 | slippycheeze | 2015-03-02 06:16:34 +0000 (Mon, 02 Mar 2015) | 16 lines
Changed paths:
   D /trunk/.buildpath
   M /trunk/.pkgmeta
   D /trunk/.project
   M /trunk/BittensSpellFlashLibrary.toc
   D /trunk/BittensSpellFlashLibrary.xml
   A /trunk/src/Debug.lua
   M /trunk/src/SlashCommands.lua
   D /trunk/version_history.txt

Start implementing `/bsf report` to report issues

One of the ongoing problems has been that it is hard to get users to
report the right information when they feel like the rotation is off, or
a spell is missing, or something like that.

This is a start of a GUI interface to capture and export the debug log,
even if it wasn't shown, as well as details about spec, level, and
whatever other details turn out to be useful in the longer term for
debugging problems.

The biggest feature in this specific change is an attempt to
appropriately embed LibStub and AceGUI-3.0 into the packaged version, so
that I can use them in building this interface.  (Because there is no
way on earth that I am going to reimplement everything that they do
by hand.)
------------------------------------------------------------------------
r373 | slippycheeze | 2015-02-25 02:07:43 +0000 (Wed, 25 Feb 2015) | 1 line
Changed paths:
   M /trunk/BittensSpellFlashLibrary.toc

Bump TOC for patch 6.1
------------------------------------------------------------------------
r371 | slippycheeze | 2015-02-15 22:13:57 +0000 (Sun, 15 Feb 2015) | 9 lines
Changed paths:
   M /trunk/src/BittensSpellFlashLibrary.lua

Add Resolve, Versatility, and Crit query functions

These wrap up the logic of fetching and transforming the relevant values
into a percentage multiplier, so that we don't have to repeat the same
code everywhere.

In an ideal world the Blizzard functions would do this, but with random
stuff like needing to fetch and add two numbers for versatility, or
transform a percentage into a float, this makes life easier.
------------------------------------------------------------------------
r370 | slippycheeze | 2015-02-15 22:13:52 +0000 (Sun, 15 Feb 2015) | 1 line
Changed paths:
   M /trunk/src/BittensSpellFlashLibrary.lua

Add c.GetResolve() to return resolve bonus to healing effects.
------------------------------------------------------------------------
r368 | slippycheeze | 2015-02-15 09:05:26 +0000 (Sun, 15 Feb 2015) | 5 lines
Changed paths:
   M /trunk/src/BittensSpellFlashLibrary.lua
   M /trunk/src/Events.lua
   M /trunk/src/Flashing.lua

Improve integration of spell GetDelay into the delay flashing

Previously a spell-supplied GetDelay would override many of the core
features, including charges and power regen delay calculations; this
updates the code to integrate it cleanly into the core calculation.
------------------------------------------------------------------------

Comments

First Previous Page 9 of 15 Next Last
  • #124

    Is there any chance we can get an option to disable the Red Outline for Spell Procs. I love spell flash but I prefer the orignial blizzard one over the red one.

    Last edited by Olaf4862 on 12/2/2012 4:31:37 PM
  • #125

    Short answer: no.  Frown

    Long answer: Many people never understood the difference between spellflash flashes and default blizzard flashes, so I disabled them in order to make my modules more foolproof.  Also, even for a skilled user it requires less attention to determine which spell is flashing when Blizzard is not also flashing the border of other spells.

    If you can think of a better way to indicate procs than the red border that does not involve making them flashy, I would definitely consider it.

    Author of Bitten's SpellFlash.

  • #118

    I love your class-specific SpellFlash addons. My only (minor) problem that I discovered today is that the dependencies didn't automatically download with the Curse client on my MacBook Pro. My Curse client on my Windows desktop computer correctly grabs them all, though.

    I wonder if it has anything to do with the fact that the Mac Curse client is still version 4 -- Version 4.0.0.425 Beta (4.0.0.425), to be specific (per a Curse post on their forums, they're working on a version 5 for Mac now, to catch it up to the Windows version, but no ETA at the moment).

    Not a huge deal, I guess just more of an FYI at this point.

    Thanks for the awesome addons!

  • #120

    Yes i have them but it says now dependency out of date

  • #123

    Thanks got it working. :)

     

  • #122
    Quote from Icanmack »

    Having the same problem as Xiebinrui

    If you have all the dependancies I mentioned on your post in the monk thread, then they all downloaded.  Sounds like you need to check the "Load out-of date addons" box.

    Author of Bitten's SpellFlash.

  • #121

    Having the same problem as Xiebinrui

  • #119

    I'm glad you like them!  That's a strange issue w/ the Curse client.  You should definitely let them know if version 5 doesn't fix it.

    Author of Bitten's SpellFlash.

  • #116

    Loving the new proc system with the red border! Best thing ever!

  • #117

    I'm glad!  I already mentioned this to you, but for anyone else who reads it: please let me know if you think you should be using one of those procs but something else is flashing.  (For a single target boss fight, of course.)

    Author of Bitten's SpellFlash.

  • #114

    Thank you so much for this wonderful addon. However, I can tell that I'm not the only one who experiencing issues with regard to procs. Would be lovely to have them back, really miss it on my DK. Thanks!

  • #115

    Please try the beta, where that issue is addressed.

    <Edit:> The changes for proc highlights are now released (no longer in beta).

    Last edited by Xemnosyst on 11/15/2012 10:55:06 PM

    Author of Bitten's SpellFlash.

  • #112

    Hi, latest Beta generates a LUA error.

    Excellent addon, do keep up the good work by the way.

     It also places an action bar button in the middle of the screen.

    <Lua error snipped by Bitten to avoid clutter.>

    Last edited by Xemnosyst on 11/14/2012 10:57:04 AM
  • #113

    Thank you for the report.  I made a *possible* fix, please try it and let me know.

    Last edited by Xemnosyst on 11/22/2012 11:47:57 AM

    Author of Bitten's SpellFlash.

  • #109

    I think and hope I have come up with a solution to make everyone happy regarding proc highlighting.  It will change the border around spells that would have proc highlighting to be red.  Note that they will only appear if "Default Proc Highlighting" is selected in the main SpellFlash options.

    Please try the beta and let me know how it works for you.  I tested it with the stock Blizzard action bars, and with Bartender.  If you use something else and try the beta, please leave a note to let me know whether it worked for you.

    <Edit:> This change is now released (no longer in beta - simply update like normal).

    Last edited by Xemnosyst on 11/15/2012 10:55:48 PM

    Author of Bitten's SpellFlash.

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Gamepedia Free-shirt Giveaway