+ double Born() const noexcept { return birth; }
+ double Age() const noexcept;
+ /// age-depended multiplier, peak being the maximum in lifetime [0,1]
+ double AgeFactor(double peak) const noexcept;
+
+ double EnergyEfficiency() const noexcept;
+ double ExhaustionFactor() const noexcept;
+ double FatigueFactor() const noexcept;
+
+ // stats with effects applied
+ double Strength() const noexcept;
+ double StrengthFactor() const noexcept;
+ double Stamina() const noexcept;
+ double StaminaFactor() const noexcept;
+ double Dexerty() const noexcept;
+ double DexertyFactor() const noexcept;
+ double Intelligence() const noexcept;
+ double IntelligenceFactor() const noexcept;
+ double Lifetime() const noexcept;
+ double Fertility() const noexcept;
+ double Mutability() const noexcept;
+ double Adaptability() const noexcept;
+ double OffspringMass() const noexcept;
+
+ double PerceptionRange() const noexcept;
+ double PerceptionOmniRange() const noexcept;
+ double PerceptionField() const noexcept;
+ bool PerceptionTest(const glm::dvec3 &) const noexcept;
+ /// chance of giving birth per tick
+ double OffspringChance() const noexcept;
+ /// chance of arbitrary genetic mutation per tick
+ double MutateChance() const noexcept;
+ /// chance of environmental genetic mutation per tick
+ double AdaptChance() const noexcept;
+