code: def can_attack_air(self) -> bool:
          
          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
docs: Does not include upgrades