Ejemplo n.º 1
0
        private int DetermineBaseFoodLevel() // used by Surveyor
        {
            // Each city has a base food level of Food it can produce
            int baseFoodLevel = TerrainHelper.GetBaseFoodLevelFromTerrain(Location);

            ////baseFoodLevel = IsCityEnchantmentGaiasBlessingActive ? baseFoodLevel * 1.5f : baseFoodLevel;

            return(baseFoodLevel);
        }
Ejemplo n.º 2
0
        private int DetermineMaximumSettlementSize()
        {
            int baseFoodLevel = DetermineBaseFoodLevel();

            ////baseFoodLevel = IsCityEnchantmentFamineActive ? baseFoodLevel / 2 : baseFoodLevel;
            /////baseFoodLevel = SettlementHasGranary ? baseFoodLevel + 2 : baseFoodLevel;
            /////baseFoodLevel = SettlementHasFarmersMarket ? baseFoodLevel + 3 : baseFoodLevel;
            baseFoodLevel += TerrainHelper.GetMineralFoodModifierFromTerrain(Location);
            //baseFoodLevel += NumberOfSharedWildGameTiles;

            return(baseFoodLevel > MAXIMUM_POPULATION_CAP ? MAXIMUM_POPULATION_CAP : baseFoodLevel);
        }
Ejemplo n.º 3
0
        private int DetermineProductionPointsPerTurn()
        {
            float productionPoints = TotalWorkers * _race.WorkerProductionRate + TotalFarmers * _race.FarmerProductionRate;

            // TODO: buildings

            float percentMultiplier = TerrainHelper.GetBaseProductionPointsFromTerrain(Location);

            percentMultiplier = 1 + percentMultiplier / 100;

            float totalProductionPoints = productionPoints * percentMultiplier;

            // TODO: spells

            return((int)totalProductionPoints);
        }
Ejemplo n.º 4
0
        private int DetermineFoodProductionPerTurn()
        {
            float farmingRate           = _buildings.BuildingHasBeenBuilt("Animists Guild") ? 3 : _race.FarmingRate;
            float fromFarmers           = TotalFarmers * farmingRate;
            int   fromForestersGuild    = _buildings.BuildingHasBeenBuilt("Foresters Guild") ? 2 : 0;
            float foodProductionPerTurn = fromFarmers + fromForestersGuild;
            //foodProductionPerTurn = IsCityEnchantmentFamineActive ? foodProductionPerTurn / 2 : foodProductionPerTurn;

            int baseFoodLevel = DetermineBaseFoodLevel();

            if (foodProductionPerTurn > baseFoodLevel)
            {
                int excess = ((int)foodProductionPerTurn - baseFoodLevel) / 2;
                foodProductionPerTurn = baseFoodLevel + excess;
            }

            foodProductionPerTurn  = _buildings.BuildingHasBeenBuilt("Granary") ? foodProductionPerTurn + 2 : foodProductionPerTurn;
            foodProductionPerTurn  = _buildings.BuildingHasBeenBuilt("Farmers Market") ? foodProductionPerTurn + 3 : foodProductionPerTurn;
            foodProductionPerTurn += TerrainHelper.GetMineralFoodModifierFromTerrain(Location);
            //foodProductionPerTurn += NumberOfSharedWildGameTiles;

            return((int)foodProductionPerTurn);
        }