Get an Epic Experience with Premium

Destruction For Dummies

Combat Login to Add Favorites
  • World of Warcraft
  • 4,298 Monthly Downloads
  • Supports: 6.1.0
  • 439,587 Total Downloads
  • Updated 03/28/2015
  • Created 07/22/2009
  • 433 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: Beta 3.0.2
Support development! **

About Destruction For Dummies

Status Update

I did a major rewrite to work with Draenor; I took it raiding tonight and it worked surprisingly well. Let me know if you find bugs, but it's looking like Release quality to me.

Executive Summary

Install this mod; when a suggestion frame shows up in the middle of your screen (when you are out of combat) move it to where you want it. When the frame shows you a picture, cast the spell that picture represents. If nothing ever shows up, your current class/build is not supported.

That's all you have to know. Have fun, I hope you like it.


This addon will display the recommended spell for you to cast (in or out of combat). It keeps track of what buffs/debuffs you have up, what your cooldowns are, and what your energy/rage/mana/runic power is, and tells you the best option. Out of combat, it will remind you to put up buffs (usually before they entirely expire). It is aimed at max level toons, so recommendations below that will likely be suboptimal. In particular, at very low levels it will frequently not recommend anything at all; below level 10 it is guaranteed to do nothing.

You can resize the suggestion frame from the configuration panel (reached via the /dfd command). You can also lock the panel so it cannot be moved (it auto-locks in combat irrespective of this lock). You can set it to display dummy suggestions when it's unlocked, so you can see where it is to move it around and scale it.

This mod only handles single-target DPS

My To-Do List

  • Take threat into account and recommend threat-reduction measures when appropriate

The Rotations Implemented

These rotations actually have a lot of thought behind them, just not by me - they are all taken from Note that I did have to add things to all these rotations, as they don't take some important real-world needs into account (eg., when should a hunter cast Mend Pet during a fight? Even though it's not in the rotation, clearly letting your pet die isn't going to be the right call to up your DPS).

