46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#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;
|
|
};
|