from module.campaign.campaign_base import CampaignBase from module.map.map_base import CampaignMap MAP = CampaignMap('d2') MAP.shape = 'I7' MAP.camera_data = ['D2', 'D5', 'F3', 'F5'] MAP.map_data = ''' SP -- -- -- -- -- ME ++ MB -- ME -- MS ME -- -- ++ -- -- -- ME ++ ++ ++ -- -- -- ME __ -- ME ME ME -- MS -- ME MS -- ++ ++ ++ -- -- -- -- ME -- ME -- -- -- ++ -- SP -- -- -- -- ME -- ++ MB ''' MAP.weight_data = ''' 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ''' MAP.spawn_data = [ {'battle': 0, 'enemy': 2, 'siren': 2}, {'battle': 1, 'enemy': 1}, {'battle': 2, 'enemy': 2, 'siren': 1}, {'battle': 3, 'enemy': 1}, {'battle': 4, 'enemy': 1}, {'battle': 5}, {'battle': 6, 'boss': 1}, ] class Config: SUBMARINE = 1 FLEET_BOSS = 2 MAP_HAS_AMBUSH = False MAP_HAS_FLEET_STEP = False MAP_HAS_MOVABLE_ENEMY = False MAP_HAS_SIREN = True MAP_HAS_DYNAMIC_RED_BORDER = False MAP_SIREN_COUNT = 3 INTERNAL_LINES_HOUGHLINES_THRESHOLD = 50 EDGE_LINES_HOUGHLINES_THRESHOLD = 50 INTERNAL_LINES_FIND_PEAKS_PARAMETERS = { 'height': (150, 255 - 24), 'width': (0.9, 10), 'prominence': 10, 'distance': 35, } EDGE_LINES_FIND_PEAKS_PARAMETERS = { 'height': (255 - 24, 255), 'prominence': 10, 'distance': 50, 'wlen': 1000 } class Campaign(CampaignBase): MAP = MAP def battle_0(self): if self.clear_siren(): return True if self.clear_enemy(scale=(2, 3)): return True return self.battle_default() def battle_5(self): if self.clear_enemy(scale=(1,)): return True if self.clear_enemy(scale=(2,)): return True return self.battle_default() def battle_6(self): return self.fleet_2.clear_boss()