What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Request- Jade Harvester WD Combat Routine

remtownloljk

New Member
Joined
Dec 4, 2011
Messages
60
Reaction score
0
So i need a Jade Harvester WD Combat Routine if anyone could make one?

If interested or if anyone has one im happy to pay for it, or pay to have it made for the community :)

Its a really strong and effective build, imo more "tanky" to safely bot with.

Please let me know, i can then explain in detail how it works.

Thanks so much.

(maybe in the wrong section, move if you need too)
 
Hey! I just modified my routine to check if Haunt and Locust Swarm are on the current target. I'ts not the best routine, but it's better than nothing.:) I'm testing it right now on T3 and it seems fair enough.


This is the edited file from my Demonbuddy: 1.1 r1898 Build 362 / Trinity 1.9.8
Just overwrite the one in \Demonbuddy\Plugins\Trinity\Combat\Abilities\
View attachment WitchDoctorCombat.cs

or this is what i changed

ORIGINAL:
Code:
// Soul Harvest Any Elites or to increase buff stacks
                if (CanCast(SNOPower.Witchdoctor_SoulHarvest) &&
                    (TargetUtil.AnyMobsInRange(16f, GetBuffStacks(SNOPower.Witchdoctor_SoulHarvest) + 1, false) || (hasSwallowYourSoul && Player.PrimaryResourcePct <= 0.50) || TargetUtil.IsEliteTargetInRange(16f)))
                {
                    return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
                }

EDITED:
Code:
// Soul Harvest with Jade Harvester Set
                if (CanCast(SNOPower.Witchdoctor_SoulHarvest) && TargetUtil.AnyMobsInRange([COLOR="#FF0000"]12f) && SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Haunt) &&
		SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Locust_Swarm)[/COLOR])
                {
                    return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
                }
 
I thought about it and a jade harvester wd combat routine seems very complicated as you have to pull mobs together efficiently
 
Hey! I just modified my routine to check if Haunt and Locust Swarm are on the current target. I'ts not the best routine, but it's better than nothing.:) I'm testing it right now on T3 and it seems fair enough.


This is the edited file from my Demonbuddy: 1.1 r1898 Build 362 / Trinity 1.9.8
Just overwrite the one in \Demonbuddy\Plugins\Trinity\Combat\Abilities\
View attachment 131910

or this is what i changed

ORIGINAL:
Code:
// Soul Harvest Any Elites or to increase buff stacks
                if (CanCast(SNOPower.Witchdoctor_SoulHarvest) &&
                    (TargetUtil.AnyMobsInRange(16f, GetBuffStacks(SNOPower.Witchdoctor_SoulHarvest) + 1, false) || (hasSwallowYourSoul && Player.PrimaryResourcePct <= 0.50) || TargetUtil.IsEliteTargetInRange(16f)))
                {
                    return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
                }

EDITED:
Code:
// Soul Harvest with Jade Harvester Set
                if (CanCast(SNOPower.Witchdoctor_SoulHarvest) && TargetUtil.AnyMobsInRange([COLOR="#FF0000"]12f) && SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Haunt) &&
		SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Locust_Swarm)[/COLOR])
                {
                    return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
                }

Sweet ill try it out, ty!

Tested, still randomly Soul Harvesting, even before LS & Haunt. Unfortunately :(

I thought about it and a jade harvester wd combat routine seems very complicated as you have to pull mobs together efficiently

Can't we set the mob density to an appropriate level, plus Pirhanado and Ess of Johan (on follower) can help alot also

And can we have Soul Harvest work dependent on surrounding mobs? so only if > 4 mobs in range, Same with Pirhanado. I mean if we have those exceptions i can't see it really failing that often.

And you only need to pull mobs together efficiently if you're an actual player, in T6. So in T4 or less dots will kill trash and you'll 1shot packs with SH.
 
Last edited:
@zondi have you tried editing spelltracker.cs to include piranado and horific?

Code:
            // Witch Doctor
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 0, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 1, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 2, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 3, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 4, 2000f)); // WD, Resentful Spirit

            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Locust_Swarm, -999, 8000f));

and then include the isspelltrack of those 2 new WD spelltrack under soul harvest for those two spells, so that it will cast soul harvest last?

worth a try.
 
Hey! I just modified my routine to check if Haunt and Locust Swarm are on the current target. I'ts not the best routine, but it's better than nothing.:) I'm testing it right now on T3 and it seems fair enough.


This is the edited file from my Demonbuddy: 1.1 r1898 Build 362 / Trinity 1.9.8
Just overwrite the one in \Demonbuddy\Plugins\Trinity\Combat\Abilities\
View attachment 131910

or this is what i changed

ORIGINAL:
Code:
// Soul Harvest Any Elites or to increase buff stacks
                if (CanCast(SNOPower.Witchdoctor_SoulHarvest) &&
                    (TargetUtil.AnyMobsInRange(16f, GetBuffStacks(SNOPower.Witchdoctor_SoulHarvest) + 1, false) || (hasSwallowYourSoul && Player.PrimaryResourcePct <= 0.50) || TargetUtil.IsEliteTargetInRange(16f)))
                {
                    return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
                }

