예제 #1
0
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature <= 18f)
            {
                return(0f);
            }
            if (tile.temperature > 0f && (tile.rainfall / tile.temperature < 28f))
            {
                return(0f);
            }
            if (tile.rainfall < 600f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.rainfall >= 2000f && (tile.temperature - tempAdjust <= 42f))
            {
                return(0f);
            }
            return(22.5f + (tile.temperature - 20f) * 2.2f + (tile.rainfall - 600f) / 100f);
        }
예제 #2
0
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature < -10f)
            {
                return(0f);
            }
            if (tile.rainfall < 600f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature > 5f && (tile.temperature + tempAdjust >= 18f))
            {
                return(0f);
            }
            if (tile.temperature + tempAdjust < 12f)
            {
                return(0f);
            }
            return(15f);
        }
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature <= 5f || tile.temperature > 18f)
            {
                return(0f);
            }
            if (tile.rainfall < 600f)
            {
                return(0f);
            }
            if (tile.swampiness < 0.5f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature + tempAdjust < 18f)
            {
                return(0f);
            }
            return(15f + (tile.temperature - 7f) + (tile.rainfall - 600f) / 180f + tile.swampiness * 3f);
        }
        public override float GetScore(Tile tile, int tileID)
        {
            if (Controller.Settings.usingMoreVanillaBiomes)
            {
                if (!(bool)Controller.MoreVanillaBiomesGrasslandsSettingFI.GetValue(null))
                {
                    return(-100f);
                }
            }
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature <= 18f)
            {
                return(0f);
            }
            if (tile.temperature > 0f && (tile.rainfall / tile.temperature < 28f))
            {
                return(0f);
            }
            if (tile.rainfall < 1200f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.rainfall >= 2000f && (tile.temperature - tempAdjust <= 42f))
            {
                return(0f);
            }
            return(22.5f + (tile.temperature - 20f) * 2.2f + (tile.rainfall - 1200f) / 50f);
        }
예제 #5
0
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature < 15f)
            {
                return(0f);
            }
            if (tile.rainfall < 2000f)
            {
                return(0f);
            }
            if (tile.swampiness < 0.5f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature - tempAdjust > 42f)
            {
                return(0f);
            }
            return(28f + (tile.temperature - 20f) * 1.5f + (tile.rainfall - 600f) / 165f + tile.swampiness * 3f);
        }
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature + tempAdjust > 3f)
            {
                return(0f);
            }
            return(BiomeWorker_IceSheet.PermaIceScore(tile));
        }
예제 #7
0
        public override float GetScore(Tile tile, int tileID)
        {
            // This mimics More Vanilla Biome's enable/disable function.
            if (Controller.Settings.usingMoreVanillaBiomes)
            {
                if (!(bool)Controller.MoreVanillaBiomesGrasslandsSettingFI.GetValue(null))
                {
                    return(-100f);
                }
            }

            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature < -10f)
            {
                return(0f);
            }
            if (tile.rainfall < 170f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature + tempAdjust < 6f)
            {
                return(0f);
            }
            if (tile.rainfall >= 600f && (tile.temperature + tempAdjust >= 12f))
            {
                return(0f);
            }
            if (tile.temperature > 0f && (tile.rainfall / tile.temperature < 28f))
            {
                return(0f);
            }
            if (tile.temperature < 0f && (tile.rainfall / -tile.temperature < 50f))
            {
                return(0f);
            }
            if (tile.temperature < 0f)
            {
                return(-tile.temperature + 0.0003f);
            }
            return(tile.temperature + 0.0003f);
        }
        public override float GetScore(Tile tile, int tileID)
        {
            if (Controller.Settings.otherGrassland.Equals(true))
            {
                return(-100f);
            }
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature < -10f)
            {
                return(0f);
            }
            if (tile.rainfall < 170f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature + tempAdjust < 6f)
            {
                return(0f);
            }
            if (tile.rainfall >= 600f && (tile.temperature + tempAdjust >= 12f))
            {
                return(0f);
            }
            if (tile.temperature > 0f && (tile.rainfall / tile.temperature < 28f))
            {
                return(0f);
            }
            if (tile.temperature < 0f && (tile.rainfall / -tile.temperature < 50f))
            {
                return(0f);
            }
            if (tile.temperature < 0f)
            {
                return(-tile.temperature + 0.0003f);
            }
            return(tile.temperature + 0.0003f);
        }
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.temperature < -10f)
            {
                return(0f);
            }
            if (tile.rainfall < 170f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature + tempAdjust < 6f)
            {
                return(0f);
            }
            if (tile.rainfall >= 600f && (tile.temperature + tempAdjust >= 12f))
            {
                return(0f);
            }
            if (tile.temperature > 0f && (tile.rainfall / tile.temperature < 28f))
            {
                return(0f);
            }
            if (tile.temperature < 0f && (tile.rainfall / -tile.temperature < 50f))
            {
                return(0f);
            }
            if (tile.elevation > 1000f)
            {
                if (tile.temperature < 0f)
                {
                    return(-tile.temperature + 0.0004f);
                }
                return(tile.temperature + 0.0004f);
            }
            return(0f);
        }
        public override float GetScore(Tile tile, int tileID)
        {
            if (tile.WaterCovered)
            {
                return(-100f);
            }
            if (tile.rainfall < 170f)
            {
                return(0f);
            }
            float tempAdjust = TempCheck.SeasonalTempChange(tileID);

            if (tile.temperature + tempAdjust > 6f)
            {
                return(0f);
            }
            if (tile.temperature < -18f && tile.temperature > -24f)
            {
                return(100f);
            }
            return(0f);
        }