Modules must be installed with this addon to receive any functionality!

If you have even five or ten dollars to spare, it would mean an awful lot. Thank you for your support.
Use this button to send donations of $12 or more:
Use this micro payment button to send donations of less than $12:

Donations are not required to download and use this addon, but they are very much appreciated.

To add code for another class yourself, please check out the Template Module addon and thoroughly read the description page for it.

Support has been added for the addons: Dominos, Bartender, Button Forge, ElvUI, nUI and OpenRDX, as well as all other action bar addons that use standard format button frames.

Will flash a macro if it finds the meta tag #show or #showtooltip in the macro. This dynamic macro detection is based on the displayed macro icon, so the icon of the macro must change accordingly for the flashing detection to work properly.

Version 6.19

Version 6.18

support new libButtonGlow-1.0 as used in Bartender4 (and maybe other addons)

Version 6.17

Fixed calls to the function GetSpellInfo.

Version 6.16

Removed stray debug message.

Version 6.15

handle SpellCost via tooltip scraping.
- since 6.0.2 Blizzard removed any API for getting spell costs, so we are
forced to resort to stone-age tools like tooltip scanning. Blizzard,
what is this? Why did you do that?!?

DK Melee range spell updated to one that still exists.

use universal "Global Cooldown" spell to handle the GCD.

use `local foo=foo` to speed up the core.
- in my testing this was about a 10 percent performance win.

Version 6.14

Updated the training dummy ID numbers.

Version 6.13

Updated the s.GUIDInfo and s.UnitInfo functions.

Version 6.12

Small change to prevent template module from loading from the original folder.

Version 6.11.1

Updated to the 2.0.5 version of SpellFlashCore.

Version 6.11

Fixed a few things for compatibility and bumped toc to 60000.

Version 6.11

Fixed a few things for compatibility and bumped toc to 60000.

Version 6.9

Fixed a bug with an internal RegisterSpells function.

Version 6.8.1

Bumped the toc file interface number to 50400.

Version 6.8

Added a one second delay to most of the functions that look for talent and spell changes.

Version 6.7.1

Updated to the 2.0.3 version of SpellFlashCore.

Version 6.7

Added a Type argument to the buff checking functions.

Added Bitten's SpellFlash Library as an embedded library.

Version 6.6

Fixed error with the s.UnitSelection and s.UnitID functions.

Version 6.5

Added Bitten's SpellFlash Library as an embedded library.

Version 6.4.1

Bumped the toc file interface number to 50200.

Version 6.4

Added function: s.LocalizeFontStrings

Version 6.3

The function s.GlobalCooldown will now properly return the second value.

Version 6.2.3

Updated to the 2.0.1 version of SpellFlashCore.

Version 6.2.2

Bumped the toc file interface number to 50100.

Version 6.2.1

The function s.GlobalCooldown will now always return a 0 instead of nil.

Version 6.2

Added a third argument to these functions:

s.PowerPercent

s.Power

s.MaxPower

s.PowerMissingPercent

s.PowerMissing

Version 6.1

Now properly registering some events that were mistakenly disabled.

Version 6.0.3

Added a header to all messages sent from SpellFlash to the chat window.

Version 6.0.2

Added an error message for modules that have not been updated to use the latest format.

The z.Unit variable will need to be defined in the castable functions if the spell is not to be cast on the target.

Spells that are intended to be cast on yourself will need to have z.Unit = "player" included in the castable functions.

This also replaces the z.BuffUnit variable.

Version 5.44

Added the s.GUIDInfo and s.UnitInfo functions.

Version 5.43

Will now consider most Training Dummies as an active enemy.

Version 5.42

Repaired the s.PetCastable function to work with the base pet actions again.

Version 5.41

Updated to the 1.32 version of SpellFlashCore.

Repaired form bar flashing for the latest version of the Dominos addon.

Version 5.40

Fixed possible bug with vehicle spell flashing.

