@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		if(!super.tick(ticking,tickID))
			return false;
		
		if((tickID==Tickable.TICKID_MOB)
		&&(affected instanceof MOB)
		&&(affected != invoker))
		{
			final MOB M=(MOB)affected;
			final MOB mob=invoker();
			final Room R=CMLib.map().roomLocation(M);
			if((R==null)||(this.path==null)||(this.path.size()==0))
			{
				unInvoke();
				return false;
			}
			int direction = path.remove(0).intValue();
			final Room nextR=R.getRoomInDir(direction);
			if(nextR==null)
			{
				unInvoke();
				return false;
			}
			CMLib.tracking().walk(M, direction, false, true, false, true);
			if(M.location()==nextR)
			{
				final CMMsg msg2=CMClass.getMsg(mob,nextR,CMMsg.MSG_LOOK,null);
				nextR.executeMsg(mob,msg2);
			}
			else
				unInvoke();
		}
		return true;
	}