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>
26 lines
1.4 KiB
Markdown
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.
|