@Override
	public void setParms(String parms)
	{
		super.setParms(parms);
		final int x=parms.indexOf(';');
		if(x>=0)
		{
			message=parms.substring(x+1);
			parms=parms.substring(0,x);
		}
		else
			message=DEFAULT_MESSAGE;
		final Vector<String> V=CMParms.parse(parms);
		nosneak=false;
		always=false;
		mask=null;
		dirs.clear();
		for(int v=V.size()-1;v>=0;v--)
		{
			final String s=V.elementAt(v);
			if(s.equalsIgnoreCase("NOSNEAK"))
			{
				nosneak=true;
				V.removeElementAt(v);
			}
			else
			if(s.equalsIgnoreCase("ALWAYS"))
			{
				always=true;
				V.removeElementAt(v);
			}
			else
			{
				final int dir=Directions.getGoodDirectionCode(s);
				if(dir>=0)
				{
					dirs.addElement(Integer.valueOf(dir));
					V.removeElementAt(v);
				}
			}
		}
		if(V.size()>0)
			mask=CMParms.combineWithQuotes(V,0);
	}