Here's the spec I've come up with for Telekinetic Sorc. It still doesn't use quake to pull groups of over 3 (which would be ideal) and I think down the line I'm probably going to tweak with cast order in an attempt to optimize further but as it is right now this is a pretty solid routine for TK sage and it's ready to be added. I also plan on adding the condition to not cast Mental Alacrity when they're below 30% hp because that's a total waste.:
Code:
public static void TelekineticsCombat()
{
WaitForCast();
datLCL = DateTime.Now;
Thread.Sleep(200);
LoadVars();
if (!TargetInCombat()) return;
if (MercCast("Force Valor", !MyBuffs.Contains("Force Valor"))) return;
if (!CT.InCombat)
{
while (CT.Distance > 2.0f) MoveTo(CT, 2.0f);
if (MercCast("Force Armor", !BuddyTor.Me.HasDebuff("Force-imbalance"))) return;
if (MercCast("Forcequake", UseAOE && TWR30 > 2)) return;
if (MercCast("Mind Crush", StrongOrGreater(CT))) return;
MercCast("Disturbance");
}
MoveTo(CT, 2.8f);
if (MercCast("Force Armor", !BuddyTor.Me.HasDebuff("Force-imbalance"))) return;
if (MercCast("Force Mend", HP <= 80)) return;
if (MercCast("Deliverance", MyBuffs.Contains("Mental Alacrity") && HP <= 60)) return;
if (MercCast("Benevolence", HP <= 60)) return;
if (MedicineCheckCompHealth()) return;
//if (BGHeals(85f)) return;
if (BGCheckCompHealth()) return;
Thread.Sleep(100);
if (MercCast("Force of Will", BuddyTor.Me.IsStunned)) return;
if (!TargetInCombat()) return;
if (MercCast("Mind Snap", TC)) return;
if (MercCast("Force Stun", StrongOrGreater(CT))) return;
if (MercCast("Force Potency")) return;
if (MercCast("Noble Sacrafice", RS >= 20)) return;
{
if (MercCast("Weaken Mind", StrongOrGreater(CT) && !CTDebuffs.Contains("Weaken Mind"))) return;
if (MercCast("Force Wave", TD <= .6f)) return;
if (MercCast("Turbulence", CTDebuffs.Contains("Weaken Mind"))) return;
if (MercCast("Telekinetic Wave", MyBuffs.Contains("Tidal Force"))) return;
if (MercCast("Telekinetic Throw", MyBuffs.Contains("Psychic Projection"))) return;
if (MercCast("Disturbance", MyBuffs.Contains("Mental Alacrity"))) return;
if (MercCast("Project")) return;
if (MercCast("Telekinetic Throw", !StrongOrGreater(CT) && THP <= 30f)) return;
if (MercCast("Mental Alacrity", StrongOrGreater(CT))) return;
if (MercCast("Disturbance")) return;
}
if (SeerCheckCompHealth()) return;
if (!IG && BuddyTor.Me.IsMoving) StopMoving();
}