Birth type gene (live-bearing vs egg-laying) + hybrid-creation foundation

GeneEggLaying (species-fixed) selects the conception cycle: viviparous animals
carry to a live birth (existing path); oviparous animals, after the same gravid
period, LAY eggs instead. New Egg entity (carries the already-bred offspring
genome) + EggSystem incubates and hatches it into a baby. AnimalPregnancySystem
branches on the mother's birth type. Adds an oviparous showcase species, Chicken.
Eggs are serialized (WorldSave.Eggs) like corpses, so clutches survive save/load.

Also lays the foundation for creating any species or hybrid (full command/UI
deferred): AnimalSet.HybridGenome(base, other) produces a cross anchored to a
base species' body/gene-set with shared genes blended Mendelian-style — so
Create(species, GenerateGenome) makes any species and Create(species,
HybridGenome) makes any hybrid.

EggTexture on AnimalDef (defaults to the seed dot placeholder); reproduction line
added to the `animal` console command. Build + --check-content clean (41 genes,
40 traits). Not GUI-verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Leonid Pershin
2026-06-14 15:24:04 +03:00
co-authored by Claude Opus 4.8
parent e6b1367a3a
commit b2e3eb490e
11 changed files with 375 additions and 17 deletions
+1
View File
@@ -163,6 +163,7 @@
"pawn.hare": "hare",
"pawn.boar": "boar",
"pawn.wolf": "wolf",
"pawn.chicken": "chicken",
"pawn.muffalo": "muffalo",
"pawn.squirrel": "squirrel",
"thought.gaveBirth": "gave birth",