]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/Creature.hpp
allow clicking celestial bodies
[blobs.git] / src / creature / Creature.hpp
index 498ebeac8d7665ccc68986b4376812d62ee6935c..b8171ed73070a8baac5573b8c0d1c561c2427ba7 100644 (file)
@@ -121,15 +121,23 @@ public:
 
        // 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
@@ -139,7 +147,8 @@ public:
 
        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;
@@ -168,7 +177,7 @@ public:
        Steering &GetSteering() noexcept { return steering; }
        const Steering &GetSteering() const noexcept { return steering; }
 
-       math::AABB CollisionBox() const noexcept;
+       math::AABB CollisionBounds() const noexcept;
        glm::dmat4 CollisionTransform() const noexcept;
 
        glm::dmat4 LocalTransform() noexcept;