--- 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 как обязательную базу.