public static void act(Unit unit) {
		UnitType type = unit.getType();

		// ==============================
		// SPECIAL units

		// Wraith
		if (type.isWraith()) {
			TerranWraith.act(unit);
		}

		// ==============================

		// Define place where to be
		MapPoint point = ArmyRendezvousManager.getFlyersGatheringPoint();
		UnitActions.attackTo(unit, point);

		// =========================================================
		// Avoid anti-air units
		if (tryAvoidingAntiAirUnits(unit)) {
			return;
		}

		// ==============================
		// Move away from other flyers, thus enhancing the range
		Unit aaUnitNearby = getAAUnitNearby(unit);
		unit.setEnemyNearbyAA(aaUnitNearby);
		Unit otherFlyer = getNearestFlyerToFlyer(unit);
		if (aaUnitNearby == null && otherFlyer != null
				&& otherFlyer.distanceTo(unit) < MIN_DIST_BETWEEN_FLYERS) {
			UnitActions.moveAwayFromUnitIfPossible(unit, otherFlyer, 5);
		}

		// ==============================
		// Avoid units like: photon cannons, missile turrets, goliaths, marines.
		boolean isAABuildingNearby = xvr.isEnemyDefensiveAirBuildingNear(unit);
		boolean shouldRunFromHere = isAABuildingNearby || aaUnitNearby != null;
		if (shouldRunFromHere) {
			UnitActions.moveAwayFrom(unit, aaUnitNearby);
			return;
		}
	}