Files
dota_factory/src/lib/config/StationsConfig.h

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;
};