If you want changes to the rotation, please convince the people at to change the rotation (or just point out that I'm deviating from it). I don't know enough about all the specs to decide to deviate from what they recommend.

Note that some tanking builds are included (a pretty poor Bear Druid); these are provided as a convenience. The truth is that there are many enhancements that could be made to make this a far more useful tanking add-on, but they are going to have to wait for quite a while to get implemented. For now the add-on offers reasonable suggestions, assuming a largely straight-forward tank-and-spank fight, and is very useful (at least to me) in showing when the GCD is up. But there is no way you are going to successfully tank squat just following it's instructions; this is different from DPS'ing, where following the instructions will tend to give you close to optimal results.

Cooldown animation working Several fixes, mainly to Feral/Guardian Druids


First Previous Page 1 of 38 Next Last
  • #566

    This AddOn will need to be updated for the patch/xpac release, the good news for EarendilJenkins is these changes are going to be pretty easy. Mostly will be remove spells that have been removed or compressed with other spells already in the rotation. Also, add in the 100th lvl talent spells. These changes will - I think - be much simpler than the MoP changes that were needed.

  • #565

    I love this addon. Makes my life so much easier! One request. Can you update the Affliction Warlock rotation? ATM it tells us to CAST Fel Armor which is now a passive will not tell you the next ability in the line without "casting" fel armor. TYVM. Again awesome addon. I use it every day!

  • #567

    Done.  Somewhat late reply, I know.  :-)

  • #564

    dose the current version work fro kitty dps ?

  • #563

    Glad to see you decided to bring this add on back.  have missed it!


    I tried it on my DK and am getting this error on 1st opening attack and nothing from there.

    Date: 2013-07-16 13:13:00 ID: 1 Error occured in: Global Count: 1 Message: ..\AddOns\DestructionForDummies\Utilities.lua line 637:    attempt to call global 'GetNumTalentTabs' (a nil value) Debug:    DestructionForDummies\Utilities.lua:637: utilTalentCount()    ...ce\AddOns\DestructionForDummies\DeathKnightFrost.lua:44: preCombat()    ...dOns\DestructionForDummies\DestructionForDummies.lua:510: ?()    DestructionForDummies\Variables.lua:19:       DestructionForDummies\Variables.lua:18 Locals: self = <table> {  classHunterBeastmaster = 6  classDeathknightUnholy = 3  utilOnTank = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:729  populateRegistry = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:544  castStartTime = 381025.324  needNewDebuffData = 1  lastSpell = "Icy Touch"  cooldownFrame = UIParent_cooldown {  }  utilHealth = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:492  utilTotem = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:579  utilFlightTime = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:558  canChantRanged = false  forceUpdate = 0  classPaladinRetribution = 13  turnOff = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:107  decisionNoCombat = <function> defined @Interface\AddOns\DestructionForDummies\DeathKnightFrost.lua:132  decisionCombat = <function> defined @Interface\AddOns\DestructionForDummies\DeathKnightFrost.lua:48  utilDebuffTime = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:83  debuffUpByAny = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1022  LoadSavedVars = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:113  utilTotemType = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:600  classMageFrost = 11  utilBuff = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:19  utilRequiredPower = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:627  utilMxBuff = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:226  turnOn = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:91  classRogueAssassination = 15  knowsSpell = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:867  myClass = 2  utilMxBuffByMe = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:269  classShamanElemental = 18  genfunc_DoAspect = <function> defined @Interface\AddOns\DestructionForDummies\HunterSurvival.lua:32  beta = false  preCombat = <function> defined @Interface\AddOns\DestructionForDummies\DeathKnightFrost.lua:42  utilWeaponEnhance = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:459  utilDebuffByMe = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:143  suggestFrame = <unnamed> {  }  utilMxDebuffByMe = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:350  altRecommend = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1055  spellReady = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:888  updateInterval = 0.5  offhandSlotNum = 17  initRangeCheckSpells = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1356  whatAmI = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:732  classWarriorProtection = 24  eventFrame = <unnamed> {  }  classDeathknightFrost = 2  distanceToTarget = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1270  unitPowerAfterCast = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1219  ToggleEnabled = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:678  utilHaveRunes = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:677  forceClass = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:726  lastAltWarnTime = 0  CreateOptionFrame = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:578  analysisAdd = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1090  classRogueSubtlety = 17  analysisInit = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1081  events = <tab AddOns:   Swatter, v4.3.1 (<%codename%>)   NPCScan, v5.0.0.5   NPCScanOverlay, v5.0.0.3   Archy, v1.8.42   Arh, v1.2.3   AucAdvanced, v5.17.5413 (NeedyNoddy)   AucFilterBasic, v5.17.5413 (NeedyNoddy)   AucFilterOutlier, v5.17.5413.5347(5.17/embedded)   AucMatchUndercut, v5.17.5413.5364(5.17/embedded)   AucStatHistogram, v5.17.5413 (NeedyNoddy)   AucStatiLevel, v5.17.5413 (NeedyNoddy)   AucStatPurchased, v5.17.5413 (NeedyNoddy)   AucStatSales, v5.17.5413.5376(5.17/embedded)   AucStatSimple, v5.17.5413 (NeedyNoddy)   AucStatStdDev, v5.17.5413 (NeedyNoddy)   AucStatWOWEcon, v5.17.5413.5323(5.17/embedded)   AucUtilAHWindowControl, v5.17.5413.5347(5.17/embedded)   AucUtilAppraiser, v5.17.5413.5393(5.17/embedded)   AucUtilAskPrice, v5.17.5413.5347(5.17/embedded)   AucUtilAutoMagic, v5.17.5413.5392(5.17/embedded)   AucUtilCompactUI, v5.17.5413.5400(5.17/embedded)   AucUtilEasyBuyout, v5.17.5413.5347(5.17/embedded)   AucUtilFixAH, v5.17.5413 (NeedyNoddy)   AucUtilItemSuggest, v5.17.5413.5365(5.17/embedded)   AucUtilPriceLevel, v5.17.5413.5365(5.17/embedded)   AucUtilScanButton, v5.17.5413.5403(5.17/embedded)   AucUtilScanFinish, v5.17.5413.5347(5.17/embedded)   AucUtilScanProgress, v5.17.5413.4979(5.17/embedded)   AucUtilScanStart, v5.17.5413.5347(5.17/embedded)   AucUtilSearchUI, v5.17.5413.5373(5.17/embedded)   AucUtilSimpleAuction, v5.17.5413.5388(5.17/embedded)   AucUtilVendMarkup, v5.17.5413.4828(5.17/embedded)   Babylonian, v5.1.DEV.332(/embedded)   BagBrother, v   Bagnon, v5.3.6   Bartender4, v4.5.10   BattlegroundTargets, v50300-4   BeanCounter, v5.17.5413 (NeedyNoddy)   BGSpy, v1.2.6   ButtonTimers, v2.5.11   CandyBucketsLunarFestival, v1.0.7   ComboPointsRedux, v2.2.16   Configator, v5.1.DEV.344(/embedded)   Cooldowns, v   DBMCore, v   DebugLib, v5.1.DEV.337(/embedded)   DestructionForDummies, v3.0.0   Enchantrix, v5.17.5413 (NeedyNoddy)   EnchantrixBarker, v5.17.5413 (NeedyNoddy)   Farmhand, vv1.6.1   Gatherer, v4.3.1   HealersHaveToDie, v2.1.4   Informant, v5.17.5413 (NeedyNoddy)   Junkster, v   LibExtraTip, v5.12.DEV.350(/embedded)   MagicRunes, v1.0.94   MagicRunesIconDisplay, v1.0.94   MagicRunesRuneBars, v1.0.94   ManaCore, v793   NugComboBar, v   Postal, v3.5.1   Recount, v   ReforgeLite, v1.32   SilverDragon, vv3.0.7   SlideBar, v4.3.1 (<%codename%>)   Stubby, v5.17.5413 (NeedyNoddy)   SwitchBar, v   TipHelper, v5.12.DEV.351(/embedded)   TomTom, vv50300-1.0.1   Tycoon, v793   TycoonContent, v794   VuhDo, v3.44   VuhDoOptions, v3.44   ZygorGuidesViewer, v4.0   BlizRuntimeLib_enUS v5.3.0.50300 <us>   (ck=9f0)

     Thanks for bringing it back, I look forward to trying the next release..


  • #562

    Not working with warlocks :/ Insisting I cast Fel Armor, a passive ability.

  • #561

    Oddly enough this doesn't work for Destruction Warlocks. :)

  • #559

    thanks for the addon it helps me alot i started a priest and i've read that to use discipline priest until 80 i think it was and this addon doesn't show up but on my hunter it does so is the discipline priest unsupported

    thanks for you time


  • #560

    change spec to shadow it will work then as this only pertains to dps/tanking specs

    rogues were re-vamped for 5.2 the error you see is a result of that (im sure it will be fixed)

  • #558

    Error I'm seeing with 5.2.0.  Only seeing it on my Rogue at this time, but have not seen it on my Hunter as of two days ago.

    Hope this helps.


    Message: ...dOns\DestructionForDummies\DestructionForDummies.lua:201: attempt to perform arithmetic on field 'execTime' (a nil value)
    Time: 03/10/13 11:41:00
    Count: 133
    Stack: ...dOns\DestructionForDummies\DestructionForDummies.lua:201: in function `OnUpdate'
    ...dOns\DestructionForDummies\DestructionForDummies.lua:93: in function <...dOns\DestructionForDummies\DestructionForDummies.lua:92>

    Locals: self = <table> {
     classHunterBeastmaster = 6
     utilHealth = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:492
     cooldownFrame = UIParent_cooldown {
     classPaladinRetribution = 13
     debuffUpByAny = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1022
     showDebuffs = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:998
     lastSpell = "Eviscerate"
     utilWeaponEnhance = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:459
     offhandSlotNum = 17
     utilMxBuffByMe = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:269
     preCombat = <function> defined @Interface\AddOns\DestructionForDummies\RogueSubtlety.lua:11
     utilDebuffByMe = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:143
     utilMxDebuffByMe = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:350
     altRecommend = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1055
     classWarriorFury = 23
     ToggleEnabled = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:678
     forceClass = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:726
     CreateOptionFrame = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:578
     events = <table> {
     mainhandSlotNum = 16
     string = <table> {
     classHunterSurvival = 8
     verifyCodes = <function> defined @Interface\AddOns\DestructionForDummies\LocaleLocal.lua:826
     decisionCombat = <function> defined @Interface\AddOns\DestructionForDummies\RogueSubtlety.lua:16
     displaySpellInFrame = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:232
     utilMxNeedDebuff = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:387
     classMonkWindwalker = 12
     CreateGUI = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:329
     registry = <table> {
     showCooldownAnimation = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:250
     ToggleFerralMode = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:667
     classShamanEnhancement = 19
     analysisPick = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1117
     findSpellNo = <function> defined @Interface\AddOns\DestructionForDummies\LocaleLocal.lua:809
     utilStance = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:612
     castStartTime = 36792.693
     classWarlockDemonology = 21
     genfunc_rotateWindows = <function> defined @Interface\AddOns\DestructionForDummies\DeathKnightBlood.lua:44
     classWarlockDestruction = 22
     classMageArcane = 9
     utilBuffInfo = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:177
     debuffUpByMe = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:970
     utilTimeToDie = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:507
     utilMxDebuff = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:310
     Reset = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:646
     classDeathknightUnholy = 3
     utilOnTank = <function> defined @Interface\AddOns\DestructionForDummies\Utilities.lua:729
     unitPowerAfterCast = <function> defined @Interface\AddOns\DestructionForDummies\DestructionForDummies.lua:1219
     LoadSavedVars = <function> defined @Interface\AddOns\DestructionForDummies\DestructionFo

  • #557

    Nice Work!!!

    This is a very helpful and good to use UI.

    Just add the new spells…

    And most important keep it alive!!!

  • #555

    I would also be willing to kick in financially if someone picks this project up.  It was a great addon!

  • #554

    I am wondering what it would take financially to update this addon, it is one of my favorites as well, I am willing to donate for the project to be updated for a reasonable cost

    Last edited by mcvannster on 10/5/2012 3:43:03 PM
  • #553

    any news about the addon?


  • #552

    since this great addon may not be updated ever again does any one knows a good alternative?

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

Legends of Hoenn Tin Giveaway