G4: gene-driven content — fruiting, harvest products, leaf color
New plant content, all driven by genes through the trait layer (no engine change — the genetics machinery already supports it). - ProductDef + products.json (wood, grass, berries, acorn) — what plants yield; localized labels (ru/en). - New numeric genes (genes.json): GeneFruitYield, GeneFruitSeason, GeneHarvestAmount, GeneLeafHue, each declaring its trait via formula. GenomeDef carries the per-species bases (PlantSet maps them into the species template); PlantDef gains harvestProduct / fruitProduct. - PlantPhenotype gains FruitYield/FruitSeason/HarvestAmount/LeafHue. PlantFactory tints the sprite from the leaf-hue gene (combined with the morph variant). Plants carry a Fruiting component; PlantFruitingSystem ripens fruit on mature plants during their gene-chosen season and drops it off-season. - plants.json: trees give wood + acorns (autumn), bushes berries (summer), grass gives grass — amounts/season/hue from genes. - 'plant <species> [seed]' console command samples a species genome and prints its gene-driven traits and products. Build clean; def JSON validated; boot smoke loads the new content. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
9c2c2d7fd0
commit
7fc4bcd301
@@ -45,6 +45,20 @@
|
||||
"default": 0.05, "min": 0.0, "max": 1.0, "tags": ["reproduction"],
|
||||
"effects": { "mutationRate": "value" } },
|
||||
|
||||
// --- Контент (фаза G4): плодоношение, добыча, цвет ---
|
||||
{ "defName": "GeneFruitYield", "parent": "BaseNumericGene", "label": "gene.fruitYield",
|
||||
"default": 0, "min": 0, "max": 12, "tags": ["fruiting"],
|
||||
"effects": { "fruitYield": "value" } },
|
||||
{ "defName": "GeneFruitSeason", "parent": "BaseNumericGene", "label": "gene.fruitSeason",
|
||||
"default": 1, "min": 0, "max": 3, "spread": 0, "mutationChance": 0, "tags": ["fruiting"],
|
||||
"effects": { "fruitSeason": "value" } },
|
||||
{ "defName": "GeneHarvestAmount", "parent": "BaseNumericGene", "label": "gene.harvestAmount",
|
||||
"default": 1, "min": 0, "max": 50, "tags": ["harvest"],
|
||||
"effects": { "harvestAmount": "value" } },
|
||||
{ "defName": "GeneLeafHue", "parent": "BaseNumericGene", "label": "gene.leafHue",
|
||||
"default": 0.33, "min": 0, "max": 1, "spread": 0.04, "tags": ["morphology", "color"],
|
||||
"effects": { "leafHue": "value" } },
|
||||
|
||||
// Дискретный ген морфы: вариант 0 доминирует, 1 (рецессивный) виден только в гомозиготе.
|
||||
{ "defName": "GeneMorph", "kind": "Discrete", "label": "gene.morph",
|
||||
"variants": 2, "variantWeights": [0.82, 0.18], "mutationChance": 0.05, "tags": ["morphology"],
|
||||
|
||||
Reference in New Issue
Block a user