X-Git-Url: http://git.localhorst.tv/?p=blobs.git;a=blobdiff_plain;f=src%2Fcreature%2FGenome.hpp;h=057c6609915abc0cece270fbdb197a426215eb41;hp=4437150a6ef6e2a15163698117a29f5aa3c72536;hb=42db7d9d2286e50896ad172e2e4a8fbe65c8a4a9;hpb=8f6530c75730f901efd6708e4fde7e68a178adf1 diff --git a/src/creature/Genome.hpp b/src/creature/Genome.hpp index 4437150..057c660 100644 --- a/src/creature/Genome.hpp +++ b/src/creature/Genome.hpp @@ -16,19 +16,37 @@ class Creature; struct Genome { + template + struct Properties { + T birth_mass; + T fertile_mass; + T max_mass; + + T fertile_age; + T infertile_age; + T death_age; + + T fertility; + }; + Properties properties; + + struct Composition { // which resource int resource; // how much contained in the body + // relative value to determine average density math::Distribution mass; // how much to circulate math::Distribution intake; // how important for alive-being math::Distribution penalty; + // how much off the mass may stay in the body + math::Distribution growth; }; std::vector composition; - void Configure(app::Assets &, Creature &) const; + void Configure(Creature &) const; };