bglga/TODO/GAL-37.md
Harald Hoyer 365e3a7cc4 chore(todo): add acceptance criteria and test hints to open issues
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>
2026-05-07 09:53:09 +02:00

26 lines
1.4 KiB
Markdown

---
id: GAL-37
title: Implement the dual fighter mode
status: Todo
parent: GAL-34
labels: [gameplay, advanced-mechanics]
---
# GAL-37: Implement the dual fighter mode (controlling two ships, firing two bullets)
Implement the dual fighter mode (controlling two ships, firing two bullets).
## Acceptance criteria
- [ ] After a successful rescue, player and side ship move as one rigid body (single horizontal input drives both).
- [ ] Shoot input spawns **two** bullet entities per shot, one from each ship.
- [ ] Side ship has its own collider; an enemy or enemy bullet hitting only the side ship despawns it without losing a life.
- [ ] Hitting the main ship still loses a life as today.
- [ ] When the side ship is gone, behaviour reverts to single-fighter (one bullet per shot).
- [ ] Tractor beam re-capturing the player while in dual mode behaves sensibly (define: side ship lost, main captured).
## Integration test hints
- World fixture with `Player` + a `SideFighter` component at +offset; trigger a `Shoot` input; assert exactly two `Bullet` entities exist this frame at expected x-offsets.
- Spawn an `EnemyBullet` at the side-fighter position; tick collision; assert only the side ship despawned, `PlayerLives` unchanged, two-bullet shooting now reverts to one.
- Movement test: drive `move_player` left/right; assert side ship transform tracks main with constant offset.