Version 5.39

Repaired pet bar flashing.

Version 5.38

Updated to the 1.30 version of SpellFlashCore.

Repaired compatibility with the latest version of Bartender.

Version 5.37

Updated to the 1.29 version of SpellFlashCore.

Version 5.36

Updated to the 1.28 version of SpellFlashCore.

Fixed possible bug with Button Forge button frame detection.

Version 5.35

Updated to the 1.27 version of SpellFlashCore.

Added support for the Button Forge addon.

Version 5.34

Now taking into account the sub name of a spell for spell flashing.

Updated castable checking functions to use the spell ID instead of the spell name when able.

Version 5.33

Now compensating for cooldown delay when on global cooldown for early indication of buffs and debuffs.

Updated to the 1.25 version of SpellFlashCore.

Version 5.32

Repaired LibStub packaging in the 1.24 version of SpellFlashCore.

Version 5.31

Updated to the 1.23 version of SpellFlashCore.

Version 5.30

Added the ability to use a table of class names as the class argument of the s.Class function.

Added the ability to use a table of race names as the race argument of the s.Race function.

Version 5.29

Updated to the 1.22 version of SpellFlashCore.

Version 5.28.2

Option for disabling debuff owner checking on private servers has been repositioned in the options window.

Version 5.28

Added option in the options menu to disable movement and range checking from within the castable checking functions.

This option was coded by Gaff3 from curse.com.

Version 5.27

Will now give the highest duration remaining found when a table of spell names or Global ID numbers are used in the SpellName argument with the s.BuffDuration, s.MyBuffDuration, s.DebuffDuration and s.MyDebuffDuration functions

Version 5.26

Added the ability to also use in the SpellName argument a table of localized spell names or global spell ID's with the s.Casting, s.Channeling, s.CastingOrChanneling, s.GetCasting, s.GetChanneling and s.GetCastingOrChanneling functions.

Version 5.25

Removed the mine argument from the buff and debuff checking functions.

Version 5.14

Version 5.13

Now packaging SpellFlashCore with SpellFlash using the repository packager .pkgmeta externals and move-folders commands.

Version 5.12

Updated to use the BigLibTimer library included with SpellFlashCore.

Version 5.11

For Cataclysm, edited the s.Class function and added the s.Race function.

Version 5.10.1

For Cataclysm, repaired last release.

Version 5.10

For Cataclysm, removed duplicate legacy functions from the API that only existed for backward compatibility with older modules.

Version 5.9

For Cataclysm, cleaned up a lot of the functions and started to document the API.

Version 5.8

For Cataclysm, edited all functions so that the SpellName may be substituted with the global spell ID number.

Version 5.7

Updated to use the LibBigTimer library included with SpellFlashCore.

Repaired the s.Casting, s.Channeling and s.CastingOrChanneling functions to return the correct seconds remaining.

Version 5.6

Added x.ThreatPercent variable to the table that is passed to the Cataclysm spam functions.

Added the function s.TalentMastery(TreeTabNumber) for Cataclysm that may be used to determine what talent tree has the most points in it.

Version 5.5

Updated the timer functions to remove a bug that would mistakenly overlap a function call.

Version 5.4

The timer functions are now handled by an internal library.

Version 5.3

The functions SpellFlashAddon.Casting, SpellFlashAddon.Channeling and SpellFlashAddon.CastingOrChanneling will now return the remaining seconds or nil if none.

Version 5.2

Added the z.NotWhileMoving argument to the castable checking functions.

Version 5.1

Added x.Lag and x.DoubleLag variables to the table that is passed to the Cataclysm spam functions.

Version 5.0

When running in Cataclysm only, will no longer send arguments separately to the spam functions. Will now send all arguments in a single table so that adding arguments in the future will be less problematic.

Version 4.15

The PetCastable function now returns false if the pet is casting or channeling the spell.

Version 4.14

