{ "type": "Gene", // Организм-агностичные гены: каждый ген задаёт, как генерируются/мутируют аллели и как ген // вкладывается в признаки (effects: имя признака → формула; value — выраженное значение гена). // Этот набор покрывает измерения генома растения (его используют системы роста/жизненного цикла). "defs": [ { "defName": "BaseNumericGene", "abstract": true, "kind": "Numeric", "spread": 0.08, "mutationChance": 0.05, "mutationMagnitude": 0.12 }, { "defName": "GeneOptimalLight", "parent": "BaseNumericGene", "label": "gene.optimalLight", "default": 0.6, "min": 0.0, "max": 1.0, "tags": ["environment", "light"], "effects": { "optimalLight": "value" } }, { "defName": "GeneLightTolerance", "parent": "BaseNumericGene", "label": "gene.lightTolerance", "default": 0.5, "min": 0.05, "max": 1.0, "tags": ["environment", "light"], "effects": { "lightTolerance": "value" } }, { "defName": "GeneOptimalTemperature", "parent": "BaseNumericGene", "label": "gene.optimalTemperature", "default": 14, "min": -20, "max": 45, "tags": ["environment", "temperature"], "effects": { "optimalTemperature": "value" } }, { "defName": "GeneTemperatureTolerance", "parent": "BaseNumericGene", "label": "gene.temperatureTolerance", "default": 16, "min": 2, "max": 40, "tags": ["environment", "temperature"], "effects": { "temperatureTolerance": "value" } }, { "defName": "GeneOptimalFertility", "parent": "BaseNumericGene", "label": "gene.optimalFertility", "default": 1.4, "min": 0.1, "max": 3.0, "tags": ["environment", "soil"], "effects": { "optimalFertility": "value" } }, { "defName": "GeneFertilityTolerance", "parent": "BaseNumericGene", "label": "gene.fertilityTolerance", "default": 0.9, "min": 0.1, "max": 3.0, "tags": ["environment", "soil"], "effects": { "fertilityTolerance": "value" } }, { "defName": "GeneVigor", "parent": "BaseNumericGene", "label": "gene.vigor", "default": 1.0, "min": 0.1, "max": 3.0, "tags": ["growth"], "effects": { "vigor": "value" } }, { "defName": "GeneLifespan", "parent": "BaseNumericGene", "label": "gene.lifespan", "default": 160, "min": 5, "max": 500, "tags": ["lifecycle"], "effects": { "lifespan": "value" } }, { "defName": "GeneDispersalRange", "parent": "BaseNumericGene", "label": "gene.dispersalRange", "default": 2, "min": 1, "max": 8, "tags": ["lifecycle", "reproduction"], "effects": { "dispersalRange": "value" } }, { "defName": "GeneReproduceInterval", "parent": "BaseNumericGene", "label": "gene.reproduceInterval", "default": 14, "min": 1, "max": 60, "tags": ["lifecycle", "reproduction"], "effects": { "reproduceInterval": "value" } }, { "defName": "GeneSelfPollination", "parent": "BaseNumericGene", "label": "gene.selfPollination", "default": 0.2, "min": 0.0, "max": 1.0, "tags": ["reproduction"], "effects": { "selfPollination": "value" } }, { "defName": "GeneMutationRate", "parent": "BaseNumericGene", "label": "gene.mutationRate", "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"], "effects": { "variant": "value" } } ] }