133 lines
7.2 KiB
Markdown
133 lines
7.2 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.
|
|
|
|
## 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 по каноническим направлениям
|
|
- стартовые или базовые классовые приоритеты атрибутов для Воина, Мага и Лучника
|
|
- интеграция атрибутов в 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
|
|
- классы Воин, Маг и Лучник имеют явную интеграцию с системой атрибутов
|
|
- 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.
|