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

Trinity - Witch Doctor Class

I run a damage build WD with zombie bears and firebombs,

In older version, it use to cast firebombs over zombie bears, and only use the bears for elites or close combat.

With the new gilestrinity it will cast bears whenever untill out of mana, and then start using the firebombs after.

I want other people opinion on this, I wanna know if im the only one that uses this build and that would like trash cleared with firebomb so when elites come your full mana for bears.

Thanks,
Edouard

Code:
                    // Zombie Charger aka Zombie bears Spams Bears @ Elites within 6yrds or 1 Norm
                    if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_ZombieCharger) && !playerStatus.bIsIncapacitated && playerStatus.dCurrentEnergy >= 140 &&
                        (iElitesWithinRange[RANGE_25] > 0 || iAnythingWithinRange[RANGE_25] >= 1 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisTreasureGoblin) && targetCurrent.fRadiusDistance <= 24f)) &&
                        hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_ZombieCharger))
                    {
                        return new GilesPower(SNOPower.Witchdoctor_ZombieCharger, 16f, new Vector3(targetCurrent.vThisPosition.X, targetCurrent.vThisPosition.Y, targetCurrent.vThisPosition.Z + iThisHeight), iCurrentWorldID, -1, 1, 0, USE_SLOWLY);
                    }

iAnythingWithinRange[RANGE_25] >= 1 change this # to 5, to only use bears on 5 or more norms in range
 
ok If u have pls send me SNO information for sacrifice for fixing it.
 
Few questions:

1- is it possible to make my WD kite more? I put "position" settings at 70 so I engage enemies from far away, but if they teleport to me or run up on me, my guy just stands there and keeps attacking. If I could make it so he'd retreat and/or move in a big circle then I'd never die. Even in normal combat if he could just stutter step (as in left click very short distance so he barely moves but keeps attacking) I'd dodge almost all long ranged attacks. It might be good to have him stutter step the way he came as to not go into more uncharted territory and attract more minions.

2- possible to make the WD use spirit walk into a mob THEN use soul harvest?

3- possible to make WD use soul harvest as certain times? (like if he already has 5 souls with it, I don't want him casting it again to only get 1 soul or 0 souls)



Any of the above would greatly help the WD class out. Really appreciate any help + time you guys can give.
 
Few questions:

1- is it possible to make my WD kite more? I put "position" settings at 70 so I engage enemies from far away, but if they teleport to me or run up on me, my guy just stands there and keeps attacking. If I could make it so he'd retreat and/or move in a big circle then I'd never die. Even in normal combat if he could just stutter step (as in left click very short distance so he barely moves but keeps attacking) I'd dodge almost all long ranged attacks. It might be good to have him stutter step the way he came as to not go into more uncharted territory and attract more minions.

2- possible to make the WD use spirit walk into a mob THEN use soul harvest?

3- possible to make WD use soul harvest as certain times? (like if he already has 5 souls with it, I don't want him casting it again to only get 1 soul or 0 souls)



Any of the above would greatly help the WD class out. Really appreciate any help + time you guys can give.

1. No, not at this time
2. No, can not force a moveto with Spirit Walk
3. Yes, In next version of trinity
 
Hi Moley,

I am curious, what spec are you running and stats ? how long taking u to do full ciggarc's act 3 profile ?
 
Hi Moley,

I am curious, what spec are you running and stats ? how long taking u to do full ciggarc's act 3 profile ?

I run the Heavy Hitting Build and swap dogs for mass confusion or hex or horrify and lately subbing Spirit Vessel for Blood RItual
Acid Spam Build works very well too

You will see MARKED improvements for WD in the next trinity
 
1. No, not at this time
2. No, can not force a moveto with Spirit Walk
3. Yes, In next version of trinity
Thanks for the quick reply Moley!
#3 will help loads. #1 sounds like it'd be hard to program (I know nothing), but it would probably help the most.

I run the Heavy Hitting Build and swap dogs for mass confusion or hex or horrify and lately subbing Spirit Vessel for Blood RItual
Acid Spam Build works very well too

You will see MARKED improvements for WD in the next trinity

May I ask what your build is?
Currently doing the acid spam (1k loh + 3% life steal) and finally got my all res up to 600 + HP 55k+ and I'm hardly ever dying (maybe like 4times/hr and that's if I find a super hard mob)
curious in running bear spam to see if I could increase time per run without dying more
Am I understand -- you run the "grave injustice" build in the 1st post but swap dogs for the ones u mentioned?

also what position distance + enemy engage + enemy avoid levels do you have? Having a hard time balancing these
Thanks again!
 
New trinity seems amazing for WD so far, Running DB .250, Ciggarc's BigRed 1.3 Act 3 prelease profile, Radsatom 1.1 (would use 1.3.3 is not for the non stop starting and stopping of the bot bug), Trinity 1.6 and seem to not have any trouble at all including running the randomized dungeons in the profile. Still using Acid Spam buld with toads.
 
New trinity seems amazing for WD so far, Running DB .250, Ciggarc's BigRed 1.3 Act 3 prelease profile, Radsatom 1.1 (would use 1.3.3 is not for the non stop starting and stopping of the bot bug), Trinity 1.6 and seem to not have any trouble at all including running the randomized dungeons in the profile. Still using Acid Spam buld with toads.

Where did you find this prerelease profile of act3?
thank you
 
you have to be a donator on the Ciggarc site, its under your account settings.
 
with latest trinity, dogs not spawning until some time into combat, before they used to always cast my garg and dogs at a certain spot when I'm about to enter battle... not sure why only garg casts now.
Also with latest version of giles, sometimes combat starts and my wd just sits there doing nothing. luckily my enchantress finishes mobs, unstuckme moves me around a bit, then finally profile starts going again.
Nasty log:
[14:22:36.106 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.ACD.()
at Zeta.Internals.Actors.ACD.get_ACDGuid()
at GilesTrinity.GilesTrinity.RefreshDiaObjects()
at GilesTrinity.GilesTrinity.GilesGlobalOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
[14:22:37.900 D] Replaced hook [ProfileOrderBehavior_Hook] 064995a3-f55e-4fc3-ab06-81ba571fee68
[14:22:37.901 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.ACD.()
at Zeta.Internals.Actors.ACD.get_ACDGuid()
at GilesTrinity.GilesTrinity.RefreshDiaObjects()
at GilesTrinity.GilesTrinity.GilesGlobalOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
[14:22:41.022 N] [UnstuckMe!] 170.6103 yards traveld with 40 points
[14:22:41.027 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.ACD.()
at Zeta.Internals.Actors.ACD.get_ACDGuid()
at GilesTrinity.GilesTrinity.RefreshDiaObjects()
at GilesTrinity.GilesTrinity.GilesGlobalOverlord(Object ret)
at Zeta.TreeSharp.Decorator.CanRun(Object context)
at Zeta.TreeSharp.Decorator..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.Common.HookExecutor.Run(Object context)
at Zeta.TreeSharp.Action.RunAction(Object context)
at Zeta.TreeSharp.Action..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.TreeSharp.PrioritySelector..()
at Zeta.TreeSharp.Composite.Tick(Object context)
at Zeta.CommonBot.BotMain.()
 
also, it keeps recasting my garg and dogs when there is no need to. wtf. why waste the time doing this every time
 
damn this latest giles also just had this problem sitting at town portal, not taking it back to town.. then caused diablo crash.
The following log snippit was repeated like 20 times until the crash.

[14:35:41.957 D] [GilesTrinity] Safely handled exception getting summoned-by info for Zombie Dogs [0]
[14:35:41.957 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.ACD.()
at Zeta.Internals.Actors.ACD.get_FAGGuid()
at Zeta.Internals.Actors.ACD.[](ACD , Int32 )
at Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
at Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
at GilesTrinity.GilesTrinity.RefreshDiaObjects()
[14:35:42.124 D] [GilesTrinity] Safely handled exception getting summoned-by info for Zombie Dogs [0]
[14:35:42.124 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.ACD.()
at Zeta.Internals.Actors.ACD.get_FAGGuid()
at Zeta.Internals.Actors.ACD.[](ACD , Int32 )
at Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
at Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
at GilesTrinity.GilesTrinity.RefreshDiaObjects()
[14:35:42.291 D] [GilesTrinity] Safely handled exception getting summoned-by info for Zombie Dogs [0]
[14:35:42.291 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.ACD.()
at Zeta.Internals.Actors.ACD.get_FAGGuid()
at Zeta.Internals.Actors.ACD.[](ACD , Int32 )
at Zeta.Internals.Actors.ACD.GetAttribute[T](Int32 attribute)
at Zeta.Internals.Actors.ACD.GetAttribute[T](ActorAttributeType attributeType)
at GilesTrinity.GilesTrinity.RefreshDiaObjects()
[14:35:44.437 N] Diablo III Exited, Demonbuddy terminating

Happened again my next run without a crash.
[07:48:55.862 N] Using Waypoint Waypoint_OldTristram-1569 Number:0[07:48:56.887 N] Using Waypoint Waypoint_OldTristram-1569 Number:0
[07:48:57.981 N] Using Waypoint Waypoint_OldTristram-1569 Number:0
[07:48:59.082 N] Using Waypoint Waypoint_OldTristram-1569 Number:0
spam for many many lines. I manually took the portal and it continued.
Log showed these:
[14:49:52.093 D] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.DiaObject.()
at Zeta.Internals.Actors.DiaObject.get_Position()
at Zeta.CommonBot.InactivityDetector.(Object , EventArgs )
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Delegate.DynamicInvoke(Object[] args)
at Zeta.CommonBot.Pulsator.(Delegate , Object[] ) --> System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.DiaObject.()
at Zeta.Internals.Actors.DiaObject.get_Position()
at Zeta.CommonBot.InactivityDetector.(Object , EventArgs )
[14:49:52.093 D] System.AccessViolationException: Could not read bytes from 00000000 [299]!
at Zeta.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative)
at Zeta.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative)
at Zeta.Internals.Actors.DiaObject.()
at Zeta.Internals.Actors.DiaObject.get_ACDGuid()
at Zeta.Internals.Actors.DiaObject.get_IsACDBased()
at Zeta.Internals.Actors.DiaObject.get_CommonData()
at Zeta.Internals.Actors.DiaActivePlayer.get_NumBackpackSlots()
at Zeta.Internals.Actors.DiaActivePlayer.InventoryManager.get_NumBackpackSlots()
at Zeta.CommonBot.Logic.BrainBehavior.()
at Zeta.CommonBot.Logic.BrainBehavior.()
at Zeta.CommonBot.Logic.BrainBehavior.()
 
Last edited:
Find this in the .cs
Code:
                  // Zombie dogs ally, Recast on 2+ Elites or Normal Mobs of 5 or more
                    if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_SummonZombieDog) && !playerStatus.bIsIncapacitated &&

change to
Code:
                  // Zombie dogs ally, Recast on 2+ Elites or Normal Mobs of 5 or more
                    if (!bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_SummonZombieDog) && !playerStatus.bIsIncapacitated &&

will be in next trinity, for dogs

Can do the same for garg, if you don't want it recast, However garg is set to recast to trigger Restless Giant Rune, since 90% of garg users use that rune


Alternatively you can change how many dogs it checks for before recast
Code:
                         (targetCurrent != null && ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisTreasureGoblin) && targetCurrent.fRadiusDistance <= 30f)) || iPlayerOwnedZombieDog <= 1) &&

to
Code:
                         (targetCurrent != null && ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisTreasureGoblin) && targetCurrent.fRadiusDistance <= 30f)) || iPlayerOwnedZombieDog < 1) &&

