Skills system: practice-grown abilities with passion (animals now, humans later)
Generic data-driven skills (SkillDef + skills.json: Foraging, Hunting, Evasion), mirroring the needs registry. Skills component (per-skill level [0..1] + passion) on every animal, built by AnimalFactory; passion is rolled deterministically from the genome (no RNG param threaded). Levels grow from PRACTICE (XP on the matching action, scaled by passion''s learn-rate) and slowly decay toward a floor when unused (AnimalSkillSystem), so animals specialize. Effects wired now: Foraging -> satiety from grazing, Hunting -> attack damage, Evasion -> flee speed. A missing skill def -> factor 1 (no effect), so it is safe to mod the set. Inspector gains a Skills tab (level% + passion stars); `skills` console command shows live mean levels; skills are saved/loaded (levels+passions). Same model will carry to future humans. Build + --check-content clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
cf2bc77882
commit
58380adc31
@@ -11,6 +11,7 @@
|
||||
"inspect.tab.genes": "Гены",
|
||||
"inspect.tab.products": "Продукты",
|
||||
"inspect.tab.needs": "Нужды",
|
||||
"inspect.tab.skills": "Навыки",
|
||||
"inspect.tab.health": "Здоровье",
|
||||
"inspect.tab.mood": "Настроение",
|
||||
"inspect.stage": "Стадия: {0} ({1}/{2})",
|
||||
@@ -42,6 +43,10 @@
|
||||
"inspect.animal.sex": "Пол: {0} · поколение {1}",
|
||||
"inspect.animal.pregnant": "Беременна: {0:0.0} дн до родов",
|
||||
"inspect.needline": "{0}: {1:0}%",
|
||||
"inspect.skillline": "{0}: {1:0}% {2}",
|
||||
"skill.foraging": "добыча корма",
|
||||
"skill.hunting": "охота",
|
||||
"skill.evasion": "уклонение",
|
||||
"inspect.health.blood": "Кровь: {0:0}% · боль: {1:0}%",
|
||||
"inspect.health.caps": "— Способности —",
|
||||
"inspect.health.cap": "{0}: {1:0}%",
|
||||
|
||||
Reference in New Issue
Block a user