@Override
	public String getWeaponLimitDesc()
	{
		final StringBuffer str=new StringBuffer("");
		if((disallowedWeaponClasses(null)!=null)&&(disallowedWeaponClasses(null).size()>0))
		{
			str.append(_("The following weapon types may not be used: "));
			for(final Iterator i=disallowedWeaponClasses(null).iterator();i.hasNext();)
			{
				final Integer I=(Integer)i.next();
				str.append(CMStrings.capitalizeAndLower(Weapon.CLASS_DESCS[I.intValue()])+" ");
			}
			str.append(".  ");
		}
		if((requiredWeaponMaterials()!=null)&&(requiredWeaponMaterials().size()>0))
		{
			str.append(_("Requires using weapons made of the following materials: "));
			for(final Iterator i=requiredWeaponMaterials().iterator();i.hasNext();)
			{
				final Integer I=(Integer)i.next();
				str.append(CMStrings.capitalizeAndLower(CMLib.materials().getMaterialDesc(I.intValue()))+" ");
			}
			str.append(".  ");
		}

		if(str.length()==0) str.append(_("No limitations."));
		return str.toString().trim();
	}