So it wont recast until you have no dogs alive
 
Last edited:
Find this in the .cs
Code:
                  // Zombie dogs ally, Recast on 2+ Elites or Normal Mobs of 5 or more
                    if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_SummonZombieDog) && !playerStatus.bIsIncapacitated &&

change to
Code:
                  // Zombie dogs ally, Recast on 2+ Elites or Normal Mobs of 5 or more
                    if (!bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Witchdoctor_SummonZombieDog) && !playerStatus.bIsIncapacitated &&

will be in next trinity, for dogs

Can do the same for garg, if you don't want it recast, However garg is set to recast to trigger Restless Giant Rune, since 90% of garg users use that rune

So with this change, he will recast zombie dogs as soon as we need them?
 
damn this latest giles also just had this problem sitting at town portal, not taking it back to town.. then caused diablo crash.
The following log snippit was repeated like 20 times until the crash.

Your errors are DB<->D3 memory read errors. Obviously as Trinity is doing almost all the work, Trinity comes up in the log. But Trinity isn't the cause. Memory read errors are the cause. Some people experience them more than others. You can check out my "Sticky" thread in the Support forums about crash issues and try some of the solutions there. Also check out my "common problems & solutions" sticky thread right here in the plugin subforums. Going through both those sticky threads might help you. Try disabling TPS setting if you have it enabled. If you use a Virtual Machine, well, use at your own peril.
 
Thanks for the response giles. Tried disabling tps (had it maxed, my computer is very fast, have had no issues in the past with running not only diablo botting with max tps, but also other game clients at the same time).
It really is related to this new HB release, I think you're right. However, even with the new release I was not getting the memory errors and diablo crashing until I updated your plugin. So maybe your newer versions use something HB team screwed up.
Do you have an archive with older versions of your plugin? I'd like to revert, as I've tried all the other solutions to this problem to no avail. Or perhaps there's a way to get the DB version before v1.0.1020.267 because this version is terrible.
The 1minute stalls when clicking start and when joining game are related to this version as well, although it is some interaction between giles, because it doesn't happen when giles isn't enabled.

I'm actually currently debating writing an autoit script to detect the multiple lines of [11:32:46.550 N] Using Waypoint Waypoint_OldTristram-2851 Number:0 using pixelsearching, and then just clicking on the screen and clicking the waypoint, lol.
That would solve the problem at least to get my bot running again while I sleep. However, this would of course disable me from using the computer for other things simultaneously (which I usually do)
 
Last edited:
I'm actually currently debating writing an autoit script to detect the multiple lines of [11:32:46.550 N] Using Waypoint Waypoint_OldTristram-2851 Number:0 using pixelsearching, and then just clicking on the screen and clicking the waypoint, lol.
That would solve the problem at least to get my bot running again while I sleep. However, this would of course disable me from using the computer for other things simultaneously (which I usually do)

#267 was so broken they rolled it back the same night (after some trouble with me for publicly voicing my opinions on #267...). Go to the download thread. You can download #259, which isn't a "Great" build, but is *MUCH* better than #267.

NOBODY should be running build #267 - it's badly broken and causes all sorts of random errors. The latest test release is looking really promising though, so I think we can look forward to the next public release, and the new testing system should ensure less chance of a "bad build" being released into the public again :)
 
Back
Top