110 lines
4.0 KiB
Markdown
110 lines
4.0 KiB
Markdown
---
|
||
id: TASK-0010
|
||
title: Реализовать абстрактную систему скиллов и книг для оружия
|
||
summary: Построить общую модель скиллов и книг, которые вставляются в оружие и добавляют или модифицируют активные способности.
|
||
priority: Highest
|
||
area: abilities
|
||
owner: unassigned
|
||
created: 2026-03-30
|
||
updated: 2026-03-30
|
||
execution_time: 1d
|
||
depends_on:
|
||
- TASK-0008
|
||
- TASK-0009
|
||
canonical_docs:
|
||
- docs/tasks/Index.md
|
||
related_files:
|
||
- Assets/Scripts/Player/SimplePlayerInputMover.cs
|
||
---
|
||
|
||
# TASK-0010 - Реализовать абстрактную систему скиллов и книг для оружия
|
||
|
||
## Status
|
||
|
||
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
|
||
|
||
Допустимые значения статуса:
|
||
|
||
- `BackLog`
|
||
- `ToDo`
|
||
- `InProgress`
|
||
- `Review`
|
||
- `Done`
|
||
|
||
## Why
|
||
|
||
Пользователь хочет абстрактные скиллы, которые вставляются в оружие через книги. Это ключевая ось билдов и расширяемости класса/оружия.
|
||
|
||
## Expected Outcome
|
||
|
||
Есть единая skill system с runtime execution contract, socket/book model и правилами подключения скилла к оружию и его активации в бою.
|
||
|
||
## Current Context
|
||
|
||
Боевой core, inventory и weapon abstraction должны существовать раньше. Эта задача создает общий слой до конкретных классовых MVP-умений.
|
||
|
||
## Source Of Truth
|
||
|
||
- `docs/tasks/items/TASK-0008.md`
|
||
- `docs/tasks/items/TASK-0009.md`
|
||
- runtime skill/book implementation
|
||
|
||
## Read First
|
||
|
||
- `docs/tasks/items/TASK-0008.md`
|
||
- `docs/tasks/items/TASK-0009.md`
|
||
|
||
## Scope In
|
||
|
||
- skill contract и lifecycle выполнения
|
||
- skill book как item и источник встраиваемой способности
|
||
- weapon sockets / attach rules
|
||
- сетевое выполнение и базовые cooldown/resource hooks
|
||
|
||
## Scope Out
|
||
|
||
- широкий набор контента навыков
|
||
- визуальные эффекты и polish для каждого умения
|
||
|
||
## Constraints
|
||
|
||
- скилл должен быть reusable как для игрока, так и для врага
|
||
- книга не должна обходить server validation при установке в оружие
|
||
|
||
## If You Find Drift
|
||
|
||
- если навыки игрока и врага начнут жить в разных несовместимых системах, это drift
|
||
|
||
## Suggested Approach
|
||
|
||
1. Выделить общий runtime contract навыка.
|
||
2. Связать skill books с item/inventory и weapon sockets.
|
||
3. Подготовить базу для классовых MVP-умений и enemy reuse.
|
||
|
||
## Acceptance Criteria
|
||
|
||
- книгу можно хранить как item и вставлять в подходящее оружие
|
||
- оружие получает активную способность через книгу по единым правилам
|
||
- одна и та же skill system пригодна для врагов и игроков
|
||
|
||
## Verification
|
||
|
||
- ручная проверка установки книги в оружие и активации способности
|
||
- вычитка контрактов player/enemy reuse
|
||
|
||
## Risks / Open Questions
|
||
|
||
- нужно определить, есть ли в MVP ограничения по типам оружия для конкретных книг
|
||
|
||
## Human Decisions Needed
|
||
|
||
- none currently
|
||
|
||
## Decision Log
|
||
|
||
- `2026-03-30` - книги навыков зафиксированы как часть item/equipment flow, а не как отдельный menu-only unlock.
|
||
|
||
## Handoff Notes
|
||
|
||
Конкретные классовые MVP-навыки должны реализовываться поверх этой системы, без обходных исключений.
|