Edited cooldown checking functionality a little.

Version 4.13

Refined cooldown checking functionality.

Version 4.12

Repaired pet spell bar cooldown checking functionality.

Version 4.11

Repaired cooldown checking functionality.

Version 4.10 Beta

Doubled the lag amount compensated for buffs and debuffs in the Castable checking functions.

Version 4.9 Beta

The Castable checking functions will now compensate for lag.

Version 4.8 Beta

Updated list of debuffs.

Version 4.7 Beta

Began updating code to work in Cataclysm.

Version 4.6

Removed and replaced the SpellFlashCore.Event table.

Version 4.5

Removed and replaced the SpellFlashCore.SlashHandler table.

Version 4.4

Added option in the options window to blink spells that are being flashed. This is for those who would like the flashing spells to be more noticeable.

Moved the position of the NoMacros argument down one space to make room for the blink argument.

Version 4.3.2

Added a few German, Spanish, French and Russian localizations required for functionality.

Poorly added the rest of the German localizations with the use of Google Translate.

Version 4.3.1

Fixed some lua errors.

Version 4.3

Added the option to disable macros from flashing.

The flashing functionality of this addon has been separated into a required dependency called SpellFlashCore.

Version 4.2

Changed the way module names are handled so that modules may now be displayed by their localized title in the options menu.

Version 4.1.1

Modified the Load On Demand functionality.

Version 4.1

SpellFlashAddon.Spam[AddonName] must now always be a function and may no longer be a table.

Version 3.47

Version 3.46

Flashing should be a little more accurate after a debuff is resisted. However with a lot of lag it may flash for a moment if a spell is resisted but is still applied.

Version 3.45

This is a version change only to set the curse client to automatically download the official modules along with this addon.

Version 3.44

No longer bundling module addons in the same package as SpellFlash.

Version 3.43

Added and renamed a few more local functions to reduce the script size.

Attempted to reduce the chance of a rare nil value error.

Will no longer flash a spell while casting if not enough power exists for both the spell cast and the next spell.

Buff and Debuff rank checking variable now able to take a set rank number or a boolean true value to automatically find the max rank based on the spell name.

Version 3.42

Repaired a small situational bug from last version for detecting if a target has a buff or debuff of a higher rank then you have learned to prevent it from flashing, even if it is looking for other attributes that would allow the spell to flash otherwise.

Version 3.41

Improved buff and debuff rank checking when checking for more then one buff or debuff at a time listed within a table.

Repaired bug from last version that allowed a buff or debuff to continue flashing while it was currently casting.

Version 3.40

Replaced the z.DebuffName and z.BuffName variables in the Castable functions with more specific variables.

The new z.Debuff, z.MyDebuff, z.Buff and z.MyBuff variables are now able to take either a single name or a table of names.

Updated Hunter Functionality:

Will no longer flash "Trueshot Aura" if you are already buffed with "Abomination's Might".

Version 3.39

Will now flash a macro based on the shown icon if #show or #showtooltip is set to show only a single spell icon.

Version 3.38

Completely reformatted localization functionality.

Updated SpellFlash_TemplateAddon:

Significantly reconfigured file and variable names to reduce the amount of required changes to convert SpellFlash_TemplateAddon into a functional module.

Updated the function SpellFlashAddon.CheckIfSpellCastable to use fewer variables.

Renamed many of the functions that make use of the function SpellFlashAddon.CheckIfSpellCastable.

Version 3.16

Fixed the Warlock's Soul Link function.

Moved main class functions back into main addon folder.

Version 3.15

Updated melee range checking functionality for all classes.

Updated the function SpellFlashAddon.CheckIfSpellCastable to use fewer variables.

Version 3.14

Updated stance, form, and pet button frame detection to not use texture matching.

Version 3.13

Updated stance, form, and pet button frame detection.

Version 3.12

Reformatted saved variables.

Updated button frame detection.

