Thanks to Xanden's earlier post I decided to work on it a bit more and it seems like it works BETTER like this. I would say it works 90% of how we would normally fight.
NOTE:
Turn off your DB then do the changes
Turn off extend combat range (pretty pointless to fight 1-2 guys left when u can't soul harvest
Change mob cluster to 3 and in 20
This way u won't fight unless there's 3 guys and it's the requirement for soulharvest.
Remove all the other soul harvest commands
Then add.
// Soul Harvest with Jade Harvester Set
if (CanCast(SNOPower.Witchdoctor_SoulHarvest) && (TargetUtil.AnyMobsInRange(12f, 3) || TargetUtil.AnyElitesInRange(12f, 1)) && SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Haunt) &&
SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Locust_Swarm))
{
return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
}
Basicly it's saying that if u can cast it
AND [there is 3 mobs in range of 12f
OR an elite within 12f]
AND it has haunt
AND locust swarm.
Cast the spell
So far it's working MUCH better, it's not running up and casting it for no reason anymore. I still don't know if the "f" is require for the range as I have NO idea the difference between 12 and 12f.
The last thing that I kinda want to add is and I need help on this and input from all the WD
To have piranha cast if haunt and locus swarm is on the targets with a cluster check of course OR if there's an elite there.
THEN have soul harvest check for AOE if there's a piranha AOE. Cast it.
**EDIT**
I don't know if this is even possible but I'm also thinking of adding a variable that checks if haunt has been casted 2 times, so that at least 4 targets are haunted, and add that variable to the requirement for casting soul harvest and when it casts, the counter is reset to 0 again...
Not sure if something like this is possible to code in, need a season coding vet to tell me if it's possible.