Рефактор: геном животного — данными, а не кодом
AnimalGenomeDef (фикс. поля) убран; AnimalDef.Genome теперь словарь geneId->base. AnimalSet.BuildTemplate строит шаблон generically по реестру генов (разброс из самого GeneDef, дискретные поддержаны). Модер добавляет ген особи одной строкой JSON в animals.json — без правки кода. Устраняет блокер расширяемости #1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
97521f81b8
commit
d4a370e02d
+13
-14
@@ -12,20 +12,19 @@
|
||||
"maleTexture": "things/pawn/animal/deer/DeerMale_east",
|
||||
"babyTexture": "things/pawn/animal/deer/DeerBaby_east",
|
||||
"genome": {
|
||||
"bodySize": 1.5,
|
||||
"metabolism": 1.0,
|
||||
"moveSpeed": 1.2,
|
||||
"bloodVolume": 1.4,
|
||||
"vision": 1.3,
|
||||
"brainSize": 0.45,
|
||||
"insulation": 0.55,
|
||||
"furColor": 0.45,
|
||||
"maturityAge": 90,
|
||||
"lifespan": 360,
|
||||
"breedingSeason": 2,
|
||||
"gestationDays": 30,
|
||||
"litterSize": 1,
|
||||
"spread": 0.08
|
||||
"GeneMaxBodySize": 1.5,
|
||||
"GeneMetabolism": 1.0,
|
||||
"GeneMoveSpeed": 1.2,
|
||||
"GeneBloodVolume": 1.4,
|
||||
"GeneVision": 1.3,
|
||||
"GeneBrainSize": 0.45,
|
||||
"GeneInsulation": 0.55,
|
||||
"GeneFurColor": 0.45,
|
||||
"GeneMaturityAge": 90,
|
||||
"GeneLifespan": 360,
|
||||
"GeneBreedingSeason": 2,
|
||||
"GeneGestationDays": 30,
|
||||
"GeneLitterSize": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
"default": 1.0, "min": 0.2, "max": 3.0, "tags": ["animal", "senses"],
|
||||
"effects": { "vision": "value" } },
|
||||
{ "defName": "GeneBrainSize", "parent": "BaseNumericGene", "label": "gene.brainSize",
|
||||
"default": 0.45, "min": 0.0, "max": 1.0, "tags": ["animal", "brain"],
|
||||
"default": 0.45, "min": 0.0, "max": 1.0, "spread": 0.03, "tags": ["animal", "brain"],
|
||||
"effects": { "brainSize": "value" } },
|
||||
{ "defName": "GeneInsulation", "parent": "BaseNumericGene", "label": "gene.insulation",
|
||||
"default": 0.5, "min": 0.0, "max": 1.0, "tags": ["animal", "temperature"],
|
||||
|
||||
Reference in New Issue
Block a user