Does not include upgrades

def can_attack_air(self) -> bool:
        """ Does not include upgrades """
        if self._weapons:
            weapon = next(
                (weapon for weapon in self._weapons if weapon.type in {TargetType.Air.value, TargetType.Any.value}),
                None,
            )
            return weapon is not None
        return False