Decursive
Decursive for World of Warcraft
Decursive is a cleansing mod intended to make affliction removal easy, effective and fun for all the classes having this ability.
Documentation:
NOTE: Type /DECURSIVE to open the configuration panel. Decursive's options are not directly available in the "Interface" panel due to ongoing tainting issues Blizzard is not willing to fix.
Decursive usage - Micro Unit Frames documentation - Decursive Macro documentation - Frequently Asked Questions - commands
Decursive key benefits
Ease of use:
- Decursive supports all classes with cleansing abilities and configures itself automatically, it works straight out of the box, no configuration is required.
- Intuitive interface and detailed options, Decursive is suitable for simple usage and power users.
Control what and who you want to dispel:
- Easily Filter out afflictions you don't want to cure or that are useless to remove by class (some are pre-configured). (Such as afflictions affecting mana on non-mana classes, etc...).
- Choose between what you can dispel (magic, curses, poison, diseases, charms) choosing their priority. (this allows you to share the cleansing work with other players effectively)
- Prioritize or exclude members. (keep players, classes, or raid groups in a specific order to cleanse them in order of importance)
Manage Mind controlled units:
- If you are a Mage, a Druid or a Shaman you can Polymorph/Cyclone/Hex mind-controlled players.
- In any case Decursive will allow you to target mind controlled units easily.
- Decursive supports magic charming affect removal for Shamans (Purge and Hex), Priests (Dispel Magic), Hunters (Tranquilizing Shot), and Warlocks (Fellhunter and Doomguards spells).
Don't waste time:
- Your cleansing spell Cooldown is displayed to maximize your dispel speed.
- An automatic blacklist will prevent you from loosing time on players who can't be dispelled. (player 'out of line of sight' for example).
- Decursive choose a logical cleansing order depending on your current position in the raid. (preventing dispel concurrence between players and thus 'nothing to dispel' messages)
React faster:
- Visual and/or auditive alerts when someone needs your attention and can be dispelled.
- Special sound alert when Unstable Affliction is detected and you're about to dispel it.
- Visual and auditive alert when your dispel attempts are resisted or fail.
Integration in any interface:
- Decursive is designed to save screen real estate and to be forgotten when not needed.
- Many options allow you to customize Decursive appearance and interface behavior.
- All Decursive alert colors can be modified making it suitable for color-blind people.
Highly optimized and effective coding:
- Decursive was developed with memory and CPU usage in mind, installing Decursive won't affect your frame rate even in the worst battle conditions.
- Bug free: bugs are not tolerated in Decursive.
In brief, what you get with Decursive is effectiveness, a player using Decursive will always dispel faster than other players.
See also:
- Decursive usage
- Micro Unit Frames documentation
- Decursive Macro documentation
- Frequently Asked Questions try this before asking any question
- commands
Interesting articles and videos about Decursive's usage:
- 2010-11-20 (Updated in 2011-06-11)
A complete Decursive guide by @darista: daritos.apotheosis-now.com/?p=24
- 2009-07-15
Article: www.hotsdots.com/2009/07/improving-the-interface-using-addons-7-decursive-cleansing-and-dispelling/
- 2010-02-20:
Video: WarcraftScience's Decursive tutorial
For other videos about Decursive, see the YouTube playlist.
Decursive is dedicated to the memory of Bertrand Sense known as Glorfindal on the European server Les Sentinelles. He was the raid leader of my guild (Horizon)
For suggestions, feature request, or bug report, use the ticket system provided by WoWAce.com.
Development versions of Decursive are available at this URI: https://www.2072productions.com/to/decursive_dev ; note that development versions may be unstable. Unless you want to help testing unstable code you should download the versions considered stable below.
Do not forget to rate Decursive!
Bitcoin donation address: 1LEHZuPsiHN4hM3H3Gru5xKmDgCj867eFX
The shown message should basically contain the answer to your confusion already. It's telling you that Decursive is outdated because you have loaded an "alpha" or "beta" build, meaning it's not one of the stable versions marked as "release". Now the author of Decursive decided to include a message to remind you of this fact, basically because alpha/beta/nightly builds aren't meant to be used by people that just want to use the add-on and not be bothered by errors, debug messages or alike, that's why they aren't of release quality. (Just FYI, this also means that you usually don't need to tell an author an alpha build is causing errors, since it's pretty likely he/she/they already know.) Additionally, the message hints you to update Decursive because the author has likely assembled a newer version (of unspecified quality) in the meantime (meaning: a predictingly specified amount of days after your current revision became available - which is why the message starts to pop up when these days have passed).
Right now, the alpha build of Decursive, that got available a few hours ago, is causing a sincere amount of errors for me, that also causes a few other add-ons to not function properly, thus I recommend to drop back to either the 9 days old beta (and just ignore the green message) or the 40 days old release.
To avoid all of this, always use add-on versions of "release" quality and also set the Curse Client to update accordingly.
It keeps saying something about a decursive hotfix. Nothing about outdated.
Lua error should never happen, hiding them is not a solution, even if Blizzard thinks so...
First off though, having a unit frame add-on that shows you when someone in your party is being targeted by a hostile unit would make this much more convenient, like PitBull does with its Aggro module enabled. (I would assume that, as a tank or healer, you already have something like that, as this makes both of it much easier from my experience, but of course the macro can work with Blizzard's default frames as well.)
Now for the main part of this, simply create a macro containing something like this (2 lines):
#showtooltip
/cast [target=mouseover,nodead,exists] [target=mouseovertarget,nodead,exists] [target=target,nodead,exists] [target=targettarget,nodead,exists] [] Righteous Defense
and put it onto your action bar, assign a key binding to it via SpellBinder or whatever you normally do with spells/abilities to use them.
(Then, when you see a unit getting targeted by a hostile unit, (do what you'd do as a tank anyway,) decide whether this is happening based on threat or random aggro (either via experience and common sense or via comparison to a threat meter add-on/module) and whether taunting would have a reasonable effect in that situation. etc.)
Then, for actually taunting/defending a unit, put the mouse cursor over the unit frame of the unit that's being attacked (without clicking on it) and execute the macro. (This should even work with Grid and similar add-ons that don't explicitly replace the default unit frames.)
--
With the extra targets in it, the macro could basically replace your default action button for Righteous Defense, but it could as well act the wrong way based on the cursor's position, so it's your decision here how you prevent it from this (meaning whether you just use the macro for all situations or you keep the plain RD spell ready somewhere as well).
The main difference/advantage with using this macro (compared to just using the plain spell) is that you don't have to change your current target to taunt/defend a unit and thus won't have to greatly interrupt the rest of your tanking action.
Since we can't have an actual one-click single button taunt/decurse, we have to click separate buttons (or frames) for separate units (or direct a macro at separate unit frames) - which effectively makes the advantage for a one-click taunting function look less advantageous. Although you might be much faster at taunting with a macro when someone pulls enemies away from you (via AoE or whatever) and you manage to "catch" them on-the-fly by just quickly mousing over them. At least that's what I was able to experience (only got a druid and a warrior tank myself though).
Decursive Hotfix to Blizzard_DebugTools"
ScriptErrorsFrameScrollFrameText.cursorOffset was nil.
This little bugger of an error causes my frames to drop to 2 in any instance. I've had to disable it for the time being. I have uninstalled and reinstalled the addon and have cleared all the normal cache folders (and thus having to reinstall).
Not sure what the issue is but wanted to make you aware of it.
Is this message printed in loop?
Another add-on is causing this error, if Blizzard debug tool doesn't work you have to install an error handler like buggraber and bugsack to help you find the problematic add-on.
Message: Interface\AddOns\Cartographer3\Main.lua:244: attempt to perform arithmetic on field 'fullCenterX' (a nil value)
Time: 10/04/09 14:02:27
Count: 229
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
(tail call): ?
(tail call): ?
[C]: ?
Interface\AddOns\Cartographer3\Main.lua:244: in function `func'
Interface\AddOns\Cartographer3\Utils.lua:105: in function <Interface\AddOns\Cartographer3\Utils.lua:95>
[C]: ?
Interface\AddOns\Cartographer3\Main.lua:2000: in function `ShowInstance'
Interface\AddOns\Cartographer3\Main.lua:1906: in function `SetMapToCurrentZone'
...terface\AddOns\QuestHelper\AstrolabeQH\Astrolabe.lua:414: in function `GetCurrentPlayerPosition'
Interface\AddOns\QuestHelper\main.lua:990: in function `func'
Interface\AddOns\QuestHelper\manager_event.lua:43: in function <Interface\AddOns\QuestHelper\manager_event.lua:25>
Interface\AddOns\QuestHelper\manager_event.lua:107: in function <Interface\AddOns\QuestHelper\manager_event.lua:99>
Locals: event = "WORLD_MAP_UPDATE"
currentMapTextureWithoutLevel = "VioletHold"
level = 1
currentMapTexture = "VioletHold"
battlegroundFrame = nil
instanceFrame = Cartographer_MapHolder_MapView_InstanceTextureFrame_VioletHold {
1 = <unnamed> {
}
2 = <unnamed> {
}
3 = <unnamed> {
}
4 = <unnamed> {
}
5 = <unnamed> {
}
6 = <unnamed> {
}
7 = <unnamed> {
}
8 = <unnamed> {
}
9 = <unnamed> {
}
10 = <unnamed> {
}
11 = <unnamed> {
}
12 = <unnamed> {
}
fullWidth = 30
levels = 1
name = "VioletHold"
0 = <userdata>
sane = true
localizedName = "The Violet Hold"
fullHeight = 20
}
scale = 0.029940119760479
(*temporary) = <function> defined =[C]:-1
(*temporary) = WorldMapDetailFrame {
0 = <userdata>
}
(*temporary) = "CENTER"
(*temporary) = Cartographer_MapHolder_MapView {
0 = <userdata>
}
(*temporary) = "CENTER"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on field 'fullCenterX' (a nil value)"
Cartographer3_Utils =
RotateCoordinate = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:160
GetCursorZonePosition = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:381
AddUnitDataToTooltipLine = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:519
GetScaledCursorPosition = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:153
UnpackFloat = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:176
ConvertCIDAndZIDToMapTexture = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:763
ReadjustCamera = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:745
ZoomToPlayer = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:711
GetUnitUniverseCoordinate = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:407
MoveMap = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:605
ZoomToCurrentZone = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:123
IsMouseHovering = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:22
GetMoveMapMessage = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:602
RemoveTimer = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:47
RotateTexCoord = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:166
AddTimer = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:40
GetPlayerRotation = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:18
CollectGarbageSoon = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:191
ZoomToBestPlayerView = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:729
ConvertUniverseCoordinateToZoneCoordinate = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:196
OnEvent = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:95
ConvertZoneCoordinateToUniverseCoordinate = <function> defined @Interface\AddOns\Cartographer3\Utils.lua:288
GetCursorUniverseCoordinate
it's a cartographer3 related problem.
cartographer3 seems to have been abandoned by its author...
Just take some time to read the documentation I spent hours to write ;)
Q: Is it possible to get decursive to announce the curse removal to Raid/Party
for example: 'Curing <player Name> of <curse name>'
thanks again !