public IEnumerator SkillWaiter(PlayerSkill skill, int targetLevel, ActiveEntity target) { int currentTurn = TurnManager._Instance.totalTurnCount; int targetTurn = skill.turnDuration_ + currentTurn; if (skill.turnDuration_ < 0) // Skills with negative lengths are permanent! { yield break; } yield return(new WaitUntil(() => TurnManager._Instance.totalTurnCount >= targetTurn)); skill.DeactivateSkill(target, targetLevel); }