public List <SimDescription> FindAnyFor(IScoringGenerator stats, SimDescription sim, bool allowAffair, bool force, ICollection <SimDescription> pool) { if ((sim == null) || (sim.Household == null)) { stats.IncStat("Invalid Sim"); return(new List <SimDescription>()); } stats.AddStat("Pool", pool.Count); SimScoringList scoring = new SimScoringList("NewFlirt"); foreach (SimDescription potential in pool) { stats.IncStat("FindAnyFor " + potential.FullName, Common.DebugLevel.Logging); if (IsValidLover(stats, sim, potential, allowAffair, force)) { scoring.Add(stats, "Single", potential, sim); } Main.Sleep("ManagerFlirt:FindAnyFor"); } if (force) { return(scoring.GetBestByPercent(50f)); } else { return(scoring.GetBestByMinScore(0)); } }
protected override bool TargetSort(SimDescription sim, ref List <SimDescription> targets) { SimScoringList scoring = new SimScoringList("NewFlirt"); foreach (SimDescription target in targets) { scoring.Add(this, "NewFlirt", target, sim); } targets = scoring.GetBestByPercent(100); return(true); }
protected override bool TargetSort(SimDescription sim, ref List<SimDescription> targets) { targets = new SimScoringList(Manager, "Friendship", targets, true, sim).GetBestByMinScore(1); return true; }
protected override bool TargetSort(SimDescription sim, ref List <SimDescription> targets) { targets = new SimScoringList(Manager, "Enemy", targets, true, sim).GetBestByMinScore(1); return(true); }