public SpeciesStatBreeding GetAdjusted(ArkMultipliersConfigSection config) { return _isAdjusted ? this : new SpeciesStatBreeding { PregnancyTime = PregnancyTime / config.EggHatchSpeedMultiplier, IncubationTime = IncubationTime / config.EggHatchSpeedMultiplier, MaturationTime = MaturationTime / config.BabyMatureSpeedMultiplier, MatingCooldownMin = MatingCooldownMin, MatingCooldownMax = MatingCooldownMax, EggTempMin = EggTempMin, EggTempMax = EggTempMax, _isAdjusted = true }; }
public static double?CalculateBabyFullyGrown(string speciesNameOrClass, float babyAge, ArkMultipliersConfigSection config) { var speciesAliases = ArkSpeciesAliases.Instance.GetAliases(speciesNameOrClass) ?? new[] { speciesNameOrClass }; var data = ArkSpeciesStats.Instance.Data?.GetSpecies(speciesAliases); if (data == null) { return(null); } var adj = data.Breeding.GetAdjusted(config); var remaining = (1.0f - babyAge) * adj.MaturationTime; return(remaining); }