mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Templates now contain info about mines.
This commit is contained in:
@@ -65,6 +65,20 @@ void CJsonRmgTemplateLoader::loadTemplates()
|
||||
zone->setTerrainTypes(parseTerrainTypes(zoneNode["terrainTypes"].Vector(), zone->getDefaultTerrainTypes()));
|
||||
zone->setTownsAreSameType((zoneNode["townsAreSameType"].Bool()));
|
||||
|
||||
if (!zoneNode["mines"].isNull())
|
||||
{
|
||||
auto mines = zoneNode["mines"].Struct();
|
||||
//FIXME: maybe there is a smarter way to parse it already?
|
||||
zone->setMinesAmount(Res::WOOD, mines["wood"].Float());
|
||||
zone->setMinesAmount(Res::ORE, mines["ore"].Float());
|
||||
zone->setMinesAmount(Res::GEMS, mines["gems"].Float());
|
||||
zone->setMinesAmount(Res::CRYSTAL, mines["crystal"].Float());
|
||||
zone->setMinesAmount(Res::SULFUR, mines["sulfur"].Float());
|
||||
zone->setMinesAmount(Res::MERCURY, mines["mercury"].Float());
|
||||
zone->setMinesAmount(Res::GOLD, mines["gold"].Float());
|
||||
//TODO: Mithril
|
||||
}
|
||||
|
||||
//treasures
|
||||
if (!zoneNode["treasure"].isNull())
|
||||
{
|
||||
@@ -124,6 +138,15 @@ void CJsonRmgTemplateLoader::loadTemplates()
|
||||
}
|
||||
zone->setTotalDensity (zones[zoneNode["treasureLikeZone"].Float()]->getTotalDensity());
|
||||
}
|
||||
|
||||
if (!zoneNode["minesLikeZone"].isNull())
|
||||
{
|
||||
for (auto mineInfo : zones[zoneNode["minesLikeZone"].Float()]->getMinesInfo())
|
||||
{
|
||||
zone->setMinesAmount (mineInfo.first, mineInfo.second);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
tpl->setZones(zones);
|
||||
|
||||
Reference in New Issue
Block a user