public void tick()
	{
		if (queueTiles.size() == 0)
		{
			if (owner.cities.size() == 0)
			{
				//settle(); return;
			}
			Tile t = settleLocation();
			//System.out.println(t.owner);
			waddleToExact(t.row,t.col);
		}
		else
		{	
			while (action > 0)
			{
				if (queueTiles.size() == 0) 
				{
					Tile t = settleLocation();
					waddleToExact(t.row,t.col);
					return;
				}
				if (queueTiles.get(0).equals(location))
				{
					settle();
					return;
				}
				//super.recordPos();
				passiveWaddle(queueTiles.get(queueTiles.size()-1).row - location.row, queueTiles.get(queueTiles.size()-1).col - location.col);
				//location.grid.move(this,queueTiles.get(queueTiles.size()-1).row - location.row, queueTiles.get(queueTiles.size()-1).col - location.col);
				queueTiles.remove(queueTiles.size()-1);
				//If it reaches the destination
				if (queueTiles.size() == 0)
				{
					if (location.owner == null)
					{
						settle();
						return;
					}
					else
					{
						queueTiles.clear();
						Tile t = settleLocation();
						waddleToExact(t.row,t.col);
					}
				}
				/*else if (queueTiles.get(0).owner != null)
				{
					if (!queueTiles.get(0).owner.equals(owner))
					{
						queueTiles.clear();
					}
				}*/
			}
		}
		/**/
	}