|  | @@ -452,6 +452,18 @@ void MainWindow::saveMap()
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |  	Translations::cleanupRemovedItems(*controller.map());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	for(auto obj : controller.map()->objects)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		if(obj->ID == Obj::HERO_PLACEHOLDER)
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			auto hero = dynamic_cast<CGHeroPlaceholder *>(obj.get());
 | 
	
		
			
				|  |  | +			if(hero->heroType.has_value())
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				controller.map()->reservedCampaignHeroes.insert(hero->heroType.value());
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	CMapService mapService;
 | 
	
		
			
				|  |  |  	try
 | 
	
		
			
				|  |  |  	{
 |