#pragma once #include #include #include "Formula.h" #include "RecipesConfig.h" // A single stat modifier contributed by a module instance. // REQ-MOD-STAT-CALC: final = base * (1 + sum(m_i - 1)) + sum(additives). struct ModuleStatModifier { std::string stat; // e.g. "hp", "speed", "sensor_range" std::string modifierType; // "additive" or "multiplicative" Formula formula; }; struct ModuleDef { std::string id; std::vector surfaceMask; std::vector materials; int playerProductionLevel; double productionTimeSeconds; double threatCost; std::string fillColor; std::string glyph; std::vector statModifiers; }; struct ModulesConfig { std::vector modules; };