--- id: TASK-0016 title: Реализовать MVP-скилл Лучника с выстрелом summary: Добавить для Лучника минимальный рабочий навык выстрела из оружия на базе общей weapon и skill системы. priority: High area: classes owner: unassigned created: 2026-03-30 updated: 2026-03-30 execution_time: 1d depends_on: - TASK-0009 - TASK-0010 - TASK-0011 canonical_docs: - docs/tasks/Index.md related_files: - Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity --- # TASK-0016 - Реализовать MVP-скилл Лучника с выстрелом ## Status Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там. Допустимые значения статуса: - `BackLog` - `ToDo` - `InProgress` - `Review` - `Done` ## Why Для MVP нужен ranged-пример навыка, чтобы система покрывала ближний бой, AOE и направленный выстрел. ## Expected Outcome Лучник может выполнить базовый выстрел, который выпускает projectile или другой канонический ranged attack и применяет урон через общие правила боя. ## Current Context Этот task должен использовать готовые abstractions оружия, навыков и классов. Он не должен вводить отдельную систему стрельбы мимо общей архитектуры. ## Source Of Truth - `docs/tasks/items/TASK-0009.md` - `docs/tasks/items/TASK-0010.md` - `docs/tasks/items/TASK-0011.md` ## Read First - `docs/tasks/items/TASK-0009.md` - `docs/tasks/items/TASK-0010.md` - `docs/tasks/items/TASK-0011.md` ## Scope In - базовый ranged attack skill - запуск projectile или эквивалентного попадания по направлению - применение урона по общей combat model - сетевое выполнение и репликация результата ## Scope Out - разные типы стрел и зарядка выстрела - сложная баллистика и penetration mechanics ## Constraints - навык должен использовать общую skill contract систему - траектория и попадание должны валидироваться сервером ## If You Find Drift - если ranged attack начнет жить как отдельный ad-hoc input path вне общей ability system, это drift ## Suggested Approach 1. Подготовить bow/ranged weapon archetype. 2. Реализовать выстрел как skill execution поверх weapon contract. 3. Проверить попадание, урон и сетевое воспроизведение. ## Acceptance Criteria - Лучник может стрелять как отдельным MVP-скиллом - выстрел наносит урон валидной цели по общим боевым правилам - навык корректно синхронизируется в мультиплеере ## Verification - ручной тест выстрела по цели - проверка server-authoritative обработки попадания ## Risks / Open Questions - нужно определить, использовать ли в MVP физический projectile или hitscan-подобный упрощенный путь ## Human Decisions Needed - none currently ## Decision Log - `2026-03-30` - MVP-умение Лучника вынесено в отдельную задачу по явному запросу пользователя. ## Handoff Notes Если projectile path окажется слишком дорогим для первого прохода, допустимо начать с упрощенного ranged hit model при сохранении того же публичного контракта.