def METHOD_NAME(self, multiworld: MultiWorld, player: int):
    beats_kerrigan = self.has_any({'Marine', 'Banshee', 'Ghost'}, player) or get_option_value(multiworld, player, 'required_tactics') > 0
    if get_option_value(multiworld, player, 'all_in_map') == 0:
        # Ground
        defense_rating = self._sc2wol_defense_rating(multiworld, player, True, False)
        if self.has_any({'Battlecruiser', 'Banshee'}, player):
            defense_rating += 3
        return defense_rating >= 12 and beats_kerrigan
    else:
        # Air
        defense_rating = self._sc2wol_defense_rating(multiworld, player, True, True)
        return defense_rating >= 8 and beats_kerrigan \
            and self.has_any({'Viking', 'Battlecruiser'}, player) \
            and self.has_any({'Hive Mind Emulator', 'Psi Disruptor', 'Missile Turret'}, player)