Waves Data
Enemy composition and formation data. Each wave defines which enemy ships appear, their count, positions, and spawn timing within a stage.
Table Structure
TableDataManager.wave_dict
Struct
GeneralWaveTable (value type)
Key Type
int — unique wave ID
Records
15,115 wave entries (the largest entity table by record count)
The wave table is the bridge between stages and enemy ships. Each stage references one or more wave IDs. A wave defines a group of enemy units that spawn together, including their ship IDs, count, formation positions, and spawn delays.
At 15,115 records, this is the largest entity table. Many stages share common wave patterns, with variations only in enemy stat scaling (which comes from the stage/boss tables, not the wave table).
Key Fields
Wave composition| Field | Type | Notes |
|---|---|---|
ID | int | Primary key; unique wave ID |
iStageID | int | FK to GeneralStageTable — which stage this wave belongs to |
iWaveIndex | int | Ordering within the stage (wave 1, wave 2, etc.) |
iShipIDs | string (CSV) | Comma-separated enemy ship IDs in this wave |
iShipCounts | string (CSV) | How many of each ship to spawn |
iFormationType | int | Formation pattern for enemy positioning |
fSpawnDelay | float | Delay in seconds before this wave spawns (relative to stage start or previous wave) |
fHPMultiplier | float | Wave-specific HP scaling multiplier |
fPowerMultiplier | float | Wave-specific ATK power scaling multiplier |
Stage-Wave Relationship
A single stage typically has 3-5 waves. Each wave defines a formation of enemies. The wave's ship IDs reference the ship table for base stats, then apply the wave's own HP and power multipliers for difficulty scaling.
- How many distinct formation types exist, and what spatial patterns do they define?
- Is
fSpawnDelayrelative to stage start or to the previous wave's completion? - Do wave multipliers stack with stage-level difficulty, or are they independent?
- Are there elite or rare wave variants that spawn conditionally?