if (!EnhancementShamanSettings.Instance.EB_on_five && utils.CanCast(ELEMENTAL_BLAST, target, true))
{
utils.LogActivity(ELEMENTAL_BLAST, target.Name);
return utils.Cast(ELEMENTAL_BLAST, target);
}
if (utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.FireNova_number
&& utils.CanCast(FIRE_NOVA) && utils.MyAuraTimeLeft(FLAME_SHOCK, target) > 0)
{
utils.LogActivity(FIRE_NOVA);
return utils.Cast(FIRE_NOVA);
}
if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 &&
utils.AllAttaccableEnemyMobsInRangeFromTarget(target, 15).Count() >= EnhancementShamanSettings.Instance.ChainLightining_number
&& utils.CanCast(CHAIN_LIGHTNING, target, true))
{
utils.LogActivity(CHAIN_LIGHTNING, target.Name);
return utils.Cast(CHAIN_LIGHTNING, target);
}
if (utils.PlayerCountBuff(MAELSTROM_WEAPON) == 5 && utils.CanCast(LIGHTNING_BOLT, target, true))
{
utils.LogActivity(LIGHTNING_BOLT, target.Name);
return utils.Cast(LIGHTNING_BOLT, target);
}
if (utils.isAuraActive(ASCENDANCE) && target.Distance2DSqr <= 30 * 30 && !StromsBlastOnCoolDown)
{
utils.LogActivity(STORMBLAST, target.Name);
utils.RunMacroText("/Cast " + STORMBLAST);
//return utils.Cast(STORMBLAST, target);
}
if (target.IsWithinMeleeRange && !StromStrikeOnCoolDown)
{
utils.LogActivity(STORMSTRIKE, target.Name);
return utils.Cast(STORMSTRIKE, target);
}
if (utils.CanCast(FLAME_SHOCK, target, true) &&
(!utils.isAuraActive(FLAME_SHOCK, target) || utils.MyAuraTimeLeft(FLAME_SHOCK, target) < 3000) ||
utils.isAuraActive("Unleash Flame", target))
{
utils.LogActivity(FLAME_SHOCK, target.Name);
return utils.Cast(FLAME_SHOCK, target);
}
if (target.IsWithinMeleeRange && utils.GetSpellCooldown(LAVA_LASH).Milliseconds <= StyxWoW.WoWClient.Latency)
{
utils.LogActivity(LAVA_LASH, target.Name);
return utils.Cast(LAVA_LASH, target);
}
if (utils.CanCast(UNLEASH_ELEMENTS, target, true))
{
utils.LogActivity(UNLEASH_ELEMENTS, target.Name);
return utils.Cast(UNLEASH_ELEMENTS, target);
}
if (!Me.IsMoving && utils.CanCast(TOTEMIC_PROJECTION) && shammyCommon.TotemsInRangeOf(Me) == 0)
{
utils.LogActivity(TOTEMIC_PROJECTION);
utils.Cast(TOTEMIC_PROJECTION);
return SpellManager.ClickRemoteLocation(target.Location);
}
if (utils.CanCast(EARTH_SHOCK, target, true) && utils.isAuraActive(FLAME_SHOCK, target)
&& utils.MyAuraTimeLeft(FLAME_SHOCK, target) >= 7000)
{
utils.LogActivity(EARTH_SHOCK, target.Name);
return utils.Cast(EARTH_SHOCK, target);
}
if (utils.PlayerCountBuff(MAELSTROM_WEAPON) >= 1 && utils.CanCast(LIGHTNING_BOLT, target, true))
{
utils.LogActivity(LIGHTNING_BOLT, target.Name);
return utils.Cast(LIGHTNING_BOLT, target);
}