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

Trinity - Wizard Class

here are my changes, and my build:

Wizard - Game Guide - Diablo III

note i'm using force weapon not blood magic because i have a good amount of LS

I'm also using scramble and archon tp to speed up my runs.

Various archon fixes, and an increase to electrocute range:

Code:
--- GilesTrinity.cs-dist	2012-10-19 10:42:26.000000000 -0700
+++ GilesTrinity.cs	2012-10-30 13:07:31.367118100 -0700
@@ -30,7 +30,7 @@
     {
         public Version Version { get { return new Version(1, 6, 3, 4); } }
         public string Author { get { return "GilesSmith"; } }
-        public string Description { get { return "GilesTrinity version " + Version; } }
+        public string Description { get { return "GilesTrinity version " + Version + "-archon"; } }
         public string Name { get { return "GilesTrinity"; } }
         public bool Equals(IPlugin other) { return (other.Name == Name) && (other.Version == Version); }
 
@@ -7106,15 +7106,15 @@
                             // Storm Armor
                             else if (hashPowerHotbarAbilities.Contains(SNOPower.Wizard_StormArmor))
                             {
-                                if (!GilesHasBuff(SNOPower.Wizard_StormArmor) && PowerManager.CanCast(SNOPower.Wizard_StormArmor))
+                                if (!GilesHasBuff(SNOPower.Wizard_StormArmor) || ((DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Wizard_StormArmor]).TotalMilliseconds >= 15000) && PowerManager.CanCast(SNOPower.Wizard_Archon)))
                                 {
                                     return new GilesPower(SNOPower.Wizard_StormArmor, 0f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                                 }
                             }
                         }
                         // Magic Weapon
-                        if (!playerStatus.bIsIncapacitated && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_MagicWeapon) &&
-                            playerStatus.dCurrentEnergy >= 25 && (GilesUseTimer(SNOPower.Wizard_MagicWeapon) || !GilesHasBuff(SNOPower.Wizard_MagicWeapon)))
+                        if (!playerStatus.bIsIncapacitated && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_MagicWeapon) &&  PowerManager.CanCast(SNOPower.Wizard_MagicWeapon) &&
+				(!GilesHasBuff(SNOPower.Wizard_MagicWeapon) || ((DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Wizard_MagicWeapon]).TotalMilliseconds >= 10000) && PowerManager.CanCast(SNOPower.Wizard_Archon))))
                         {
                             return new GilesPower(SNOPower.Wizard_MagicWeapon, 0f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                         }
@@ -7153,7 +7153,7 @@
                         }
                         // Archon
                         if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Archon) &&
-                            (iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_25] >= 1 || playerStatus.dCurrentHealthPct <= 0.6 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 30f)) &&
+                            (iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_25] >= 3 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 30f)) &&
                             playerStatus.dCurrentEnergy >= 25 && playerStatus.dCurrentHealthPct >= 0.10 &&
                             PowerManager.CanCast(SNOPower.Wizard_Archon))
                         {
@@ -7278,7 +7278,7 @@
                         // Electrocute
                         if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Electrocute))
                         {
-                            return new GilesPower(SNOPower.Wizard_Electrocute, 18f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, USE_SLOWLY);
+                            return new GilesPower(SNOPower.Wizard_Electrocute, 40f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, USE_SLOWLY);
                         }
                         // Default attacks
                         if (!bOOCBuff && !bCurrentlyAvoiding && !playerStatus.bIsIncapacitated)
 
Last edited:
Someone know how to make spam my bot's Archon's arcane blast?
dictAbilityRepeatDelay[SNOPower.Wizard_Archon_ArcaneBlast] = 25; I make 25 delay, but it dont spam arcane blast.
sorry for my english.
 
Hey I was wondering if there was some way to make the wiz pop archon only on elite pack and bosses (ie keywardens). Ive watched the bot a lot and there are often times he will pop archon to kill 2 normal enemies... I think it would greatly help out the wiz
 
@Jebus, if you'd check 3 pages back, you'd have found your answer. Anyway here it is: for archon, just remove iAnythingWithinRange[RANGE_25] >= 1
 
This is what is working best for me atm: Wizard - Game Guide - Diablo III

Exact build Im using with great success. 0-2 dph depending on how often the bot stands in stuff it shouldnt.
The only problem I've noticed is that it will cast Explosive blast just out of range, or in range of only 1 of 3+ mobs. It really slows down the overall kill speed when it attacks one at a time. It seems to be just standing a little too far away from what its attacking.
 
