Пример #1
0
        public static int CalculateTotalPopulation(JSON.Army armyCounts, params JSON.TroopType[] troopTypes)
        {
            if (armyCounts == null)
            {
                return(0);
            }

            int totalPopulation = 0;

            foreach (var kvp in armyCounts.Where(kvp => troopTypes.Length == 0 || troopTypes.Contains(kvp.Key)))
            {
                totalPopulation += kvp.Value * Population[kvp.Key];
            }

            return(totalPopulation);
        }
Пример #2
0
        public static bool MeetsPopulationRestrictions(JSON.Army army, int populationCap = 32000)
        {
            if (army == null)
            {
                return(true);
            }

            int totalPop = 0;

            foreach (var kvp in army)
            {
                totalPop += Native.ArmyStats.Population[kvp.Key] * kvp.Value;
            }

            return(totalPop < populationCap);
        }
Пример #3
0
 public static bool IsFake(JSON.Army army) => CalculateTotalPopulation(army) < 350;
Пример #4
0
 public static bool IsFang(JSON.Army army) => army[JSON.TroopType.Catapult] >= 50 && CalculateTotalPopulation(army) < 8000;
Пример #5
0
 public static bool IsNuke(JSON.Army army, double nukePercent) => CalculateTotalPopulation(army, OffensiveTroopTypes) >= FullNukePopulation * nukePercent;
Пример #6
0
 public static bool IsNuke(JSON.Army army) => CalculateTotalPopulation(army, OffensiveTroopTypes) >= FullNukePopulation;
Пример #7
0
 public static bool IsDefensive(JSON.Army army) => army[JSON.TroopType.Spear] > 500 || army[JSON.TroopType.Sword] > 500;
Пример #8
0
 public static bool IsOffensive(JSON.Army army) => army[JSON.TroopType.Axe] > 200 || army[JSON.TroopType.Light] > 100 || army[JSON.TroopType.Marcher] > 100;