EDITED:
Code:
// Soul Harvest with Jade Harvester Set
                if (CanCast(SNOPower.Witchdoctor_SoulHarvest) && TargetUtil.AnyMobsInRange([COLOR="#FF0000"]12f) && SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Haunt) &&
		SpellTracker.IsUnitTracked(CurrentTarget, SNOPower.Witchdoctor_Locust_Swarm)[/COLOR])
                {
                    return new TrinityPower(SNOPower.Witchdoctor_SoulHarvest);
                }
@zondi have you tried editing spelltracker.cs to include piranado and horific?

Code:
            // Witch Doctor
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 0, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 1, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 2, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 3, 6000f));
            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Haunt, 4, 2000f)); // WD, Resentful Spirit

            TrackedSpells.Add(new TrackedSpell(SNOPower.Witchdoctor_Locust_Swarm, -999, 8000f));

and then include the isspelltrack of those 2 new WD spelltrack under soul harvest for those two spells, so that it will cast soul harvest last?

worth a try.

Wish i understood what to do my man :(

Zero knowledge in editing these sorry! ill pay for help though! haha
 
Looking forward to see one. Can some one make spells cast in orders like: 1. piranhado 2. LS + haunt(champion mob priority) 3. spell track & count 2000ms-ish 4. soul harvest
and cast horrify when ever off CD (since the armour is really what a JH WD needs)
 
Last edited:
Horrify with 2 x armour rune + goldwrap + thing of the deep can keep away from dying in T6 in most circumstances.
 
Theoretically, one could set the Soul Harvest only to cast when targets are affected by whatever dots using an and if statement.
 
Theoretically, one could set the Soul Harvest only to cast when targets are affected by whatever dots using an and if statement.
Main problem is that it doenst care if your target is affected. You need the info of any mob in range if its affected. But i dont know if there is the possibility to get these infos. Didn't found them yet.

The Problem with SpellTracker is that i only counts the mobs on wich Haunt was casted. So only one count per cast

You can try the following files, maybe it works(but definitly not very well)
Just override the standart files:
Trinity\Combat\Abilities\WitchDoctorCombat.cs
View attachment WitchDoctorCombat.cs

Trinity\Combat\TargetUtil.cs
View attachment TargetUtil.cs
 
Last edited:
Main problem is that it doenst care if your target is affected. You need the info of any mob in range if its affected. But i dont know if there is the possibility to get these infos. Didn't found them yet.

The Problem with SpellTracker is that i only counts the mobs on wich Haunt was casted. So only one count per cast

You can try the following files, maybe it works(but definitly not very well)
Just override the standart files:
Trinity\Combat\Abilities\WitchDoctorCombat.cs
View attachment 132649

Trinity\Combat\TargetUtil.cs
View attachment 132650

Has anyone tried these yet? I am gearing up my Jade WD :)
 
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.
 
Last edited:
The Problem with Spelltracker ist that it only Tracks the Mops the Spell was casted on, but haunt and locustswarm jump to other mops.. so spelltracker is uselsess (when i tested it for about 2h)
The best solution would be to check the mob Attributes, there you can see every buff a mob has. But DB has no functions to check for Attributes with an modifier (and you need the modifier to determine which buff the Mob has ).
And yep it is possible to add an counter. But you have to reset it, but when? :D
@King Did you tried my TrinityFork one post earlier?

Edit but you are right Spelltracker could help. I just updated my Fork.
 
Last edited:
I'm thinking of adding a counter whenever haunt is casted, since your saying that spelltracker only tracks the one it's casted on I think casting twice is more that sufficent to say that 4-8 of the mobs within an area it's casted around has be haunted. so I say the counter should reset when the soul harvest is casted. This way we're using logic to kinda counter act it.

So the code should be something like.

hauntcounter = 0

//haunt
{
code blah blah blah

hauntcounter = hauntcounter + 1

}

// soulharvest
if blah blah blah && (hauntcounter =< 2 || any elite in range) && blah blah blah
{
use soul harvest
hauntcounter = 0
}

I think adding the anyelite in range AGAIN is very important cause while we're fighting if 1 elite or 1 boss is left I don't want it to NOT trigger cause only 1 counter of haunt is in the hauntcounter.
 
I'm thinking of adding a counter whenever haunt is casted, since your saying that spelltracker only tracks the one it's casted on I think casting twice is more that sufficent to say that 4-8 of the mobs within an area it's casted around has be haunted. so I say the counter should reset when the soul harvest is casted. This way we're using logic to kinda counter act it.

So the code should be something like.

hauntcounter = 0

//haunt
{
code blah blah blah

hauntcounter = hauntcounter + 1

}

// soulharvest
if blah blah blah && (hauntcounter =< 2 || any elite in range) && blah blah blah
{
use soul harvest
hauntcounter = 0
}

I think adding the anyelite in range AGAIN is very important cause while we're fighting if 1 elite or 1 boss is left I don't want it to NOT trigger cause only 1 counter of haunt is in the hauntcounter.
The bot casts soul Harvest on elite if you use:
https://www.thebuddyforum.com/demon...55-trinity-fork-jade-harvest.html#post1551524
Yep but what should we do in the following Scenario witch the counter:
Mob grp with 10 Mobs -> Casts LocustSwarm + 3 Times Haut -> All mobs die -> no harvesting
Next Mob grp -> counter is still 3 -> There will be no haunt casted but also no soulharvest cause no mob has the haunt debuff -> Never SoulHarvest again
 
Last edited:
Back
Top