|  | @@ -17,6 +17,7 @@
 | 
	
		
			
				|  |  |  #include "../NetPacks.h"
 | 
	
		
			
				|  |  |  #include "../CGeneralTextHandler.h"
 | 
	
		
			
				|  |  |  #include "../CSoundBase.h"
 | 
	
		
			
				|  |  | +#include "../GameSettings.h"
 | 
	
		
			
				|  |  |  #include "../mapObjectConstructors/CObjectClassesHandler.h"
 | 
	
		
			
				|  |  |  #include "../mapObjectConstructors/CBankInstanceConstructor.h"
 | 
	
		
			
				|  |  |  #include "../IGameCallback.h"
 | 
	
	
		
			
				|  | @@ -131,6 +132,25 @@ void CBank::onHeroVisit(const CGHeroInstance * h) const
 | 
	
		
			
				|  |  |  	bd.text.appendLocalString(EMetaText::ADVOB_TXT, banktext);
 | 
	
		
			
				|  |  |  	if (banktext == 32)
 | 
	
		
			
				|  |  |  		bd.text.replaceRawString(getObjectName());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	if (VLC->settings()->getBoolean(EGameSettings::BANKS_SHOW_GUARDS_COMPOSITION))
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		std::map<CreatureID, int> guardsAmounts;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		for (auto const & guard : bc->guards)
 | 
	
		
			
				|  |  | +			guardsAmounts[guard.getType()->getId()] += guard.getCount();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		for (auto const & guard : guardsAmounts)
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			Component comp;
 | 
	
		
			
				|  |  | +			comp.id = Component::EComponentType::CREATURE;
 | 
	
		
			
				|  |  | +			comp.subtype = guard.first.getNum();
 | 
	
		
			
				|  |  | +			comp.val = guard.second;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			bd.components.push_back(comp);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	cb->showBlockingDialog(&bd);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |