private static bool SuccessOnAction(FailChanceByQuality failChanceByQuality, float skillFactor, Thing t) { //Log.Error("Begin SuccessChanceUtil.SuccessOnAction"); QualityCategory qc; if (t.TryGetQuality(out qc)) { int r = random.Next() % 101; float baseFc = failChanceByQuality[qc]; float fc = baseFc * skillFactor; bool result = r >= fc; //Log.Warning("r: " + r + " baseFc: " + baseFc + " fc: " + fc + " result: " + result); //Log.Error("End SuccessChanceUtil.SuccessOnAction - Result: " + result); return(result); } //Log.Error("End SuccessChanceUtil.SuccessOnAction - true"); return(true); }
public TechLevelRange(TechLevel min, TechLevel max) { this.Min = min; this.Max = max; this.FailChanceByQuality = new FailChanceByQuality(); }