Get an Epic Experience with Premium

Bitten's SpellFlash Library

Libraries Login to Add Favorites
  • 31 Likes
  • World of Warcraft
  • 165,502 Monthly Downloads
  • Supports: 6.0.3
  • 5,619,387 Total Downloads
  • Updated 11/11/2014
  • Created 04/28/2012
  • 485 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: 60000.3.3
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.

Version 60000.3.3

  • Protect c.GetChargeInfo against unknown spells.

To avoid bugs, if you do not know the spell we return 0 charges, 9001 seconds to next charge, and 9001 seconds to cap. These seems like the safest return values, and avoid needing to guard every invocation with a check the spell is already known.

Version 60000.3.2

  • Added PreFlash to individual rotations.

This is a pretty internal change, but allows a PreFlash function to be defined on any rotation, which will be run prior to any other flashing being done. This exactly mirrors the PreFlash function on the class module, but on a per-rotation basis.

This is to support the Warlock module, which has per-class resources to track, but is applicable to any rotation that has unique management to do prior to rotation calculations.

Version 60000.3.1

  • Fix range detection (c.DistanceAtThe{Least,Most}) for 6.0 API changes.
  • Minor cleanups elsewhere.
  • Added "Armor" food type placeholder, against the future.

Version 60000.3.0

  • New maintainer: http://www.curse.com/users/slippycheeze - HUGE thanks to Xemnosyst for all the work done to get this to where it is today, and keep it awesome. I only hope to be half as good on my best days.
  • Update to utf-8-unix encoding everywhere.
  • Standardize on 3 spaces for indentation.
  • Added AddonLoader support to toc. (delay loading only)
  • Updated author details.

Version 60000.2.1

  • AoE target count, via c.EstimatedHarmTargets and c.EstimatedHealTargets.

Version 60000.2.0

  • Updated buffs and foods for 6.0 (and WoD).

Version 60000.1.2

  • Bugfix for occasional Lua error.

Version 60000.1.1

  • Bugfix: Getting spell cast time changed w/ patch 6.0.

Version 60000.1.0

  • Making the "Out of Date" status go away.

Version 50400.4.2

This version only affectly Feral Druids.

  • Small tweak for flashing forms in c.DelayPriorityFlash.

Version 50400.4.1

  • Added flashing for WoW's 9th Anniversary Celebration Package.

Version 50400.4.0

This version is required for the latest Death Kight release.

  • Added c.Flashable().

Version 50400.3.0

This version only adds convenience flashing - it is not a required update for any class.

  • Added flashing for some new foods and items from the Timeless Isle.

Version 50400.2.0

This version supports the latest Hunter release.

  • c.Flashing{} now contains an entry for every spell that is flashing.
  • c.IsTanking() now accepts a "unit" argument.
  • Removed c.CheckFirstForTaunts().

Version 50400.1.7

Updating to this version is not necessary. It causes flashes for the more new food buffs.

Version 50400.1.6

Updating to this version is not necessary. It causes flashes for the new Noodle food buffs.

Version 50400.1.5

Among other things, this is a bugfix release. Everyone should update.

  • c.GetChargeInfo() now takes into account whether the spell is currently casting.
  • The CastSucceeded_FromLog callback now passes more arguments.
  • Bugfix - c.HasDebuff(), c.HasMyDebuff(), and c.GetPowerPercent() had problems.

Version 50400.1.4

This version supports the latest Shaman release.

  • Added c.GetPowerPercent()

Version 50400.1.3

This version supports the latest Rogue release.

  • Added a new event callback for rotations: CastSucceeded_FromLog

Version 50400.1.2

This version supports the latest Pally release.

  • c.DelayPriorityFlash() returns a second value: true if the flashing spell is only a predictor.

Version 50400.1.1

This version breaks backward compatibility for the Druid, Hunter, and Monk modules.

  • Added c.GetChargeInfo().
  • c.RegisterForFullChannels() accepts a new argument indicating that the channel is indicated by a buff, rather than the normal channeling mechanism (read: Spinning Crane Kick)
  • Slight improvements to c.GetBusyTime() and c.GetPower().
  • The Cost entry of casting info tables is now itself a table from power type => cost.