Version 3.11

Reformatted saved variables.

Added slash command to disable debuff owner checking:

/sf owner checking

Version 3.10

Made button frame detection more universal so that it may support more action button addons without requiring specific addon support.

Version 3.09

Updated buff detection functionality.

Version 3.08

Updated Warrior Functionality:

Will no longer flash "Battle Shout" if you are already buffed with "Blessing of Might" or "Greater Blessing of Might".

Version 3.07

Added function SpellFlashAddon.isOffHandEquipped().

Updated Warrior Functionality:

Added indicator for Shockwave.

Version 3.06

Updated Hunter Functionality:

Will now only give initial priority to Hunter's Mark if the target is not active or is a player who is targeting you.

Version 3.05

Added child options frames for every separate addon.

Version 3.04

Improved the SpellFlashAddon.MeleeDistance function to allow for the inclusion of spells that are just outside of melee range as melee range indicators when a melee range only spell has not yet been learned.

Version 3.03

Updated Hunter Functionality:

Improved range detection in early levels for Attack and Raptor Strike.

Comments

Thank you for the heads up about the pet bar, I had not yet noticed that. That was from a mistake I made when I included sub-names in the scripting. I did not add the sub-name scripting correctly for the pet bar. The next release will have this corrected.

Please please tell me what im seeing is true, your already at work with a 4.0.1 update :DCopied four of my toons to PTR yesterday, and some of the new rotations are really giving me a headace, good to have the master learning me the basics agen :D

I still have a lot of work ahead of me. I think I will start with Warlocks and then move onto Hunters and finish off with Warriors. I am starting with Warlocks because they will be the most difficult class to add support for and I want to complete the most difficult first. Each class will take a ton of work to complete because I will basically have to start from the ground up with the scripting.

I hope come Cataclysm more experienced developers decide to take up programming a module for a class that has yet to receive any support. It is way too much work for me to try to program and maintain a module for every class in the game, the few I have made are difficult enough to maintain, but I would like to at least get the ones I have created updated for Cataclysm if I am able.

Hehe, I predicted that much :D, As I have looked over your scripts earlyer :D, And yeah your warloc script is by far the most complicated :D, and I assume it will be agen.

It fits perfectly, my lock is the one alt im struggeling most with, especaly the new Demo Rotation, as there is a lot of new stuff to trow in, Curse of Doom on bosses, insta Doomguards and shorter cooldowns on Meta... As I dont play this toon reguarly I will certainly apprechiate your help here.

I love this program on my HunterCan anyone do a Spellflash for a Death Knight?I downloaded the template mod but sadly I have know how to use it. I have no programming exp. its all Greek to Me, or Latin, or Piglatin,... Binary...Trinary....Hexidecimal...Dodecadecimal....is that a word????.....

I really enjoy this addon, but I have one suggestion that you could add.Since some professions like Engineering gives extra "enchants" (odd they call them enchants, at least, to me it seems odd) like Hand-mounted Pyro Rockets I use a lot, and used to use the Gnomish Lightning Generator. Same thing goes for other trinkets, some trinkets could be considered like the Hunter's Mark since they improve this or that, or even do damage like the Generator.

Since they never seem to pop up, I presume you never added them because such a feature would be a resource hog. If so, I have a suggestion to that. Since everyone has access to Atlasloot (sorry if I may have misspelled it), why not add a list of all the trinkets and battle use-able enchants. I know the flex-weave for the cloak AKA parachute isn't a battle booster, just giving an example not all trinks/enchants is needed. The user can toggle which one to be enabled in the options menu. This way, if what I think you addon does, scans for the abilities on screen, it searches for the basics and only those selected in the Flash Options.

Probably the best addon for hunters and locks, period. Just wish it functioned for my newest alt, a druid.Irregardless, I can than this addon for giving me an insight on how to actually play my toons and getting me to the top of the DPS charts. Thanks.