]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/Creature.hpp
random walks
[blobs.git] / src / creature / Creature.hpp
index 4d16f99bd35857689b5f1e09b8dcb9deffcd854a..0012d784a5d913132f3c030e73e66d996978673e 100644 (file)
@@ -127,16 +127,24 @@ public:
        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 random genetic mutation per tick
+       /// chance of arbitrary genetic mutation per tick
        double MutateChance() const noexcept;
+       /// chance of environmental genetic mutation per tick
+       double AdaptChance() const noexcept;
 
        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;