|
@@ -1247,6 +1247,14 @@ void CGTownInstance::postDeserialize()
|
|
|
setNodeType(CBonusSystemNode::TOWN);
|
|
|
for(auto & building : rewardableBuildings)
|
|
|
building.second->town = this;
|
|
|
+
|
|
|
+ if (getFactionID().hasValue())
|
|
|
+ {
|
|
|
+ vstd::erase_if(builtBuildings, [this](const BuildingID & buildID)
|
|
|
+ {
|
|
|
+ return getTown()->buildings.count(buildID) == 0;
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
std::map<BuildingID, TownRewardableBuildingInstance*> CGTownInstance::convertOldBuildings(std::vector<TownRewardableBuildingInstance*> oldVector)
|