|
|
@@ -35,7 +35,6 @@ void WaterAdopter::process()
|
|
|
void WaterAdopter::init()
|
|
|
{
|
|
|
//make dependencies
|
|
|
- DEPENDENCY_ALL(WaterAdopter);
|
|
|
DEPENDENCY(TownPlacer);
|
|
|
POSTFUNCTION(ConnectionsPlacer);
|
|
|
POSTFUNCTION(TreasurePlacer);
|
|
|
@@ -224,7 +223,10 @@ void WaterAdopter::createWater(EWaterContent::EWaterContent waterContent)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- map.getZones()[waterZoneId]->area().unite(waterArea);
|
|
|
+ {
|
|
|
+ Zone::Lock waterLock(map.getZones()[waterZoneId]->areaMutex);
|
|
|
+ map.getZones()[waterZoneId]->area().unite(waterArea);
|
|
|
+ }
|
|
|
Zone::Lock lock(zone.areaMutex);
|
|
|
zone.area().subtract(waterArea);
|
|
|
zone.areaPossible().subtract(waterArea);
|