private void TakeDamageFromDOTs() { for (int i = activeDOTs.Count - 1; i >= 0; i--) { DamageOverTime DOT = activeDOTs[i]; if (DOT.CheckTime()) { Debug.Log("damge"); TakeDamage(DOT.damagePerTick, false); } if (!DOT.isActive) { activeDOTs.RemoveAt(i); } } }