|  |  | @ -372,6 +372,12 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// cant place siege equipment off city zone.
 |  |  |  | 		// cant place siege equipment off city zone.
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		// If there is a bane placed, we limit placement to  2x the stone rank's worth of attacker assets
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		// and 1x the tree rank for defenders
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		if (validateSiegeLimits(player, origin, serverCity.getBane()) == false) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			return true; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// Create the siege Building
 |  |  |  | 		// Create the siege Building
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		siegeBuilding = createStructure(player, msg.getFirstPlacementInfo(), serverZone); |  |  |  | 		siegeBuilding = createStructure(player, msg.getFirstPlacementInfo(), serverZone); | 
			
		
	
	
		
		
			
				
					|  |  | @ -381,19 +387,8 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (siegeBuilding == null) |  |  |  | 		if (siegeBuilding == null) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			return false; |  |  |  | 			return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 		 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// If there is a bane placed, we limit placement to  2x the stone rank's worth of attacker assets
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// and 1x the tree rank for defenders
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (validateSiegeLimits(player, origin, serverCity.getBane()) == false) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 			return true; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// passes validation: can assign auto-protection to war asset
 |  |  |  | 		// passes validation: can assign auto-protection to war asset
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (serverCity.getBane() != null) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if (serverCity.isLocationOnCityGrid(siegeBuilding.getBounds())) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if (player.getGuild().equals(serverCity.getBane().getOwner().getGuild())) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 					return true; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		siegeBuilding.setProtectionState(ProtectionState.PROTECTED); |  |  |  | 		siegeBuilding.setProtectionState(ProtectionState.PROTECTED); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 		 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// No bane placed.  We're done!
 |  |  |  | 		// No bane placed.  We're done!
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -434,10 +429,6 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (!building.getGuild().equals(serverCity.getGuild()) && !building.getGuild().equals(serverCity.getBane().getOwner().getGuild())) |  |  |  | 		if (!building.getGuild().equals(serverCity.getGuild()) && !building.getGuild().equals(serverCity.getBane().getOwner().getGuild())) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			continue; |  |  |  | 			continue; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// Only count auto protected buildings
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (building.getProtectionState() != ProtectionState.PROTECTED) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 			continue; |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (building.getGuild().equals(serverCity.getGuild())) |  |  |  | 		if (building.getGuild().equals(serverCity.getGuild())) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			defenderBuildings.add(building); |  |  |  | 			defenderBuildings.add(building); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		 |  |  |  | 		 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |