This is a cleaning mod. Its job it to help a class that can remove debuffs, do it with ease. Load the mod, bind a key (or create a macro "/decursive") and run, no further configuration or editing needed, it auto configures. Run the mod when ever you wish to cleanse a status ailment, or even think one might be on your target, party, or even raid party, if nothing is cleaned, there is no penalty or cool down.

Currently Decursive is configured to automatically select Druid, Priest, Mage, Paladin, Shaman, Felhunter, and Doomguard cleansing spells. The spell choice is done intelligently, only casting the level or specific version needed, saving mana. Items might be added in the future. If you are a warlock, "Range" is not checked with your felhunter or doomguard

When you do a cleanse, the following logic is run


(If you are not in a party, or not in a raid, it will skip the party and raid sections)

If after all of this, if nothing is found it will say “Nothing cleaned” in the system window. If it is unable to target someone it will say so in the system window. When it tries to clean an ailment, it will say so in the system window. If the user is under the effect of an Abolish Poison/Disease it will not further cast remove poison or disease, it will instead skip them and keep searching.

To show the priority list UI type (prefered)
/dcrshow
to print out the current list type
/dcrlist
to manually add your target type
/dcradd
to empty the list type
/dcrclear
The priority list is new. I will have more about it later.

If the mod tries to cast a curable effect on a party member, but it fails (not in line of sight, etc), it will then put that unit on a blacklist for three seconds. Being on the blacklist means you get cured last. This is to keep Decursive from getting "stuck" on a player who is out of range/behind a wall, etc. I am going to try to adjust this to only account for LoS... but right now silence on the caster would count for a blacklist.

If the mod comes across an ignorable ailment, it prints what it is and who it is on, but then moves on. As I get more ignorable ailments I will add them to the internal arrays.

For checking range, Decursive will scan your action buttons (1-120) for a curable spell (any) and use that to gauge for range... all you need is one of your curable spells on any action button... does not matter where... it can be a hidden action bar... as long as its somewhere.

This is not a client/server setup... only the curing classes need to have this mod, nothing is required for a recipient.

Todo :


Changes :

Version 1.2.4
Fixed the Warlock code (thanks)
fixed some minor bugs
Added enchanced debug info to help with the german shaman problems

Version 1.2.3
Updated to the TOC
Added warlock suport
um... other stuff i forgot since the roll back

Version 1.1.6
Added a translation for Bansish
Fixed shamans tryign to cast dispell magic
Added a debug flag to enable Abolish for only 2+ effects, disabled by default

Version 1.1.5
Added a new skippable curse for warrior and rogue
Fixed the out of order curing

Version 1.1.4
Updated to the 1.5.0 version of WoW?, patch verion updated and new abilities used.
Only purge or dispell magic should ever break target now. The target recovery code is still there, so a human will be hard pressed to notice that the target ever changed.
Fixed the problem with Dispell Magic(Rank 2) never being cast
Changed Abolish Poison/Disease to take precedance over the normal one all the time. If you have a single poison effect, it will cast abolish, same with disease. This is my choice, and reflects my gameing style, and those of my freinds.

Version 1.1.0-BETA2?
Pre WoW? 1.5.0 beta... will work with the current version!
Compleate rewrite internally, Should be cleaner and easier to fix
For the beta (until wow patches) pets will not be cured.
Added "Purge" from shamans. Only for mind controll/charmed friends.
Added integence for Cure/Abolish... will only do abolish if there is more than one of that type of affliction.
Non priest/shaman will no longer try to cure mind controlled friends.
Fix... removed added debug info from beta1

Version 1.0.7
Made the range check much more robust.
Last change before the 1.5.0 release of WoW?

Version 1.0.6b
fixed typo in the "out of range" message

Version 1.0.6
Added full range checking... based on action slot or location if no action slot useable
Fixed up the "cycle" check... where it will start curing in a cycle... instead of starting over each time
Added a second macro to add a currative spell to slot 85...

Version 1.0.4
Added range checking while not in an instance (borred from buff bot)
Removed Spell Bomb from the ignored list of spells
Added all of the classes to the macros...
Added Cycle check for raids (if raid13 gets cured... it starts at 14 then cycles back to 13 next time)... still in development

Version 1.0.3
Corrected the German Translations
Moved the spell found message to a cleaner location (still disabled... but easier to debug)
Fixed the debuff ignore array to skip on class specific and abort on immune debuffs

Version 1.0.2
French Translation Added
Error Messages are now red (instead of white like normal ones)
Breaking Target Bug fixed (minor bug)

Version 1.0.1
Typos and bundling problem fixed

Version 1.0
New scaning and targeting logic.
Fixed the break attack bug (will now keep attacking target during a scann and clean)
Fixed lag issues
Added "Ignore" list of effects...
Moved pet scanning to last.
New translation "method"
Other bug fixes (code cleanup)

Version 0.6b
Fixed a German translation error
Removed the range check... not working... to many issues
Removed the AttackTarget? code... was not working. (using decusrive will stop your auto attack... fixed in next version)

Version 0.6
Updated for new patch (just changed TOC)

Version 0.5f
Fixed minor bugs
Disabled Range checking (can be enabled in the debug options)
Added AttackTarget? to the end of cleansing check if enemy targeted

Version 0.5d
Fixed fat fingered typos
Enabled Range Checkig for spells
Disabled " name spell found!" by default
Added a Debug block of code to the begining of the file, allowing for easy customizations.

Version 0.5c
Fixed typos caused by scary ogre at keyboard

Version 0.5b (removed)
Fixed German translation.
Added partial French. The spells, effects, and classes are translated, but not the "fluff".

Version 0.5
Added check for distance.
Added check for Abolish Disease and Abolish Poison

Version 0.4
Added german translation
Added "smart" anti magic. If only one magic effect is present it will cast the rank 1, otherwise rank 2.
Minor bug fixes

Version 0.3c
Fixed the spell selection process. Will now scan for lower level spells if they exist.
Previously was only picking the higher level spells, causing those with out them not to even get the lower level ones.

Version 0.3
Added event to listen for spellbook change
Moved "Magic" to the first type of ailment cured on a target.
Cleaned up the wording, made it easier to understand
Misc bug fixes

Version 0.2
Typos fixed
Improved scanning speed from 0.5 seconds to 0.1 second for a raid group of 20

Version 0.1
Initial Version