Ok, so i started working on this and it seems to work nicely.
Using 3 spirit generators, it uses fists of thunder as main, uses wothf for the 3 stacks and refreshes them every 4.5 seconds, and uses deadly reach for the 18% damage bonus.
also uses counters and so on to make sure all 3 spirit generators have activated combination strike.
monk.cs:
Variables.cs:
add this line
This is tested with the latest build off the GIT 1.7.3.0
Using 3 spirit generators, it uses fists of thunder as main, uses wothf for the 3 stacks and refreshes them every 4.5 seconds, and uses deadly reach for the 18% damage bonus.
also uses counters and so on to make sure all 3 spirit generators have activated combination strike.
monk.cs:
Code:
// Fists of thunder as the primary, repeatable attack
if (!UseOOCBuff && !IsCurrentlyAvoiding && Hotbar.Contains(SNOPower.Monk_FistsofThunder)
&& (DateTime.Now.Subtract(OtherThanDeadlyReach).TotalMilliseconds < 2700 && DateTime.Now.Subtract(ForeSightFirstHit).TotalMilliseconds < 17000 || !Hotbar.Contains(SNOPower.Monk_DeadlyReach) ||
CurrentTarget.RadiusDistance > 12f) &&
(!Hotbar.Contains(SNOPower.Monk_WayOfTheHundredFists) || DateTime.Now.Subtract(LastWotF).TotalMilliseconds < 4500 &&
GetHasBuff(SNOPower.Monk_WayOfTheHundredFists) && GetBuffStacks(SNOPower.Monk_WayOfTheHundredFists) == 3))
{
if (DateTime.Now.Subtract(OtherThanDeadlyReach).TotalMilliseconds < 2700)
OtherThanDeadlyReach = DateTime.Now;
Monk_TickSweepingWindSpam();
return new TrinityPower(SNOPower.Monk_FistsofThunder, 30f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 1, NO_WAIT_ANIM);
}
// Crippling wave
if (!UseOOCBuff && !IsCurrentlyAvoiding && Hotbar.Contains(SNOPower.Monk_CripplingWave)
&& (DateTime.Now.Subtract(OtherThanDeadlyReach).TotalMilliseconds < 2700 && DateTime.Now.Subtract(ForeSightFirstHit).TotalMilliseconds < 17000 || !Hotbar.Contains(SNOPower.Monk_DeadlyReach)))
{
if (DateTime.Now.Subtract(OtherThanDeadlyReach).TotalMilliseconds < 2700)
OtherThanDeadlyReach = DateTime.Now;
Monk_TickSweepingWindSpam();
return new TrinityPower(SNOPower.Monk_CripplingWave, 14f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 1, NO_WAIT_ANIM);
}
// Way of hundred fists
if (!UseOOCBuff && !IsCurrentlyAvoiding && Hotbar.Contains(SNOPower.Monk_WayOfTheHundredFists)
&& (DateTime.Now.Subtract(OtherThanDeadlyReach).TotalMilliseconds < 2700 && DateTime.Now.Subtract(ForeSightFirstHit).TotalMilliseconds < 17000 || !Hotbar.Contains(SNOPower.Monk_DeadlyReach)))
{
if (DateTime.Now.Subtract(LastWotF).TotalMilliseconds > 4900)
LastWotF = DateTime.Now;
if (DateTime.Now.Subtract(OtherThanDeadlyReach).TotalMilliseconds < 2700)
OtherThanDeadlyReach = DateTime.Now;
Monk_TickSweepingWindSpam();
return new TrinityPower(SNOPower.Monk_WayOfTheHundredFists, 14f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 1, NO_WAIT_ANIM);
}
// Deadly reach
if (!UseOOCBuff && !IsCurrentlyAvoiding && Hotbar.Contains(SNOPower.Monk_DeadlyReach))
{
if (DateTime.Now.Subtract(ForeSightFirstHit).TotalMilliseconds > 17000)
{
ForeSightFirstHit = DateTime.Now;
}
else if (DateTime.Now.Subtract(ForeSight2).TotalMilliseconds > 400 && DateTime.Now.Subtract(ForeSightFirstHit).TotalMilliseconds > 2000)
{
OtherThanDeadlyReach = DateTime.Now;
}
if (DateTime.Now.Subtract(ForeSight2).TotalMilliseconds > 2800)
{
ForeSight2 = DateTime.Now;
}
Monk_TickSweepingWindSpam();
return new TrinityPower(SNOPower.Monk_DeadlyReach, 16f, Vector3.Zero, -1, CurrentTarget.ACDGuid, 0, 1, NO_WAIT_ANIM);
}
Variables.cs:
add this line
Code:
// Last WotF used for combo strike + shizzle
private static DateTime LastWotF = DateTime.Now;
This is tested with the latest build off the GIT 1.7.3.0