public void onScannedRobot(ScannedRobotEvent e) {
		if (getGunHeat() < 2.8) {
			fire(getEnergy() > 50 ? 3 : 1.5);
			setBack(50 * moveDirection);
			execute();
		}
		
		double absoluteBearing = getHeading() + e.getBearing();
		double bearingFromGun = normalRelativeAngleDegrees(absoluteBearing - getGunHeading());

		if (Math.abs(bearingFromGun) <= 3) {
			turnGunRight(bearingFromGun);
			if (getGunHeat() == 0) {
				fire(getEnergy() > 50 ? 3 : 1.5);
				setBack(50 * moveDirection);
				execute();
			}
		} else {
			turnGunRight(bearingFromGun);
		}
		// Generates another scan event if we see a robot.
		// We only need to call this if the gun (and therefore radar)
		// are not turning.  Otherwise, scan is called automatically.
		if (bearingFromGun == 0) {
			scan();
		}
	}