feat: Implement enemy attack dive mechanics and shooting behavior

This commit is contained in:
Harald Hoyer 2025-04-05 12:42:16 +02:00
parent 4256b0046c
commit 66fd1e8b1b
2 changed files with 509 additions and 287 deletions

View file

@ -63,11 +63,11 @@ nix develop --command bash -c "cargo build"
* ~~Give enemies an `Entering` state/component: They fly onto the screen following predefined paths (curves, waypoints).~~ **(DONE - Basic linear path implemented)**
* Give enemies a `Formation` state/component: Once they reach their target position, they stop and hold formation. **(DONE - Stop implemented by removing FormationTarget)**
* **Enemy Attack Dives:**
* Give enemies an `Attacking` state/component.
* Periodically trigger enemies in the formation to switch to the `Attacking` state.
* Define attack paths (swooping dives towards the player area).
* Make enemies fire bullets (downwards or towards the player) during their dives.
* After an attack dive, enemies could return to their formation position or fly off-screen.
* ~~Give enemies an `Attacking` state/component.~~ **(DONE)**
* ~~Periodically trigger enemies in the formation to switch to the `Attacking` state.~~ **(DONE - Random selection after formation complete)**
* Define attack paths (swooping dives towards the player area). **(Basic downward dive implemented)**
* ~~Make enemies fire bullets (downwards or towards the player) during their dives.~~ **(DONE - Downward)**
* After an attack dive, enemies could return to their formation position or fly off-screen. **(Fly off-screen implemented)**
* **Enemy Variety:**
* Introduce different types of enemies (e.g., using different components or an enum).
* Assign different behaviors, point values, and maybe sprites to each type.