|
@@ -308,17 +308,9 @@ JsonRandom::JsonRandom(IGameInfoCallback * cb, IGameRandomizer & gameRandomizer)
|
|
|
|
|
|
TResources JsonRandom::loadResource(const JsonNode & value, const Variables & variables)
|
|
|
{
|
|
|
- std::set<GameResID> defaultResources{
|
|
|
- GameResID::WOOD,
|
|
|
- GameResID::MERCURY,
|
|
|
- GameResID::ORE,
|
|
|
- GameResID::SULFUR,
|
|
|
- GameResID::CRYSTAL,
|
|
|
- GameResID::GEMS,
|
|
|
- GameResID::GOLD
|
|
|
- }; //todo: configurable resource support
|
|
|
-
|
|
|
- std::set<GameResID> potentialPicks = filterKeys(value, defaultResources, variables);
|
|
|
+ auto defaultResources = LIBRARY->resourceTypeHandler->getAllObjects();
|
|
|
+
|
|
|
+ std::set<GameResID> potentialPicks = filterKeys(value, std::set<GameResID>(defaultResources.begin(), defaultResources.end()), variables);
|
|
|
GameResID resourceID = *RandomGeneratorUtil::nextItem(potentialPicks, rng);
|
|
|
si32 resourceAmount = loadValue(value, variables, 0);
|
|
|
|