Wizard - Game Guide - Diablo III

Swap the last passive for anything you want, I use cold blooded as Scoundrel has Cold Dmg SOJ.

Running stable 0-1 dph with 31m xp/h MP1. 225k DPS 38k life, loads of LOH/LS and bout 700 AR.
 
Looks like this is the above set up is the way to go. I'm still running with WW/CM archon hybrid and it is pretty inefficient with 400~500k gph and about 100 rares looted per hour at act 3, mp3.

@beardi, is your specs buffed or unbuffed? With a maxed ruby gem in helm? 31m/hr is more than twice of what I'm getting!
 
I'm finding scramble + archon tp increases my throughput significantly.
 
Can force bot recast Energy Armor before use Archon? Often turns out that the time ends when the bot armor in the form of Archon
 
I'm finding scramble + archon tp increases my throughput significantly.

Tested out both and got worse xp/gph/iph than the build im using now somehow lol.

@Xyber - Fully buffed is: 220k Dps 730-850 AR 6.3k Armor.

Using 2x Hellfire (1 on follower 1 on me) + Max ruby

Oh and btw for all, buy a puzzle ring and put it on your follower if you haven't already, getting 10 goblins per hour which has increased my set item drop rate significantly.
 
Last edited:
Actually slightly under 10, currently with a 3h profile on Goblin #26 so more like 8/h, but still better than before :)
 
this is the default archon code:
// Archon
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Archon) &&
(iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_25] >= 1 || playerStatus.dCurrentHealthPct <= 0.6 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 30f)) &&
playerStatus.dCurrentEnergy >= 25 && playerStatus.dCurrentHealthPct >= 0.10 &&
PowerManager.CanCast(SNOPower.Wizard_Archon))

What do i change to make it use archon on elites/bosses OR 4+ normal mobs?

And does anyone know how to make trinity kill all mobs instead of ignoring a lot of them. No matter what range i set for normal mobs in settings it still runs off and leaves mobs alive.
thanks
 
this is the default archon code:
// Archon
if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Archon) &&
(iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_25] >= 1 || playerStatus.dCurrentHealthPct <= 0.6 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 30f)) &&
playerStatus.dCurrentEnergy >= 25 && playerStatus.dCurrentHealthPct >= 0.10 &&
PowerManager.CanCast(SNOPower.Wizard_Archon))

What do i change to make it use archon on elites/bosses OR 4+ normal mobs?

And does anyone know how to make trinity kill all mobs instead of ignoring a lot of them. No matter what range i set for normal mobs in settings it still runs off and leaves mobs alive.
thanks


In iAnythingWithinRange[RANGE_25] >= 1 change to iAnythingWithinRange[RANGE_25] >= 4
I also found usefull changing the distance in which archon activates when an elite to 40 (iElitesWithinRange[RANGE_40] >= 1

hope it helps
 
Can force bot recast Energy Armor before use Archon? Often turns out that the time ends when the bot armor in the form of Archon

Excellent suggestion.. should be pretty easy to implement.
 
Excellent suggestion.. should be pretty easy to implement.

Here is the fix, you have to change timer on energy armor from 120000 to 60000 in SNOPower.Wizard_EnergyArmor then use the GilesUseTimer function instead of PowerManager.CanCast in // Energy Armor

// Energy armor as priority cast if available and not buffed
if (hashPowerHotbarAbilities.Contains(SNOPower.Wizard_EnergyArmor))
{
if ((!GilesHasBuff(SNOPower.Wizard_EnergyArmor) && PowerManager.CanCast(SNOPower.Wizard_EnergyArmor)) || (hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Archon) && (!GilesHasBuff(SNOPower.Wizard_EnergyArmor) || GilesUseTimer(SNOPower.Wizard_EnergyArmor))))
{
return new GilesPower(SNOPower.Wizard_EnergyArmor, 0f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
}
}

now it will cast Energy armor every 60 sec ;)
 
Yea, i had the timer thing, but I didn't like it. ideally it should

1) recast armor right before going archon
2) if archon reaches CD, but you are still archon, drop archon, cast armor, recast archon...
 
For me its working great with 0-1 DPH MP1 at 200k dps with 450k GPH ( 85 paragon ), I really need energy armor active because my AR are 500 unbuffed and also using pinpoint barrier for the 5% crit

Wizard - Game Guide - Diablo III

