---
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.
