Swe
New Member
- Joined
- Apr 8, 2014
- Messages
- 27
- Reaction score
- 10
So with Rank#1 GR60: Aether Walker Tal Rasha Stunport Meteor Shower Build - Wizard - Diablo III Builds - Diablo Fans for instance (most of them are the same)
being a very nice build, I've been looking at my bot while it plays... and noticed that mostly it never used Meteor...
So I changed the WizardCombat alittle. (DB\Plugins\Trinity\Combat\Abilities)
From:
[HIDE] // Blizzard
float blizzardRadius = Runes.Wizard.Apocalypse.IsActive ? 30f : 12f;
if (!Player.IsIncapacitated && CanCast(SNOPower.Wizard_Blizzard, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Blizzard) &&
(TargetUtil.ClusterExists(blizzardRadius, 90f, 2, false) || CurrentTarget.IsBossOrEliteRareUnique || !HasPrimarySkill) &&
(Player.PrimaryResource >= 40 || (Runes.Wizard.Snowbound.IsActive && Player.PrimaryResource >= 20)))
{
var bestClusterPoint = TargetUtil.GetBestClusterPoint(blizzardRadius, 65f, false);
return new TrinityPower(SNOPower.Wizard_Blizzard, 65f, bestClusterPoint);
}
// Meteor - no arcane dynamo
if (!Player.IsIncapacitated && !Passives.Wizard.ArcaneDynamo.IsActive && CanCast(SNOPower.Wizard_Meteor, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Meteor) &&
(TargetUtil.EliteOrTrashInRange(65) || TargetUtil.ClusterExists(15f, 65, 2)))
{
return new TrinityPower(SNOPower.Wizard_Meteor, 65f, TargetUtil.GetBestClusterPoint());
}[/HIDE]
To:
[HIDE] // Shock Pulse
if (CanCast(SNOPower.Wizard_ShockPulse) && (Player.PrimaryResource <= 20))
{
return new TrinityPower(SNOPower.Wizard_ShockPulse, 10f, CurrentTarget.ACDGuid);
}
// Meteor - no arcane dynamo
if (!Player.IsIncapacitated && !Passives.Wizard.ArcaneDynamo.IsActive && CanCast(SNOPower.Wizard_Meteor, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Meteor) &&
(TargetUtil.EliteOrTrashInRange(65) || TargetUtil.ClusterExists(15f, 65, 2) || (Player.PrimaryResource >= 40)))
{
return new TrinityPower(SNOPower.Wizard_Meteor, 65f, TargetUtil.GetBestClusterPoint());
}
// Blizzard
float blizzardRadius = Runes.Wizard.Apocalypse.IsActive ? 30f : 12f;
if (!Player.IsIncapacitated && CanCast(SNOPower.Wizard_Blizzard, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Blizzard) &&
(TargetUtil.ClusterExists(blizzardRadius, 90f, 2, false) || CurrentTarget.IsBossOrEliteRareUnique || !HasPrimarySkill) &&
(Player.PrimaryResource >= 40 || (Runes.Wizard.Snowbound.IsActive && Player.PrimaryResource >= 20)))
{
var bestClusterPoint = TargetUtil.GetBestClusterPoint(blizzardRadius, 65f, false);
return new TrinityPower(SNOPower.Wizard_Blizzard, 65f, bestClusterPoint);
}[/HIDE]
And abit further down I just removed the Shock pule sentry.
And now my bot uses Meteor all the time, except if I am low on AP (if anyone know how to set a Cooldown on a skill I'd use that for shock pulse instead)
View attachment WizardCombat.cs
With help from the wizards here, we might be able to make it even better!
being a very nice build, I've been looking at my bot while it plays... and noticed that mostly it never used Meteor...
So I changed the WizardCombat alittle. (DB\Plugins\Trinity\Combat\Abilities)
From:
[HIDE] // Blizzard
float blizzardRadius = Runes.Wizard.Apocalypse.IsActive ? 30f : 12f;
if (!Player.IsIncapacitated && CanCast(SNOPower.Wizard_Blizzard, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Blizzard) &&
(TargetUtil.ClusterExists(blizzardRadius, 90f, 2, false) || CurrentTarget.IsBossOrEliteRareUnique || !HasPrimarySkill) &&
(Player.PrimaryResource >= 40 || (Runes.Wizard.Snowbound.IsActive && Player.PrimaryResource >= 20)))
{
var bestClusterPoint = TargetUtil.GetBestClusterPoint(blizzardRadius, 65f, false);
return new TrinityPower(SNOPower.Wizard_Blizzard, 65f, bestClusterPoint);
}
// Meteor - no arcane dynamo
if (!Player.IsIncapacitated && !Passives.Wizard.ArcaneDynamo.IsActive && CanCast(SNOPower.Wizard_Meteor, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Meteor) &&
(TargetUtil.EliteOrTrashInRange(65) || TargetUtil.ClusterExists(15f, 65, 2)))
{
return new TrinityPower(SNOPower.Wizard_Meteor, 65f, TargetUtil.GetBestClusterPoint());
}[/HIDE]
To:
[HIDE] // Shock Pulse
if (CanCast(SNOPower.Wizard_ShockPulse) && (Player.PrimaryResource <= 20))
{
return new TrinityPower(SNOPower.Wizard_ShockPulse, 10f, CurrentTarget.ACDGuid);
}
// Meteor - no arcane dynamo
if (!Player.IsIncapacitated && !Passives.Wizard.ArcaneDynamo.IsActive && CanCast(SNOPower.Wizard_Meteor, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Meteor) &&
(TargetUtil.EliteOrTrashInRange(65) || TargetUtil.ClusterExists(15f, 65, 2) || (Player.PrimaryResource >= 40)))
{
return new TrinityPower(SNOPower.Wizard_Meteor, 65f, TargetUtil.GetBestClusterPoint());
}
// Blizzard
float blizzardRadius = Runes.Wizard.Apocalypse.IsActive ? 30f : 12f;
if (!Player.IsIncapacitated && CanCast(SNOPower.Wizard_Blizzard, CanCastFlags.NoTimer) && !ShouldWaitForConventionElement(Skills.Wizard.Blizzard) &&
(TargetUtil.ClusterExists(blizzardRadius, 90f, 2, false) || CurrentTarget.IsBossOrEliteRareUnique || !HasPrimarySkill) &&
(Player.PrimaryResource >= 40 || (Runes.Wizard.Snowbound.IsActive && Player.PrimaryResource >= 20)))
{
var bestClusterPoint = TargetUtil.GetBestClusterPoint(blizzardRadius, 65f, false);
return new TrinityPower(SNOPower.Wizard_Blizzard, 65f, bestClusterPoint);
}[/HIDE]
And abit further down I just removed the Shock pule sentry.
And now my bot uses Meteor all the time, except if I am low on AP (if anyone know how to set a Cooldown on a skill I'd use that for shock pulse instead)
View attachment WizardCombat.cs
With help from the wizards here, we might be able to make it even better!