Exemplo n.º 1
0
 private string GetExplanationFullShip(StatWorker sw, StatRequest req, ToStringNumberSense numSense, float value)
 {
     if (sw.IsDisabledFor(req.Thing))
     {
         return("StatsReport_PermanentlyDisabled".Translate());
     }
     return(String.Empty);
 }
Exemplo n.º 2
0
        private static float CalculateSufficientQuality(Pawn doctor, Pawn patient)
        {
            // (doctorQuality * medQuality + bedOffset) * seldTend is clamped to 1,
            // solve for medQuality,
            // medQuality = (1 / selfTend - bedOffset) / doctorQuality
            // this quality is sufficient.
            StatDef statDef       = StatDefOf.MedicalTendQuality;
            float   doctorQuality = statDef.defaultBaseValue;

            StatWorker statWorker = statDef.Worker;

            if (!statWorker.IsDisabledFor(doctor))
            {
                doctorQuality = statWorker.GetValue(doctor);
            }

            float bedOffset = patient.CurrentBed()?.GetStatValue(StatDefOf.MedicalTendQualityOffset) ?? 0f;
            float selfTend  = doctor != patient ? 1.0f : 0.7f;

            return((1 / selfTend - bedOffset) / doctorQuality * Settings.Get().goodEnoughDowngradeFactor);
        }