--- id: GAL-41 title: Award bonus points for clearing the special stage status: Todo parent: GAL-38 labels: [gameplay, advanced-mechanics] --- # GAL-41: Award bonus points for destroying all enemies in the stage Award bonus points for destroying all enemies in the stage. ## Acceptance criteria - [ ] Bonus is awarded **only** when every enemy spawned during the special stage is destroyed before the stage ends. - [ ] Partial clears award nothing (no proportional credit). - [ ] Bonus value is configurable per stage via `StageConfig` (or equivalent), defaulting to a Galaga-style 10000. - [ ] Bonus applies to `Score` resource on stage transition, not on the last kill (so final HUD reads cleanly). - [ ] Visible feedback (text overlay or window title) so player knows they earned the bonus. ## Integration test hints - World where `is_special_stage(current) == true` with N enemies; despawn all N via simulated bullet hits; advance to next stage; assert `Score` increased by exactly the configured bonus. - Negative case: leave 1 enemy alive; advance stage; assert `Score` unchanged by the bonus mechanism. - Property-style: vary N in {1, 5, 20}; assert bonus paid once, regardless of N.