#pragma once #include #include #include "Formula.h" // REQ-HQ-STATS. HP may become a formula of player level later; for now the // requirement only lists hp so we store a formula that callers evaluate at 0. struct HqConfig { std::vector surfaceMask; Formula hpFormula; }; // REQ-DEF-PLAYER-FIRE. Stats are formulas of a fixed station level. struct PlayerStationConfig { std::vector surfaceMask; int level; Formula hpFormula; Formula damageFormula; Formula rangeFormula; Formula fireRateFormula; // shots per second Formula scrapDropFormula; }; // REQ-PSH-STATION-STATS. Stats are formulas of the station generation level, // which increments each time a new set is placed. struct EnemyStationConfig { std::vector surfaceMask; Formula hpFormula; Formula damageFormula; Formula rangeFormula; Formula fireRateFormula; Formula scrapDropFormula; }; struct StationsConfig { HqConfig hq; PlayerStationConfig playerStation; EnemyStationConfig enemyStation; };