private static bool CanCastSevenSidedStrike()
{
var shouldWaitForPrimary = Settings.Combat.Monk.PrimaryBeforeSSS && !Trinity.ObjectCache.Any(u => u.IsUnit && u.Distance < 35f && u.HasDebuff(SNOPower.Monk_ExplodingPalm));
if (!shouldWaitForPrimary && Settings.Combat.Monk.SSSOffCD && (Player.PrimaryResource >= 50 || Runes.Monk.Pandemonium.IsActive) &&
CanCast(SNOPower.Monk_SevenSidedStrike, CanCastFlags.NoTimer) && TargetUtil.AnyMobsInRange(15))
return true;
return !IsCurrentlyAvoiding && !shouldWaitForPrimary &&
(TargetUtil.AnyElitesInRange(15, 1) || Player.CurrentHealthPct <= 0.55 || Legendary.Madstone.IsEquipped || Sets.UlianasStratagem.IsMaxBonusActive) &&
CanCast(SNOPower.Monk_SevenSidedStrike, CanCastFlags.NoTimer) &&
(Player.PrimaryResource >= 50 || (Player.PrimaryResource >= EnergyReserve && IsWaitingForSpecial));
}