|  |  | @ -275,8 +275,9 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// Early exit if something went horribly wrong
 |  |  |  | 		// Early exit if something went horribly wrong
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (cityObject == null) |  |  |  | 		if (cityObject == null){ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 			return false; |  |  |  | 			PlaceAssetMsg.sendPlaceAssetError(origin, 52, ""); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			return false;} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// Method checks validation conditions arising when placing
 |  |  |  | 		// Method checks validation conditions arising when placing
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// buildings.  Player must be on a city grid, must be
 |  |  |  | 		// buildings.  Player must be on a city grid, must be
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -337,7 +338,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		//no city found
 |  |  |  | 		//no city found
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (serverCity == null) { |  |  |  | 		if (serverCity == null) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			PlaceAssetMsg.sendPlaceAssetError(origin, 41, ""); // Cannot place outisde a guild zone
 |  |  |  | 			PlaceAssetMsg.sendPlaceAssetError(origin, 52, ""); // Cannot place outisde a guild zone
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			return false; |  |  |  | 			return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -1232,17 +1233,17 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if(Blueprint.getBlueprint(placementInfo.getBlueprintUUID()).isSiegeEquip() == false) |  |  |  | 		if(Blueprint.getBlueprint(placementInfo.getBlueprintUUID()).isSiegeEquip() == false) | 
			
		
	
		
		
			
				
					
					|  |  |  | 		{ |  |  |  | 		{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if (serverZone.isPlayerCity() == false) { |  |  |  | 			if (serverZone.isPlayerCity() == false) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 52, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 				return false; |  |  |  | 				return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			City city = ZoneManager.getCityAtLocation(placementInfo.getLoc()); |  |  |  | 			City city = ZoneManager.getCityAtLocation(placementInfo.getLoc()); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if (player.getGuild().equals(city.getGuild()) == false) { |  |  |  | 			if (player.getGuild().equals(city.getGuild()) == false) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 40, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 				return false; |  |  |  | 				return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if (city.isLocationOnCityGrid(placementInfo.getLoc()) == false) { |  |  |  | 			if (city.isLocationOnCityGrid(placementInfo.getLoc()) == false) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 41, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 				return false; |  |  |  | 				return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
	
		
		
			
				
					|  |  | @ -1252,7 +1253,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			if(city == null) |  |  |  | 			if(city == null) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 				PlaceAssetMsg.sendPlaceAssetError(origin, 52, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 				return false; |  |  |  | 				return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			Bane bane = city.getBane(); |  |  |  | 			Bane bane = city.getBane(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -1272,38 +1273,38 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if(bane == null) |  |  |  | 				if(bane == null) | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{ |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 					//bane was null
 |  |  |  | 					//bane was null
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 66, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 					return false; |  |  |  | 					return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if(city == null) |  |  |  | 				if(city == null) | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{ |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 					//city was null
 |  |  |  | 					//city was null
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 67, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 					return false; |  |  |  | 					return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 				//check if player is from siege guild
 |  |  |  | 				//check if player is from siege guild
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if(player.getGuild().equals(bane.getOwner().getGuild()) == false) |  |  |  | 				if(player.getGuild().equals(bane.getOwner().getGuild()) == false) | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{ |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 54, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 					return false; |  |  |  | 					return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 				//check if player is GL or IC of the bane guild
 |  |  |  | 				//check if player is GL or IC of the bane guild
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if(GuildStatusController.isGuildLeader(player.getGuildStatus()) == false && GuildStatusController.isInnerCouncil(player.getGuildStatus()) == false) |  |  |  | 				if(GuildStatusController.isGuildLeader(player.getGuildStatus()) == false && GuildStatusController.isInnerCouncil(player.getGuildStatus()) == false) | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{ |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 71, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 					return false; |  |  |  | 					return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 				//cannot place on grid until bane is live
 |  |  |  | 				//cannot place on grid until bane is live
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if(bane.getSiegePhase() != SiegePhase.WAR && city.isLocationOnCityGrid(placementInfo.getLoc()) == true) |  |  |  | 				if(bane.getSiegePhase() != SiegePhase.WAR && city.isLocationOnCityGrid(placementInfo.getLoc()) == true) | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{ |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 71, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 					return false; |  |  |  | 					return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 				if(city.isLocationWithinSiegeBounds(placementInfo.getLoc()) == false && city.isLocationOnCityZone(placementInfo.getLoc()) == false) |  |  |  | 				if(city.isLocationWithinSiegeBounds(placementInfo.getLoc()) == false && city.isLocationOnCityZone(placementInfo.getLoc()) == false) | 
			
		
	
		
		
			
				
					
					|  |  |  | 				{ |  |  |  | 				{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 57, player.getName()); |  |  |  | 					PlaceAssetMsg.sendPlaceAssetError(origin, 66, player.getName()); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 					return false; |  |  |  | 					return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				} |  |  |  | 				} | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
	
		
		
			
				
					|  |  | @ -1421,7 +1422,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		// City assets must be placed on the city grid
 |  |  |  | 		// City assets must be placed on the city grid
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 		if (!city.isLocationOnCityGrid(buildingInfo.getLoc())) { |  |  |  | 		if (!city.isLocationOnCityGrid(buildingInfo.getLoc())) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 			PlaceAssetMsg.sendPlaceAssetError(origin, 1, "Assset must be placed on a City Grid"); |  |  |  | 			PlaceAssetMsg.sendPlaceAssetError(origin, 52, ""); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			return false; |  |  |  | 			return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		} |  |  |  | 		} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |