X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcreature%2FCreature.hpp;h=0012d784a5d913132f3c030e73e66d996978673e;hb=d921cba26f21e4a75b22f5e9d9be988707bf6a8f;hp=4d16f99bd35857689b5f1e09b8dcb9deffcd854a;hpb=a1b5d6dbc13d185b9ac459e421ae44b3ef8ce133;p=blobs.git diff --git a/src/creature/Creature.hpp b/src/creature/Creature.hpp index 4d16f99..0012d78 100644 --- a/src/creature/Creature.hpp +++ b/src/creature/Creature.hpp @@ -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;