@Override
	public boolean mayPhysicallyAttack(final PhysicalAgent victim)
	{
		final Room myLocation=location();
		if ((!mayIFight(victim))||(myLocation==null))
			return false;
		if(victim instanceof MOB)
		{
			if(myLocation != ((MOB)victim).location())
				return false;
		}
		else
		{
			final Room R=CMLib.map().roomLocation(victim);
			final Area myArea=myLocation.getArea();
			if((R==null)||(myArea==null))
				return false;
			if((myLocation != R)
			&&((!(myArea instanceof BoardableShip))
				||(!R.isContent(((BoardableShip)myArea).getShipItem()))))
				return false;
		}
		if((!CMLib.flags().isInTheGame(this, false))
		|| (!CMLib.flags().isInTheGame(victim, false)))
			return false;
		return true;
	}