@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		super.tick(ticking,tickID);
		if(tickID!=Tickable.TICKID_AREA)
			return true;
		if(!(ticking instanceof Area))
			return true;
		if(areaName==null)
		{
			if(getParms().length()==0)
				return true;
			String s=getParms();
			final int x=s.indexOf(';');
			rolling=false;
			if(x>=0)
			{
				if(s.indexOf("ROLL",x+1)>=0)
				   rolling=true;
				s=s.substring(0,x);
			}
			final Area A=CMLib.map().getArea(s);
			if(A!=null)
				areaName=A.Name();
		}

		final Area A=(Area)ticking;
		final Area linkedA=CMLib.map().getArea(areaName);
		if(linkedA!=null)
		{
			if(rolling)
				A.getClimateObj().setNextWeatherType(linkedA.getClimateObj().weatherType(null));
			else
			{
				A.getClimateObj().setCurrentWeatherType(linkedA.getClimateObj().weatherType(null));
				A.getClimateObj().setNextWeatherType(linkedA.getClimateObj().nextWeatherType(null));
			}
		}
		return true;
	}