public virtual bool TestIsEarthLike(Temperature surfaceTemperature, Ratio waterCoverFraction, Ratio cloudCoverFraction, Ratio iceCoverFraction, Pressure surfacePressure, Acceleration surfaceGravityG, Breathability breathability, BodyType planetType) { double relTemp = surfaceTemperature.Kelvins - GlobalConstants.FREEZING_POINT_OF_WATER - GlobalConstants.EARTH_AVERAGE_CELSIUS; double seas = waterCoverFraction.Value * 100.0; double clouds = cloudCoverFraction.Value * 100.0; double pressure = surfacePressure.Millibars / GlobalConstants.EARTH_SURF_PRES_IN_MILLIBARS; double ice = iceCoverFraction.Value * 100.0; return (surfaceGravityG.StandardGravity >= .8 && surfaceGravityG.StandardGravity <= 1.2 && relTemp >= -2.0 && relTemp <= 3.0 && ice <= 10.0 && pressure >= 0.5 && pressure <= 2.0 && clouds >= 40.0 && clouds <= 80.0 && seas >= 50.0 && seas <= 80.0 && planetType != BodyType.Water && breathability == Breathability.Breathable); }
public virtual bool TestIsHabitable(Duration dayLength, Duration orbitalPeriod, Breathability breathability, bool hasResonantPeriod, bool isTidallyLocked) { return(breathability == Breathability.Breathable && !hasResonantPeriod && !isTidallyLocked); }