electrocute changed to 40f, Desintegrate priority in archon and some aoe avoid changes. Cheers
 
here are my changes, and my build:

Wizard - Game Guide - Diablo III

note i'm using force weapon not blood magic because i have a good amount of LS

I'm also using scramble and archon tp to speed up my runs.

Various archon fixes, and an increase to electrocute range:

Code:
--- GilesTrinity.cs-dist	2012-10-19 10:42:26.000000000 -0700
+++ GilesTrinity.cs	2012-10-30 13:07:31.367118100 -0700
@@ -30,7 +30,7 @@
     {
         public Version Version { get { return new Version(1, 6, 3, 4); } }
         public string Author { get { return "GilesSmith"; } }
-        public string Description { get { return "GilesTrinity version " + Version; } }
+        public string Description { get { return "GilesTrinity version " + Version + "-archon"; } }
         public string Name { get { return "GilesTrinity"; } }
         public bool Equals(IPlugin other) { return (other.Name == Name) && (other.Version == Version); }
 
@@ -7106,15 +7106,15 @@
                             // Storm Armor
                             else if (hashPowerHotbarAbilities.Contains(SNOPower.Wizard_StormArmor))
                             {
-                                if (!GilesHasBuff(SNOPower.Wizard_StormArmor) && PowerManager.CanCast(SNOPower.Wizard_StormArmor))
+                                if (!GilesHasBuff(SNOPower.Wizard_StormArmor) || ((DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Wizard_StormArmor]).TotalMilliseconds >= 15000) && PowerManager.CanCast(SNOPower.Wizard_Archon)))
                                 {
                                     return new GilesPower(SNOPower.Wizard_StormArmor, 0f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                                 }
                             }
                         }
                         // Magic Weapon
-                        if (!playerStatus.bIsIncapacitated && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_MagicWeapon) &&
-                            playerStatus.dCurrentEnergy >= 25 && (GilesUseTimer(SNOPower.Wizard_MagicWeapon) || !GilesHasBuff(SNOPower.Wizard_MagicWeapon)))
+                        if (!playerStatus.bIsIncapacitated && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_MagicWeapon) &&  PowerManager.CanCast(SNOPower.Wizard_MagicWeapon) &&
+				(!GilesHasBuff(SNOPower.Wizard_MagicWeapon) || ((DateTime.Now.Subtract(dictAbilityLastUse[SNOPower.Wizard_MagicWeapon]).TotalMilliseconds >= 10000) && PowerManager.CanCast(SNOPower.Wizard_Archon))))
                         {
                             return new GilesPower(SNOPower.Wizard_MagicWeapon, 0f, vNullLocation, iCurrentWorldID, -1, 1, 2, USE_SLOWLY);
                         }
@@ -7153,7 +7153,7 @@
                         }
                         // Archon
                         if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Archon) &&
-                            (iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_25] >= 1 || playerStatus.dCurrentHealthPct <= 0.6 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 30f)) &&
+                            (iElitesWithinRange[RANGE_30] >= 1 || iAnythingWithinRange[RANGE_25] >= 3 || ((targetCurrent.bThisEliteRareUnique || targetCurrent.bThisBoss) && targetCurrent.fRadiusDistance <= 30f)) &&
                             playerStatus.dCurrentEnergy >= 25 && playerStatus.dCurrentHealthPct >= 0.10 &&
                             PowerManager.CanCast(SNOPower.Wizard_Archon))
                         {
@@ -7278,7 +7278,7 @@
                         // Electrocute
                         if (!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Wizard_Electrocute))
                         {
-                            return new GilesPower(SNOPower.Wizard_Electrocute, 18f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, USE_SLOWLY);
+                            return new GilesPower(SNOPower.Wizard_Electrocute, 40f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, USE_SLOWLY);
                         }
                         // Default attacks
                         if (!bOOCBuff && !bCurrentlyAvoiding && !playerStatus.bIsIncapacitated)

Hi cfog i really liked the code. But can u help me at this line "public string Description { get { return "GilesTrinity version " + Version + "-archon"; } }".
If i let this code i got some error with GilesTrynity Description. But if i erase works fine. How important is this line?
 
Hi cfog i really liked the code. But can u help me at this line "public string Description { get { return "GilesTrinity version " + Version + "-archon"; } }".
If i let this code i got some error with GilesTrynity Description. But if i erase works fine. How important is this line?

Not important at all. Its just so i can tell which version of Trinity i'm running.
 
Back
Top