mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Reading treasure values from config.
This commit is contained in:
@@ -63,9 +63,32 @@ void CJsonRmgTemplateLoader::loadTemplates()
|
||||
zone->setMatchTerrainToTown(zoneNode["matchTerrainToTown"].Bool());
|
||||
zone->setTerrainTypes(parseTerrainTypes(zoneNode["terrainTypes"].Vector(), zone->getDefaultTerrainTypes()));
|
||||
zone->setTownsAreSameType((zoneNode["townsAreSameType"].Bool()));
|
||||
//TODO: do these lines even do anything?
|
||||
if(!zoneNode["terrainTypeLikeZone"].isNull()) zone->setTerrainTypeLikeZone(boost::lexical_cast<int>(zoneNode["terrainTypeLikeZone"].String()));
|
||||
if(!zoneNode["townTypeLikeZone"].isNull()) zone->setTownTypeLikeZone(boost::lexical_cast<int>(zoneNode["townTypeLikeZone"].String()));
|
||||
|
||||
//treasures
|
||||
if (!zoneNode["treasure"].isNull())
|
||||
{
|
||||
//TODO: parse vector of different treasure settings
|
||||
auto treasureInfo = zoneNode["treasure"].Struct();
|
||||
{
|
||||
CTreasureInfo ti;
|
||||
ti.min = treasureInfo["min"].Float();
|
||||
ti.max = treasureInfo["max"].Float();
|
||||
ti.density = 1; //TODO: use me
|
||||
zone->addTreasureInfo(ti);
|
||||
}
|
||||
}
|
||||
if (!zoneNode["treasureLikeZone"].isNull())
|
||||
{
|
||||
//TODO: check if the zone with that index exists
|
||||
for (auto treasureInfo : zones[zoneNode["treasureLikeZone"].Float()]->getTreasureInfo())
|
||||
{
|
||||
zone->addTreasureInfo(treasureInfo);
|
||||
}
|
||||
}
|
||||
|
||||
zones[zone->getId()] = zone;
|
||||
}
|
||||
tpl->setZones(zones);
|
||||
|
||||
Reference in New Issue
Block a user