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>
23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
---
|
|
id: GAL-36
|
|
title: Free the captured ship upon shooting the Boss
|
|
status: Todo
|
|
parent: GAL-34
|
|
labels: [gameplay, advanced-mechanics]
|
|
---
|
|
|
|
# GAL-36: Implement the logic to free the captured ship upon shooting the Boss
|
|
|
|
Implement the logic to free the captured ship upon shooting the Boss.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] When a Boss in `ReturningWithCaptive` dies, the held player has its `Captured` component removed.
|
|
- [ ] Freed ship is positioned next to the active player and tagged for dual-fighter mode (handoff to GAL-37).
|
|
- [ ] If the boss is destroyed while still off-screen / in transit, the freed ship is still recovered cleanly (no orphaned `Captured` component, no stuck `TractorBeam`).
|
|
- [ ] Existing `handle_captured_player` boss-despawn path still runs (cf. `player.rs:handle_captured_player` — release-and-penalize fallback).
|
|
|
|
## Integration test hints
|
|
|
|
- Set up boss + captured player (both entities, with `Captured { boss_entity, … }`); fire bullet; tick to collision; assert player still alive, no `Captured` component, `PlayerLives` unchanged.
|
|
- Edge case: destroy the boss off-screen — confirm fallback path still works without entering the rescue/dual-fighter branch.
|