---
id: TASK-0009
title: Ввести абстрактную систему оружия
summary: Реализовать общую модель оружия с базовыми параметрами, уровнем, типом атаки и точками расширения для разных классов и вставляемых скиллов.
priority: Highest
area: equipment
owner: unassigned
created: 2026-03-30
updated: 2026-03-30
execution_time: 1d
depends_on:
  - TASK-0007
  - TASK-0008
canonical_docs:
  - docs/tasks/Index.md
related_files:
  - Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity
---

# TASK-0009 - Ввести абстрактную систему оружия

## Status

Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.

Допустимые значения статуса:

- `BackLog`
- `ToDo`
- `InProgress`
- `Review`
- `Done`

## Why

Пользователь требует абстрактное оружие. Оно должно быть совместимо с инвентарем, уровнями, классами и книгами скиллов.

## Expected Outcome

Есть канонический weapon contract: общие параметры, level scaling, attack execution hooks и слот(ы) для встроенных skill books.

## Current Context

Оружия пока нет. Его нельзя проектировать отдельно от боевой модели и инвентаря.

## Source Of Truth

- `docs/tasks/items/TASK-0007.md`
- `docs/tasks/items/TASK-0008.md`
- runtime weapon implementation

## Read First

- `docs/tasks/items/TASK-0007.md`
- `docs/tasks/items/TASK-0008.md`

## Scope In

- абстрактная база оружия
- общие боевые параметры и level scaling
- execution hooks для удара, выстрела, каста и модификаторов
- связь оружия с inventory/equip и skill sockets

## Scope Out

- реализация конкретных class skills
- контентное разнообразие десятков weapon archetypes

## Constraints

- оружие должно использовать общую combat formula
- weapon runtime не должен дублировать систему навыков или инвентаря

## If You Find Drift

- если разные типы оружия начнут обходить общую базу и считать урон отдельно, это drift

## Suggested Approach

1. Выделить `WeaponDefinition` и `WeaponRuntime` уровни.
2. Зафиксировать common attack contract и level scaling.
3. Подготовить слоты под книги/скиллы без избыточной специализации.

## Acceptance Criteria

- есть единый базовый контракт оружия
- уровень оружия влияет на боевые расчеты по правилам из combat core
- оружие может быть экипировано персонажем через inventory/equipment layer

## Verification

- ручная проверка базового выполнения weapon action
- вычитка интеграции с inventory и progression

## Risks / Open Questions

- потребуется быстро решить, хранится ли skill socket внутри самого weapon item или в отдельном equipment state

## Human Decisions Needed

- none currently

## Decision Log

- `2026-03-30` - уровень оружия включен в базовый weapon task, а не вынесен отдельно.

## Handoff Notes

Class skill задачи ниже должны использовать этот weapon contract как обязательную базу.