Version 50400.1.0

  • Slightly smarter determination of Target GUID for the CastStarted, CastFailed and CastSucceeded callbacks.
  • All the functions that tested for a buff or its duration now takes a list of spells that apply it, rather than just one.
  • c.GetPower() now uses the regen of your primary power type if not specified.
  • c.GetQueuedInfo() now favors spells that are on the GCD.

Version 4.13.7

This version supports the latest releases for tanking classes.

  • Added c.COMMON_TANKING_BUFFS.
  • c.FlashMitigationBuffs will now match the spell id of buffs when checking if one is already up, rather than the name.

Version 4.13.6

WARNING: If you install no nolib versions of my addons, you will have to download Bitten's Utils now. If you don't know what I'm talking about, you can ignore this, and even deleted Bitten's SpellFlash Library, since it comes packaged with your class module(s) anyway.

  • Splitting some non-SpellFlash-specific functions off into a different library: Bitten's Utils, for use with other addons.

Version 4.13.5

This version supports the latest Druid release.

  • Bugfix: c.DelayPriorityFlash() was not respecting the AoEColor flag.

Version 4.13.4

This version fixes an issue for Fire Mages who use Presence of Mind. There may be other classes/specs which had the same bug, but I'm not sure.

  • Bugfix: no longer consider an aura pending if it was reported to be applied before the spell was reported to be cast.

Version 4.13.3

This version supports the latest Warrior release.

  • Added a callback for rotations: Avoided().

Version 4.13.2

  • Oops - forgot something in 4.13.1.

Comments

