public void UseBuffingActions(IEnumerable<BattleAbility> actions)
{
if (actions == null) throw new ArgumentNullException(nameof(actions));
var castables = actions.ToList();
while (castables.Count > 0)
{
foreach (var action in castables.ToList())
{
if (!ActionFilters.BuffingFilter(_fface, action))
{
castables.Remove(action);
continue;
}
if (!CastSpell(action)) continue;
castables.Remove(action);
action.Usages++;
action.LastCast = DateTime.Now.AddSeconds(action.Recast);
Thread.Sleep(Config.Instance.GlobalCooldown);
}
}
}