Exemplo n.º 1
0
        /// <summary>
        /// Determines if a failure will occur or not.
        /// </summary>
        /// <returns>True if yes, false if no.</returns>
        public static bool Occurs()
        {
            double r = KLFUtils.RNG.NextDouble();

            if (KLFUtils.ExperimentalPartsPresentAndActive())
            {
                Log.Info("Experimental Parts present");
                experimentalPartFailure = r < KLFSettings.Instance.ExpPartFailureProbability;
            }
            partFailure = KLFUtils.RNG.NextDouble() < KLFSettings.Instance.InitialFailureProbability;

            Log.Info("experimentalPartFailure: " + experimentalPartFailure.ToString() + "   partFailure: " + partFailure.ToString());

            return(experimentalPartFailure || partFailure);
        }