First Previous Page 8 of 13 Next Last
  • #107
    Inline Aura
    Quote from Xemnosyst »

    Inline Aura by itself, or only in combination with this library?

      Inline Aura in combination with this library... but only verseions 3.15.3 and 3.15.4. All earlier version (3.15.2 and before) work great with Inline Aura.

  • #111

    I just reactivated Inline Arua (I disabled it for a while) and played around on my druid shapeshifting & such in combat without any issues yet.  I will keep it on and hopefully experience a problem myself, but so far I have no idea what would be causing it.

    Last edited by Xemnosyst on 11/14/2012 12:04:11 AM

    Author of Bitten's SpellFlash.

  • #100
    Found a bug in Bitten's SpellFlash Library

    Appears to be a bug introduced in version 3.15.3 and it's still present in 3.15.4.

    The druid shapeshifting ability is affecting what spells/abilities are shown on the main cast bar.

    In my humanoid form I have 5 spells on my main spell bar. Spots one through five. In my cat form I have 11 spots filled on my main spell bar. Spots 1-7 and 9-12.

    Sometimes, while fighting, when I pop out of cat for a rejuve, moonfire or faerie fire and return back to cat form, I only see the first 5 of my cat abilities. I can still access abilites 6-12 via the keyboard shortcut, but I can no longer see them or click on them. At this point, even if I shapeshift in and out of cat form, I can't recover the buttons.

    It's not until the fight is over, and I shapeshift in and out of cat form, that I can finally recover my lost buttons. This problem does not seem to appear outside of a fight.

    Tried to do a bit of troubleshooting too, so I placed another ability in slot 9 in my humanoid form. When I shifted out to cast, and returned to cat form, button 9 remained, and all the others dissappeared. It appears that the only buttons that are "remembered" to be restored are the ones that have a spell in them. Anything blank is not updated/refreshed or whatever it is doing.

    As a temporary solution, I have resorted to using version 3.14.2 as that version does not have this bug.

  • #101

    I just tried it on my druid and did not experience the same issue.  I tried with both the default action bars, and with Bartender.  Are you using some other action bar addon, perhaps?

    Last edited by Xemnosyst on 11/8/2012 11:36:42 PM

    Author of Bitten's SpellFlash.

  • #106

    My setup, and what I have to do to recreate it pretty consistantly:

    Humanoid form:
    1. Moonfire
    2. Wrath
    3. Entangling Roots
    4. Faerie Fire
    5. Hurricane

    Cat form:
    1. Rake
    2. Mangle
    3. Swipe
    4. Rip
    5. Ferocious Bite
    6. Tiger's Fury
    7. Berserk
    8. null
    9. Thrash
    0. Ravage
    -. Pounce
    =. Shred

    Kill something putting 5 combo points on with Mangle; spend combo points with Ferocious Bite. Shift into humanoid form, and pull using Faerie Fire; before the GCD (global cool down) is up, start spamming cat form.

    This almost always causes the buttons to disappear.

  • #105

    I've tested Inline Aura with everything but SpellFlash turned on, and it worked just fine.

    This doesn't mean that SpellFlash is the one at fault... it very well could be Inline Aura has a bug, and that the 3.15.3 release of Bitten's SpellFlash Library has brought forth the bug.

    (Remember, everyone was playing nicely in releases 3.15.2 and before)

    Last edited by QuinicAcid on 11/9/2012 7:11:43 PM
  • #104
    Quote from QuinicAcid »

    After testing with all my addons, it's Inline Aura that's causing the problems.

    Inline Aura by itself, or only in combination with this library?

    Author of Bitten's SpellFlash.

  • #103

    After testing with all my addons, it's Inline Aura that's causing the problems.

  • #102

    I will try turning off my other addons one by one to see if they may be conflicting... but here is the list:

    Ackis Recipe List
    ButtonForge
    CookingHelper
    Gnosis
    GTFO
    Inline Aura
    Minimap Button Frame
    Skada
    Successful Interrupt Announcer
    TellMeWhen
    VuhDo

    Also, the only SpellFlash items that I have enabled are:
    BittensSpellFlash_Druid
    BittensSpellFlashLibrary
    SpellFlashCore
    SpellFlash

    The only addons that affect buttons or bars are ButtonForge (just adds extra bars, which Spellflash can't reach anyways) and InlineAura (used for inbutton timers and counters). I suspect it may be InlineAura, though. I'll start by turning everything off, and turning them on one by one and see what I find.

    Last edited by QuinicAcid on 11/9/2012 5:07:14 PM
  • #99

    We want a choice to keep Blizzard's proc highlighting alongside Spell Flash. Why force the change on us instead of giving us a choice? I'm very much used to the blizzard proc highlighting and I find it unnerving to play without it. Good luck with your addon, I find it impossible to use now that it dominates my bars.

  • #108

    I agree.  I rely heavily on the default blizz ui proc flashing.  I find it very handy in conjunction with spellflash, as I don't rely solely on spellflash for my next cast, I use it more as a guide.  I've read the last section of the FAQ.  Tried other options, but when it comes to proc notification, nothing comes close to being as good as the default blizz flashing (for me). 

    It's a shame it isn't a toggle'able option, as I previously really enjoyed spellflash.  Was very useful, particularly for interrupts.

    Last edited by skaali23 on 11/12/2012 8:16:16 PM
  • #110

    Please try the beta and let me know how it works for you.

    Author of Bitten's SpellFlash.

  • #97

    Is there anyway to change the spellslash animation? it hurts my eyes

  • #98

    Have you checked out the options for the size & default color of the flashing?  If those options aren't enough, it is really a question for the main SpellFlash addon.  I make modules that tell it which buttons to flash; BigRedBrent writes the main addon that actually does the flashing.

    Last edited by Xemnosyst on 11/7/2012 4:17:03 PM

    Author of Bitten's SpellFlash.

  • #94

    seriously I cant stand SPAM specially from an addon, "No talent defined: Sanctified Wrath, No Glyph Defined: Avenging Wrath" is what I get constantly spammed 5 per second, turn off your libary and it doesn't spam turn it on and it does, its bloody annoying I'm disabling this crap til you fix it cause it wasn't doing before your latest update.

  • 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 »

Dying Light Wiki Game Giveaway