countFleetBalloonShips = (fleetNum, isCombined = false, maxCap = 3) => {
        const locatedFleet = PlayerManager.fleets[fleetNum - 1];
        if(!locatedFleet) return 0;
        const countBalloonShips = (fleet) => (
            fleet.shipsUnescaped().reduce((cnt, s) => (
                // note: don't count type2: 54, because smoke generator 54 too
                cnt + (s.hasEquipmentType(3, 55) & 1)
            ), 0)
        );
        if(isCombined && [1, 2].includes(fleetNum)) {
            return Math.min(maxCap, PlayerManager.fleets.slice(0, 2).reduce((cnt, f) => (
                cnt + countBalloonShips(f)
            ), 0));
        }
        return Math.min(maxCap, countBalloonShips(locatedFleet));
    }
@return the amount up to cap (3) of ships equipping balloon type.