1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-19 21:10:12 +02:00

Do not add non-existing buildings to H3 towns

Such as Mages Guild 4-5 to Fortress, or all 4 special buildings to towns
without them
This commit is contained in:
Ivan Savenko 2025-01-02 13:46:49 +00:00
parent dfa8a956cc
commit bc624ab654

View File

@ -389,13 +389,10 @@ void CTownHandler::loadBuilding(CTown * town, const std::string & stringID, cons
void CTownHandler::loadBuildings(CTown * town, const JsonNode & source)
{
if(source.isStruct())
for(const auto & node : source.Struct())
{
for(const auto & node : source.Struct())
{
if (!node.second.isNull())
loadBuilding(town, node.first, node.second);
}
if (!node.second.isNull())
loadBuilding(town, node.first, node.second);
}
}
@ -874,6 +871,9 @@ void CTownHandler::beforeValidate(JsonNode & object)
for (auto & building : object["town"]["buildings"].Struct())
{
if (building.second.isNull())
continue;
inheritBuilding(building.first, building.second);
if (building.second.Struct().count("type"))
inheritBuilding(building.second["type"].String(), building.second);