112 lines
4.1 KiB
Markdown
112 lines
4.1 KiB
Markdown
---
|
|
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/Scripts/Player/SimplePlayerInputMover.cs
|
|
---
|
|
|
|
# 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 при сохранении того же публичного контракта.
|