private bool EnsureCast(string command)
{
var previous = _fface.Player.CastPercentEx;
var startTime = DateTime.Now;
var interval = startTime.AddSeconds(3);
while (DateTime.Now < interval)
{
while(Player.Instance.IsMoving)
{
Player.StopRunning(_fface);
}
if (_fface.Player.Status == Status.Healing)
{
Player.Stand(_fface);
}
if (_fface.Player.StatusEffects.Contains(StatusEffect.Chainspell))
{
_fface.Windower.SendString(command);
return true;
}
if (Math.Abs(previous - _fface.Player.CastPercentEx) > .5) return true;
_fface.Windower.SendString(command);
Thread.Sleep(500);
}
return false;
}