add basic types and fix cmake

This commit is contained in:
2026-04-19 15:35:21 +02:00
parent ebf6cea353
commit 41fd2a83ee
30 changed files with 1562 additions and 5 deletions

View File

@@ -0,0 +1,45 @@
#pragma once
#include <string>
#include <vector>
#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<std::string> surfaceMask;
Formula hpFormula;
};
// REQ-DEF-PLAYER-FIRE. Stats are formulas of a fixed station level.
struct PlayerStationConfig
{
std::vector<std::string> 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<std::string> surfaceMask;
Formula hpFormula;
Formula damageFormula;
Formula rangeFormula;
Formula fireRateFormula;
Formula scrapDropFormula;
};
struct StationsConfig
{
HqConfig hq;
PlayerStationConfig playerStation;
EnemyStationConfig enemyStation;
};