private string GetExplanationFullShip(StatWorker sw, StatRequest req, ToStringNumberSense numSense, float value) { if (sw.IsDisabledFor(req.Thing)) { return("StatsReport_PermanentlyDisabled".Translate()); } return(String.Empty); }
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); }