public static void ManhunterResults()
        {
            List <PawnKindDef> candidates = (from k in DefDatabase <PawnKindDef> .AllDefs
                                             where k.RaceProps.Animal && k.canArriveManhunter
                                             orderby - k.combatPower
                                             select k).ToList <PawnKindDef>();
            List <float> list = new List <float>();

            for (int i = 0; i < 30; i++)
            {
                list.Add(20f * Mathf.Pow(1.25f, (float)i));
            }
            DebugTables.MakeTablesDialog <float, PawnKindDef>(list, (float points) => points.ToString("F0") + " pts", candidates, (PawnKindDef candidate) => candidate.defName + " (" + candidate.combatPower.ToString("F0") + ")", delegate(float points, PawnKindDef candidate)
            {
                float num  = candidates.Sum((PawnKindDef k) => ManhunterPackIncidentUtility.ManhunterAnimalWeight(k, points));
                float num2 = ManhunterPackIncidentUtility.ManhunterAnimalWeight(candidate, points);
                string result;
                if (num2 == 0f)
                {
                    result = "0%";
                }
                else
                {
                    result = string.Format("{0}%, {1}", (num2 * 100f / num).ToString("F0"), Mathf.Max(Mathf.RoundToInt(points / candidate.combatPower), 1));
                }
                return(result);
            }, "");
        }
Exemplo n.º 2
0
 public static bool TryFindManhunterAnimalKind(float points, int tile, out PawnKindDef animalKind)
 {
     return((from k in DefDatabase <PawnKindDef> .AllDefs
             where k.RaceProps.Animal && k.canArriveManhunter && (tile == -1 || Find.World.tileTemperatures.SeasonAndOutdoorTemperatureAcceptableFor(tile, k.race))
             select k).TryRandomElementByWeight((PawnKindDef k) => ManhunterPackIncidentUtility.ManhunterAnimalWeight(k, points), out animalKind));
 }
Exemplo n.º 3
0
 internal float <> m__1(PawnKindDef k)
 {
     return(ManhunterPackIncidentUtility.ManhunterAnimalWeight(k, this.points));
 }