public void OnTurnBegin() { for (int i = modifiers.Count - 1; i >= 0; --i) { if (modifiers[i].DecreaseDuration()) { modifiers.RemoveAt(i); } } for (int i = bleed.Count - 1; i >= 0; --i) { if (bleed[i].DecreaseDuration()) { bleed.RemoveAt(i); } } for (int i = terror.Count - 1; i >= 0; --i) { if (terror[i].DecreaseDuration()) { terror.RemoveAt(i); } } if (IsMarked) { if (mark.DecreaseDuration()) { mark = null; } } if (IsBlock) { if (block.DecreaseDuration()) { block = null; } } if (IsGuard) { if (guard.DecreaseDuration()) { guard = null; } } foreach (Traits t in traits) { t.ApplyOverTime(unit); } CheckClearIcon(); }