Flesh out the 14 still-open issues (GAL-34/35/36/37, 40/41, 43, 46/47/48/49, 52/53/55) with explicit acceptance criteria and concrete integration test hints that reference existing types and headless tooling, so future work on these tickets has a clear definition of done. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
---
|
|
id: GAL-34
|
|
title: Dual Fighter (Rescuing Captured Ship)
|
|
status: Todo
|
|
parent: null
|
|
labels: [gameplay, advanced-mechanics]
|
|
---
|
|
|
|
# GAL-34: Dual Fighter (Rescuing Captured Ship)
|
|
|
|
Allow the player to rescue a captured ship and operate in dual-fighter mode.
|
|
|
|
## Sub-issues
|
|
|
|
- [ ] [GAL-35](GAL-35.md) — Allow the player to shoot a Boss that is holding a captured ship.
|
|
- [ ] [GAL-36](GAL-36.md) — Implement the logic to free the captured ship upon shooting the Boss.
|
|
- [ ] [GAL-37](GAL-37.md) — Implement the dual fighter mode (controlling two ships, firing two bullets).
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] End-to-end Galaga rescue flow works: capture → shoot Boss in `ReturningWithCaptive` → freed ship attaches → dual fighter active.
|
|
- [ ] Losing the side ship of a dual fighter does **not** subtract a life and does **not** trigger respawn.
|
|
- [ ] Score reflects rescue bonus distinct from a normal Boss kill.
|
|
|
|
## Integration test hints
|
|
|
|
- Scripted scenario test (`tests/dual_fighter.rs`): build a minimal `App`, advance through capture → rescue → side-fighter-loss; assert state and resource values at each step.
|
|
- Audit no regressions in `tests/special_stage.rs` style: keep tests deterministic by injecting `Time` and `fastrand` seeds.
|