protected boolean attack(int[] damages, BaseEntity enemy, int r, int c)
	{
		if (enemy.health - damages[0] <= 0 && health - damages[1] <= 0) //Both may kill each other
		{
			if (health >= enemy.health)
			{
				if (!(enemy instanceof City))
					location.grid.removeUnit(enemy);
				health = 1;
				return true;
			}
			else
			{
				enemy.health = 1;
				location.grid.removeUnit(this);
				owner = null;
				return false;
			}
		}
		else if (enemy.health - damages[0] <= 0) //Killed the enemy
		{
			if (!(enemy instanceof City))
				location.grid.removeUnit(enemy);
			health -= damages[1];
			return true;
		}
		else if (health - damages[1] <= 0) //Killed in an attack
		{
			location.grid.removeUnit(this);
			owner = null;
			return false;
		}
		else //Damage to each other
		{
			enemy.health -= damages[0];
			health -= damages[1];
			return false;
		}
	}