summaryrefslogtreecommitdiff
path: root/campaign/src
diff options
context:
space:
mode:
Diffstat (limited to 'campaign/src')
-rw-r--r--campaign/src/scenarios.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/campaign/src/scenarios.cpp b/campaign/src/scenarios.cpp
index 979128b..dbd1f73 100644
--- a/campaign/src/scenarios.cpp
+++ b/campaign/src/scenarios.cpp
@@ -2,6 +2,7 @@
#include <kurator/campaign/Scenario.h>
#include <kurator/campaign/ShipConfig.h>
+#include <kurator/universe.h>
namespace kurator
@@ -16,14 +17,21 @@ 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", {"ChargeLaser", "GaussCannon"}});
+ 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", {"BurstLaser"}});
+ 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", {"ChargeLaser"}});
+ scenario.ships.push_back(ShipConfig{{id++}, team, eclipse, {charge_laser}});
}
return scenario;
}