2d3aef6ac5
# Conflicts: # docs/tasks/Index.md # docs/tasks/items/TASK-0027.md
137 lines
7.7 KiB
Markdown
137 lines
7.7 KiB
Markdown
---
|
||
id: TASK-0027
|
||
title: Реализовать систему атрибутов и интеграцию с классами
|
||
summary: Ввести пять канонических атрибутов персонажа, их derived combat scaling и привязать классы Воина, Мага и Лучника к своим стартовым и приоритетным статам.
|
||
priority: Highest
|
||
area: gameplay-core
|
||
owner: unassigned
|
||
created: 2026-04-09
|
||
updated: 2026-04-09
|
||
execution_time: 1d
|
||
depends_on:
|
||
- TASK-0007
|
||
canonical_docs:
|
||
- docs/tasks/Index.md
|
||
- docs/gameplay/attribute-system-gdd.md
|
||
- docs/gameplay/attribute-reference.md
|
||
- docs/gameplay/stat-catalog-mvp.md
|
||
- docs/gameplay/combat-resolution-gdd.md
|
||
related_files:
|
||
- Assets/Features/
|
||
- Assets/Scripts/
|
||
---
|
||
|
||
# TASK-0027 - Реализовать систему атрибутов и интеграцию с классами
|
||
|
||
## Status
|
||
|
||
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
|
||
|
||
Допустимые значения статуса:
|
||
|
||
- `BackLog`
|
||
- `ToDo`
|
||
- `InProgress`
|
||
- `Review`
|
||
- `Done`
|
||
|
||
## Why
|
||
|
||
Combat core и классовая система пока не имеют канонической runtime-модели атрибутов. Без этого классы останутся набором стартовых исключений, а боевые формулы не получат устойчивую точку расширения для билдов, оружия и навыков.
|
||
|
||
## Expected Outcome
|
||
|
||
В проекте существует единая система пяти атрибутов: `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство`. Атрибуты конвертируются в понятные боевые эффекты, а классы Воин, Маг и Лучник используют их как часть стартовой конфигурации и class identity. Ресурсная модель явно разделяет `HP`, `Stamina` и `Mana`, причем у каждого ресурса есть свое автопополнение.
|
||
|
||
## Current Context
|
||
|
||
Канонический GDD по атрибутам уже зафиксирован в `docs/gameplay/attribute-system-gdd.md`, но отдельной реализации и явной интеграции с class model пока нет. Эта задача закрывает разрыв между design intent и runtime-моделью.
|
||
|
||
## Source Of Truth
|
||
|
||
- `docs/gameplay/attribute-system-gdd.md`
|
||
- `docs/gameplay/attribute-reference.md`
|
||
- `docs/gameplay/stat-catalog-mvp.md`
|
||
- `docs/gameplay/combat-resolution-gdd.md`
|
||
- `docs/tasks/items/TASK-0007.md`
|
||
- `docs/tasks/items/TASK-0011.md`
|
||
- runtime реализация combat stats и class definitions
|
||
|
||
## Read First
|
||
|
||
- `docs/gameplay/attribute-system-gdd.md`
|
||
- `docs/gameplay/attribute-reference.md`
|
||
- `docs/gameplay/stat-catalog-mvp.md`
|
||
- `docs/gameplay/combat-resolution-gdd.md`
|
||
- `docs/tasks/items/TASK-0007.md`
|
||
- `docs/tasks/items/TASK-0009.md`
|
||
- `docs/tasks/items/TASK-0010.md`
|
||
- `docs/tasks/items/TASK-0011.md`
|
||
|
||
## Scope In
|
||
|
||
- базовая runtime-модель пяти атрибутов персонажа
|
||
- конвертация атрибутов в derived combat stats по каноническим направлениям
|
||
- явное разделение `HP`, `Stamina` и `Mana` как разных runtime resource pools
|
||
- автопополнение для `HP`, `Stamina` и `Mana`
|
||
- стартовые или базовые классовые приоритеты атрибутов для Воина, Мага и Лучника
|
||
- интеграция атрибутов в class definition и стартовую конфигурацию персонажа
|
||
- точки расширения для weapon scaling, skill scaling и будущих гибридных классов
|
||
|
||
## Scope Out
|
||
|
||
- глубокая UI-визуализация всех статов и их breakdown на каждом экране
|
||
- полноценная talent tree или perk-система
|
||
- тонкая финальная балансировка числовых коэффициентов для late game
|
||
|
||
## Constraints
|
||
|
||
- реализовывать только пять канонических атрибутов из `docs/gameplay/attribute-system-gdd.md`
|
||
- не сливать offensive pressure и survivability в один стат
|
||
- `Мастерство` должно усиливать class-specific специализацию, а не заменять основной стат класса
|
||
- классы должны использовать общую систему атрибутов, а не отдельные class-only формулы
|
||
|
||
## If You Find Drift
|
||
|
||
- если код урона, оружия или навыков начинает обходить общую attribute-конвертацию, это drift
|
||
- если классы получают уникальные скрытые статы вместо работы через общую модель атрибутов, это drift
|
||
|
||
## Suggested Approach
|
||
|
||
1. Ввести каноническую runtime-структуру для пяти атрибутов персонажа.
|
||
2. Зафиксировать derived combat stats и правила конверсии без избыточного усложнения формул.
|
||
3. Добавить в class definitions стартовые значения, приоритеты или affinity по атрибутам для Воина, Мага и Лучника.
|
||
4. Проверить, что оружие и навыки могут опираться на эти атрибуты без class-specific обходов.
|
||
|
||
## Acceptance Criteria
|
||
|
||
- в системе существуют `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство` как канонические runtime-атрибуты
|
||
- атрибуты влияют на боевые параметры по правилам, совместимым с GDD
|
||
- `HP`, `Stamina` и `Mana` существуют как разные runtime resource pools
|
||
- у `HP`, `Stamina` и `Mana` есть отдельные механики автопополнения
|
||
- классы Воин, Маг и Лучник имеют явную интеграцию с системой атрибутов
|
||
- downstream системы могут использовать атрибуты без дублирования class-specific формул
|
||
|
||
## Verification
|
||
|
||
- вычитка runtime-модели против `docs/gameplay/attribute-system-gdd.md`
|
||
- ручная проверка, что классы получают разные стартовые stat priorities
|
||
- ручная проверка, что derived stats меняются от изменения атрибутов по ожидаемым направлениям
|
||
|
||
## Risks / Open Questions
|
||
|
||
- нужно решить, какие именно конверсии будут обязательными уже в MVP, а какие можно оставить extension points
|
||
- нужно не перегрузить class model слишком ранней детализацией формул
|
||
|
||
## Human Decisions Needed
|
||
|
||
- none currently
|
||
|
||
## Decision Log
|
||
|
||
- `2026-04-09` - задача добавлена после фиксации канонического GDD по атрибутам.
|
||
|
||
## Handoff Notes
|
||
|
||
Если позже появятся формульные документы по MVP-коэффициентам, они должны уточнять эту задачу, но не подменять канонический смысл атрибутов из GDD.
|