// 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
void Hurt(double d) noexcept;
void Die() noexcept;
- void OnDeath(Callback cb) noexcept { on_death = cb; }
+ bool Dead() const noexcept;
+ void WhenDead(Callback cb) noexcept { on_death = cb; }
void Remove() noexcept;
bool Removable() const noexcept { return removable; }
void Removed() noexcept;