#include #include #include #include namespace kurator { namespace campaign { namespace scenarios { Scenario example(int teams, int anvils, int warbringers, int eclipses, double distance) { int id = 0; const auto repo = universe::load_json("resources/universe"); const auto anvil = repo->ship_type("Anvil"); const auto eclipse = repo->ship_type("Eclipse"); const auto warbringer = repo->ship_type("Warbringer"); const auto burst_laser = repo->turret_type("BurstLaser"); const auto charge_laser = repo->turret_type("ChargeLaser"); const auto gauss_cannon = repo->turret_type("GaussCannon"); Scenario scenario {"Example", distance, {}}; for (int team = 0; team < teams; ++team) { for (int i = 0; i < anvils; ++i) scenario.ships.push_back(ShipConfig{{id++}, team, anvil, {charge_laser, gauss_cannon}}); for (int i = 0; i < warbringers; ++i) scenario.ships.push_back(ShipConfig{{id++}, team, warbringer, {burst_laser}}); for (int i = 0; i < eclipses; ++i) scenario.ships.push_back(ShipConfig{{id++}, team, eclipse, {charge_laser}}); } return scenario; } } // namespace scenarios } // namespace campaign } // namespace kurator