mirror of
https://gitee.com/sui-feng-cb/AzurLaneAutoScript1
synced 2026-03-26 19:47:53 +08:00
change CRLF to LF
This commit is contained in:
@@ -1,88 +1,88 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('10-2')
|
MAP = CampaignMap('10-2')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'E3', 'E4']
|
MAP.camera_data = ['D2', 'E3', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['E4']
|
MAP.camera_data_spawn_point = ['E4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
Me -- ME ME -- ++ ME MB
|
Me -- ME ME -- ++ ME MB
|
||||||
-- ++ ++ -- ME ++ ME ME
|
-- ++ ++ -- ME ++ ME ME
|
||||||
-- SP ++ ++ __ ME Me ++
|
-- SP ++ ++ __ ME Me ++
|
||||||
-- SP ++ ++ -- ME Me ++
|
-- SP ++ ++ -- ME Me ++
|
||||||
-- ++ ++ -- ME ++ ME ME
|
-- ++ ++ -- ME ++ ME ME
|
||||||
-- Me ME ME -- ++ ME MB
|
-- Me ME ME -- ++ ME MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([B6, C6, D6, E5, F4, G2, [G1, H2], G3, G4, G5, [H5, G6]])
|
road_main = RoadGrids([B6, C6, D6, E5, F4, G2, [G1, H2], G3, G4, G5, [H5, G6]])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
DETECTION_BACKEND = 'perspective'
|
DETECTION_BACKEND = 'perspective'
|
||||||
HOMO_STORAGE = ((7, 6), [(471.806, 82.471), (1249.283, 82.471), (420.72, 615.64), (1435.387, 615.64)])
|
HOMO_STORAGE = ((7, 6), [(471.806, 82.471), (1249.283, 82.471), (420.72, 615.64), (1435.387, 615.64)])
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,72 +1,72 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('11-1')
|
MAP = CampaignMap('11-1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D3', 'E4']
|
MAP.camera_data = ['D3', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ME -- ME -- -- MB
|
-- -- ME -- ME -- -- MB
|
||||||
MB ME __ ME -- ++ ++ --
|
MB ME __ ME -- ++ ++ --
|
||||||
++ Me -- ++ ME MB ++ ME
|
++ Me -- ++ ME MB ++ ME
|
||||||
-- -- ++ ++ __ ME ME --
|
-- -- ++ ++ __ ME ME --
|
||||||
SP -- -- -- Me ME -- ++
|
SP -- -- -- Me ME -- ++
|
||||||
++ SP -- -- ++ -- MB ++
|
++ SP -- -- ++ -- MB ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90
|
||||||
|
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([B2, B3, E5, F4, G4, H3])
|
road_main = RoadGrids([B2, B3, E5, F4, G4, H3])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
|
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,90 +1,90 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('11-2')
|
MAP = CampaignMap('11-2')
|
||||||
MAP.shape = 'K6'
|
MAP.shape = 'K6'
|
||||||
MAP.camera_data = ['F4', 'G3', 'H4']
|
MAP.camera_data = ['F4', 'G3', 'H4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ -- -- ++ -- ME -- Me --
|
++ ++ ++ -- -- ++ -- ME -- Me --
|
||||||
-- -- -- Me -- __ Me ++ ++ ME --
|
-- -- -- Me -- __ Me ++ ++ ME --
|
||||||
SP -- ++ -- -- ME ME MM ++ -- ME
|
SP -- ++ -- -- ME ME MM ++ -- ME
|
||||||
SP -- ++ -- ME -- ++ ME -- MB MB
|
SP -- ++ -- ME -- ++ ME -- MB MB
|
||||||
-- ++ ++ ++ __ ME ME -- ++ ++ ++
|
-- ++ ++ ++ __ ME ME -- ++ ++ ++
|
||||||
-- -- ME -- -- ++ -- ME -- -- MB
|
-- -- ME -- -- ++ -- ME -- -- MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
90 90 90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 10 05 90 90
|
90 90 90 90 90 90 90 10 05 90 90
|
||||||
90 90 90 90 90 25 20 15 90 90 90
|
90 90 90 90 90 25 20 15 90 90 90
|
||||||
90 90 90 40 35 30 90 90 90 90 90
|
90 90 90 40 35 30 90 90 90 90 90
|
||||||
|
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([C6, F5, G5, H4, H6])
|
road_main = RoadGrids([C6, F5, G5, H4, H6])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
DETECTION_BACKEND = 'homography'
|
DETECTION_BACKEND = 'homography'
|
||||||
HOMO_STORAGE = ((6, 6), [(579.064, 82.271), (1248.248, 82.271), (562.795, 616.581), (1438.283, 616.581)])
|
HOMO_STORAGE = ((6, 6), [(579.064, 82.271), (1248.248, 82.271), (562.795, 616.581), (1438.283, 616.581)])
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|
||||||
def handle_boss_appear_refocus(self, preset=(-3, -2)):
|
def handle_boss_appear_refocus(self, preset=(-3, -2)):
|
||||||
return super().handle_boss_appear_refocus(preset)
|
return super().handle_boss_appear_refocus(preset)
|
||||||
|
|||||||
@@ -1,84 +1,84 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('11-3')
|
MAP = CampaignMap('11-3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D3', 'F5']
|
MAP.camera_data = ['D3', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- -- ME -- Me ++ ++ ++
|
++ -- -- ME -- Me ++ ++ ++
|
||||||
__ ME ME -- Me -- ME -- __
|
__ ME ME -- Me -- ME -- __
|
||||||
-- -- ME -- -- ME -- ME --
|
-- -- ME -- -- ME -- ME --
|
||||||
MB ++ ++ -- ++ ++ ++ -- ME
|
MB ++ ++ -- ++ ++ ++ -- ME
|
||||||
++ ++ ++ MB -- ME __ ME --
|
++ ++ ++ MB -- ME __ ME --
|
||||||
SP -- -- Me -- ME ++ ME --
|
SP -- -- Me -- ME ++ ME --
|
||||||
SP -- -- -- ++ -- ME -- MB
|
SP -- -- -- ++ -- ME -- MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
90 90 90 90 90 90 90 90 90
|
90 90 90 90 90 90 90 90 90
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([C2, D6, F6, G7])
|
road_main = RoadGrids([C2, D6, F6, G7])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
DETECTION_BACKEND = 'homography'
|
DETECTION_BACKEND = 'homography'
|
||||||
HOMO_STORAGE = ((5, 4), [(133.207, 81.356), (696.903, 81.356), (44.566, 406.051), (705.278, 406.051)])
|
HOMO_STORAGE = ((5, 4), [(133.207, 81.356), (696.903, 81.356), (44.566, 406.051), (705.278, 406.051)])
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,92 +1,92 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('11-4')
|
MAP = CampaignMap('11-4')
|
||||||
MAP.shape = 'J8'
|
MAP.shape = 'J8'
|
||||||
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
|
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'G2']
|
MAP.camera_data_spawn_point = ['D2', 'G2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB MB ++ -- -- -- ++ MB -- --
|
MB MB ++ -- -- -- ++ MB -- --
|
||||||
-- -- ++ ME -- Me ++ -- -- ME
|
-- -- ++ ME -- Me ++ -- -- ME
|
||||||
ME __ ME -- ++ -- __ -- ME --
|
ME __ ME -- ++ -- __ -- ME --
|
||||||
-- ++ -- -- SP SP -- Me -- --
|
-- ++ -- -- SP SP -- Me -- --
|
||||||
MB -- ME -- -- -- -- ++ ++ ++
|
MB -- ME -- -- -- -- ++ ++ ++
|
||||||
++ ++ ++ -- Me -- Me __ -- ME
|
++ ++ ++ -- Me -- Me __ -- ME
|
||||||
-- -- ME __ -- ++ -- ++ ME --
|
-- -- ME __ -- ++ -- ++ ME --
|
||||||
MB -- -- ME -- ++ -- ME -- MB
|
MB -- -- ME -- ++ -- ME -- MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 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 10 10 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
step_on = SelectedGrids([C3])
|
step_on = SelectedGrids([C3])
|
||||||
road_boss = RoadGrids([C3, H4, [C5, C7], G6, G8])
|
road_boss = RoadGrids([C3, H4, [C5, C7], G6, G8])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_step_on(step_on, roadblocks=[road_boss]):
|
if self.fleet_2_step_on(step_on, roadblocks=[road_boss]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_roadblocks([road_boss]):
|
if self.clear_roadblocks([road_boss]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_boss]):
|
if self.clear_potential_roadblocks([road_boss]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
return self.clear_roadblocks([road_boss])
|
return self.clear_roadblocks([road_boss])
|
||||||
|
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,87 +1,87 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap()
|
MAP = CampaignMap()
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D4', 'E4']
|
MAP.camera_data_spawn_point = ['D4', 'E4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
ME -- ME Me -- -- ++ ++
|
ME -- ME Me -- -- ++ ++
|
||||||
++ ME -- ++ ME ME ME ME
|
++ ME -- ++ ME ME ME ME
|
||||||
++ __ Me ++ ++ __ Me --
|
++ __ Me ++ ++ __ Me --
|
||||||
-- ME -- ME ME ME -- Me
|
-- ME -- ME ME ME -- Me
|
||||||
ME ++ ++ SP SP -- ++ MB
|
ME ++ ++ SP SP -- ++ MB
|
||||||
ME -- Me ME -- Me ++ MB
|
ME -- Me ME -- Me ++ MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([F4, H4])
|
road_main = RoadGrids([F4, H4])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (1.5, 10),
|
'width': (1.5, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
MAP_SWIPE_MULTIPLY = 1.493
|
MAP_SWIPE_MULTIPLY = 1.493
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.443
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.443
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from campaign.campaign_main.campaign_12_1 import Config
|
from campaign.campaign_main.campaign_12_1 import Config
|
||||||
|
|
||||||
MAP = CampaignMap()
|
MAP = CampaignMap()
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ MB ME ME ++ -- ME Me --
|
++ MB ME ME ++ -- ME Me --
|
||||||
++ -- Me -- Me -- Me -- ++
|
++ -- Me -- Me -- Me -- ++
|
||||||
MB ME ++ ME SP ME -- ME ++
|
MB ME ++ ME SP ME -- ME ++
|
||||||
MB __ ME -- SP ++ ++ __ Me
|
MB __ ME -- SP ++ ++ __ Me
|
||||||
++ -- -- Me ME -- ME -- ME
|
++ -- -- Me ME -- ME -- ME
|
||||||
-- ME ME ++ -- -- Me ME --
|
-- ME ME ++ -- -- Me ME --
|
||||||
ME -- Me -- ME ME -- ++ ++
|
ME -- Me -- ME ME -- ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([[C4, D5], B3])
|
road_main = RoadGrids([[C4, D5], B3])
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from campaign.campaign_main.campaign_12_1 import Config
|
from campaign.campaign_main.campaign_12_1 import Config
|
||||||
|
|
||||||
MAP = CampaignMap()
|
MAP = CampaignMap()
|
||||||
MAP.shape = 'J7'
|
MAP.shape = 'J7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
||||||
MAP.camera_data_spawn_point = ['G5', 'D5']
|
MAP.camera_data_spawn_point = ['G5', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB ++ ++ ++ ME MB -- Me -- ME
|
MB ++ ++ ++ ME MB -- Me -- ME
|
||||||
MB -- ME -- -- ME -- -- ++ MB
|
MB -- ME -- -- ME -- -- ++ MB
|
||||||
-- ME __ ++ Me -- ME ++ ++ --
|
-- ME __ ++ Me -- ME ++ ++ --
|
||||||
MB -- ME -- -- ME -- __ Me ME
|
MB -- ME -- -- ME -- __ Me ME
|
||||||
-- ME -- ME Me -- Me -- ME ++
|
-- ME -- ME Me -- Me -- ME ++
|
||||||
++ -- ME Me -- ++ Me -- -- ++
|
++ -- ME Me -- ++ Me -- -- ++
|
||||||
++ ME -- ME SP SP -- ME -- ME
|
++ ME -- ME SP SP -- ME -- ME
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([H1, J1])
|
road_main = RoadGrids([H1, J1])
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,78 +1,78 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('13-1')
|
MAP = CampaignMap('13-1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
ME -- ME Me ++ ++ ME MB
|
ME -- ME Me ++ ++ ME MB
|
||||||
++ ME -- ME -- ++ ME --
|
++ ME -- ME -- ++ ME --
|
||||||
++ __ Me ME -- -- Me --
|
++ __ Me ME -- -- Me --
|
||||||
ME ME ++ ME ME -- __ --
|
ME ME ++ ME ME -- __ --
|
||||||
ME -- SP SP -- -- ++ --
|
ME -- SP SP -- -- ++ --
|
||||||
ME -- Me ME Me Me ++ MB
|
ME -- Me ME Me Me ++ MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (1.5, 10),
|
'width': (1.5, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
MAP_SWIPE_MULTIPLY = 1.519
|
MAP_SWIPE_MULTIPLY = 1.519
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .campaign_13_1 import Config as ConfigBase
|
from .campaign_13_1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('13-2')
|
MAP = CampaignMap('13-2')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ Me ME ME ++ Me ME Me --
|
++ Me ME ME ++ Me ME Me --
|
||||||
++ -- -- -- -- -- ++ ++ ++
|
++ -- -- -- -- -- ++ ++ ++
|
||||||
MB -- SP ++ ++ -- ME ME ME
|
MB -- SP ++ ++ -- ME ME ME
|
||||||
MB -- SP -- ++ -- -- __ Me
|
MB -- SP -- ++ -- -- __ Me
|
||||||
ME __ -- -- ME -- ME -- --
|
ME __ -- -- ME -- ME -- --
|
||||||
ME ME ME ++ ME -- Me ME MB
|
ME ME ME ++ ME -- Me ME MB
|
||||||
ME -- Me Me ME ME Me ++ ++
|
ME -- Me Me ME ME Me ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,72 +1,72 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .campaign_13_1 import Config as ConfigBase
|
from .campaign_13_1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('13-3')
|
MAP = CampaignMap('13-3')
|
||||||
MAP.shape = 'J7'
|
MAP.shape = 'J7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
||||||
MAP.camera_data_spawn_point = ['G5', 'D5']
|
MAP.camera_data_spawn_point = ['G5', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ ME ME MB -- Me ++ --
|
++ ++ ++ ME ME MB -- Me ++ --
|
||||||
MB Me ME ME -- ME -- -- ++ MB
|
MB Me ME ME -- ME -- -- ++ MB
|
||||||
MB -- -- -- Me ++ ME __ -- --
|
MB -- -- -- Me ++ ME __ -- --
|
||||||
MB __ -- ++ ++ ME -- -- Me ME
|
MB __ -- ++ ++ ME -- -- Me ME
|
||||||
ME ME -- ++ ++ -- Me -- ME ++
|
ME ME -- ++ ++ -- Me -- ME ++
|
||||||
++ -- ME Me SP SP Me -- -- ME
|
++ -- ME Me SP SP Me -- -- ME
|
||||||
++ ME -- ME -- -- -- ME -- ME
|
++ ME -- ME -- -- -- ME -- ME
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 3},
|
{'battle': 1, 'enemy': 3},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=1):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,91 +1,91 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from .campaign_13_1 import Config as ConfigBase
|
from .campaign_13_1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('13-4')
|
MAP = CampaignMap('13-4')
|
||||||
MAP.shape = 'K8'
|
MAP.shape = 'K8'
|
||||||
MAP.camera_data = ['D2', 'D4', 'D6', 'H2', 'H4', 'H6']
|
MAP.camera_data = ['D2', 'D4', 'D6', 'H2', 'H4', 'H6']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D6']
|
MAP.camera_data_spawn_point = ['D2', 'D6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB ME ME -- ME ++ ++ ++ MB MB ++
|
MB ME ME -- ME ++ ++ ++ MB MB ++
|
||||||
MB __ ME ME ME -- __ MA -- Me ++
|
MB __ ME ME ME -- __ MA -- Me ++
|
||||||
ME -- -- Me Me -- Me Me -- Me ME
|
ME -- -- Me Me -- Me Me -- Me ME
|
||||||
++ SP -- ME ++ Me -- -- -- -- ME
|
++ SP -- ME ++ Me -- -- -- -- ME
|
||||||
++ SP ME -- ME -- -- ME ++ ++ --
|
++ SP ME -- ME -- -- ME ++ ++ --
|
||||||
++ -- -- -- Me -- ME Me ++ ++ ME
|
++ -- -- -- Me -- ME Me ++ ++ ME
|
||||||
ME ME Me -- -- -- Me -- -- ME --
|
ME ME Me -- -- -- Me -- -- ME --
|
||||||
-- ME Me ME -- -- ++ ++ -- ME --
|
-- ME Me ME -- -- ++ ++ -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 90 90 90 50 50 50 50 50 50
|
50 50 90 90 90 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
90 50 50 50 50 50 50 50 50 90 50
|
90 50 50 50 50 50 50 50 50 90 50
|
||||||
90 90 50 50 50 50 50 50 50 90 50
|
90 90 50 50 50 50 50 50 50 90 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 3},
|
{'battle': 1, 'enemy': 3},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 2},
|
{'battle': 3, 'enemy': 2},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6},
|
{'battle': 6},
|
||||||
{'battle': 7, 'boss': 1},
|
{'battle': 7, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# step_on = SelectedGrids([A7, B1, B7, C7, D2, D3, G7, J2, K4, K6])
|
# step_on = SelectedGrids([A7, B1, B7, C7, D2, D3, G7, J2, K4, K6])
|
||||||
# road_main = RoadGrids([A7, B1, B7, C7, D2, D3, [G7, J2], K4, K6])
|
# road_main = RoadGrids([A7, B1, B7, C7, D2, D3, [G7, J2], K4, K6])
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
self.pick_up_ammo()
|
self.pick_up_ammo()
|
||||||
|
|
||||||
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
if self.clear_filter_enemy('2L > 2M > 3L > 2E > 3E > 2C > 3C > 3M', preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_7(self):
|
def battle_7(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,53 +1,53 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from campaign.campaign_main.campaign_2_1 import Config
|
from campaign.campaign_main.campaign_2_1 import Config
|
||||||
|
|
||||||
MAP = CampaignMap()
|
MAP = CampaignMap()
|
||||||
MAP.shape = 'F5'
|
MAP.shape = 'F5'
|
||||||
MAP.camera_data = ['D3']
|
MAP.camera_data = ['D3']
|
||||||
MAP.camera_data_spawn_point = ['D1', 'D3']
|
MAP.camera_data_spawn_point = ['D1', 'D3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
SP -- ME -- MB ++
|
SP -- ME -- MB ++
|
||||||
-- ME -- ME ++ ++
|
-- ME -- ME ++ ++
|
||||||
-- -- ME -- -- ++
|
-- -- ME -- -- ++
|
||||||
SP -- -- ME ME --
|
SP -- -- ME ME --
|
||||||
++ ++ ++ -- ME MM
|
++ ++ ++ -- ME MM
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
10 10 11 10 10 10
|
10 10 11 10 10 10
|
||||||
50 50 10 12 10 10
|
50 50 10 12 10 10
|
||||||
20 20 20 20 20 20
|
20 20 20 20 20 20
|
||||||
20 20 20 20 30 30
|
20 20 20 20 30 30
|
||||||
30 30 30 30 30 30
|
30 30 30 30 30 30
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'mystery': 1},
|
{'battle': 0, 'enemy': 2, 'mystery': 1},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 2, 'boss': 1},
|
{'battle': 3, 'enemy': 2, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, \
|
A1, B1, C1, D1, E1, F1, \
|
||||||
A2, B2, C2, D2, E2, F2, \
|
A2, B2, C2, D2, E2, F2, \
|
||||||
A3, B3, C3, D3, E3, F3, \
|
A3, B3, C3, D3, E3, F3, \
|
||||||
A4, B4, C4, D4, E4, F4, \
|
A4, B4, C4, D4, E4, F4, \
|
||||||
A5, B5, C5, D5, E5, F5, \
|
A5, B5, C5, D5, E5, F5, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.clear_all_mystery()
|
self.clear_all_mystery()
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
self.clear_all_mystery()
|
self.clear_all_mystery()
|
||||||
|
|
||||||
if not self.check_accessibility(E1, fleet='boss'):
|
if not self.check_accessibility(E1, fleet='boss'):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,53 +1,53 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from campaign.campaign_main.campaign_2_1 import Config as ConfigBase
|
from campaign.campaign_main.campaign_2_1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap()
|
MAP = CampaignMap()
|
||||||
MAP.shape = 'G4'
|
MAP.shape = 'G4'
|
||||||
MAP.camera_data = ['D2']
|
MAP.camera_data = ['D2']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ ++ ++ ME ME MB
|
-- ++ ++ ++ ME ME MB
|
||||||
SP -- ME -- -- ME --
|
SP -- ME -- -- ME --
|
||||||
-- -- ME -- ME ++ ++
|
-- -- ME -- ME ++ ++
|
||||||
-- ME -- SP -- MA ++
|
-- ME -- SP -- MA ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
20 20 20 20 12 11 10
|
20 20 20 20 12 11 10
|
||||||
20 20 20 20 10 10 10
|
20 20 20 20 10 10 10
|
||||||
20 20 20 20 30 20 20
|
20 20 20 20 30 20 20
|
||||||
20 20 20 20 20 20 20
|
20 20 20 20 20 20 20
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 2, 'boss': 1},
|
{'battle': 3, 'enemy': 2, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, \
|
A1, B1, C1, D1, E1, F1, G1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, \
|
A2, B2, C2, D2, E2, F2, G2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, \
|
A3, B3, C3, D3, E3, F3, G3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, \
|
A4, B4, C4, D4, E4, F4, G4, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# Don't know why 2-4 is slimmer
|
# Don't know why 2-4 is slimmer
|
||||||
# 2-1 is /_\ and 2-4 is like |_|
|
# 2-1 is /_\ and 2-4 is like |_|
|
||||||
MID_DIFF_RANGE_H = (121 - 3, 121 + 3)
|
MID_DIFF_RANGE_H = (121 - 3, 121 + 3)
|
||||||
MID_DIFF_RANGE_V = (121 - 3, 121 + 3)
|
MID_DIFF_RANGE_V = (121 - 3, 121 + 3)
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
if not self.check_accessibility(G1, fleet='boss'):
|
if not self.check_accessibility(G1, fleet='boss'):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from campaign.campaign_main.campaign_3_1 import Config as Config31
|
from campaign.campaign_main.campaign_3_1 import Config as Config31
|
||||||
|
|
||||||
MAP = CampaignMap()
|
MAP = CampaignMap()
|
||||||
MAP.shape = 'H4'
|
MAP.shape = 'H4'
|
||||||
MAP.camera_data = ['E2']
|
MAP.camera_data = ['E2']
|
||||||
MAP.camera_data_spawn_point = ['D1', 'D2']
|
MAP.camera_data_spawn_point = ['D1', 'D2']
|
||||||
# WIKI的图是错的: https://wiki.biligame.com/blhx/3-4
|
# WIKI的图是错的: https://wiki.biligame.com/blhx/3-4
|
||||||
# A3有岛, 假图害人
|
# A3有岛, 假图害人
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
SP -- -- ME -- ++ ++ ++
|
SP -- -- ME -- ++ ++ ++
|
||||||
SP ME -- ME -- MA ++ ++
|
SP ME -- ME -- MA ++ ++
|
||||||
++ -- ME __ ME ME -- MB
|
++ -- ME __ ME ME -- MB
|
||||||
SP ME -- ME -- -- ME MB
|
SP ME -- ME -- -- ME MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
40 40 40 40 40 40 40 40
|
40 40 40 40 40 40 40 40
|
||||||
40 40 40 30 30 30 30 30
|
40 40 40 30 30 30 30 30
|
||||||
40 40 30 30 20 10 10 09
|
40 40 30 30 20 10 10 09
|
||||||
40 40 30 20 20 10 10 09
|
40 40 30 20 20 10 10 09
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(Config31):
|
class Config(Config31):
|
||||||
MAP_MYSTERY_HAS_CARRIER = False
|
MAP_MYSTERY_HAS_CARRIER = False
|
||||||
|
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 75),
|
'height': (120, 255 - 75),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 40, 255),
|
'height': (255 - 40, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.fleet_2_rescue(H3):
|
if self.fleet_2_rescue(H3):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
if not self.check_accessibility(H3, fleet='boss'):
|
if not self.check_accessibility(H3, fleet='boss'):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|
||||||
# def handle_boss_appear_refocus(self):
|
# def handle_boss_appear_refocus(self):
|
||||||
# for data in self.map.spawn_data:
|
# for data in self.map.spawn_data:
|
||||||
# if data.get('battle') == self.battle_count and data.get('boss', 0):
|
# if data.get('battle') == self.battle_count and data.get('boss', 0):
|
||||||
# self.map_swipe((-3, -1))
|
# self.map_swipe((-3, -1))
|
||||||
#
|
#
|
||||||
# return super().handle_boss_appear_refocus()
|
# return super().handle_boss_appear_refocus()
|
||||||
|
|||||||
@@ -1,63 +1,63 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('8-1')
|
MAP = CampaignMap('8-1')
|
||||||
MAP.shape = 'I3'
|
MAP.shape = 'I3'
|
||||||
MAP.camera_data = ['D1', 'F1']
|
MAP.camera_data = ['D1', 'F1']
|
||||||
MAP.camera_data_spawn_point = ['D1', 'F1']
|
MAP.camera_data_spawn_point = ['D1', 'F1']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
SP -- ++ ++ ME -- ME MB ++
|
SP -- ++ ++ ME -- ME MB ++
|
||||||
SP -- ++ ++ ME -- ME -- ME
|
SP -- ++ ++ ME -- ME -- ME
|
||||||
-- ME ME -- ME ++ ME ME MB
|
-- ME ME -- ME ++ ME ME MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 21 30 50
|
50 50 50 50 50 50 21 30 50
|
||||||
50 50 50 50 25 24 20 12 11
|
50 50 50 50 25 24 20 12 11
|
||||||
50 45 40 31 30 50 22 10 20
|
50 45 40 31 30 50 22 10 20
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
MAP_SWIPE_MULTIPLY = 1.722
|
MAP_SWIPE_MULTIPLY = 1.722
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.brute_clear_boss()
|
return self.brute_clear_boss()
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .campaign_8_1 import Config as ConfigBase
|
from .campaign_8_1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('8-3')
|
MAP = CampaignMap('8-3')
|
||||||
MAP.shape = 'H5'
|
MAP.shape = 'H5'
|
||||||
MAP.camera_data = ['D2', 'D3', 'E3']
|
MAP.camera_data = ['D2', 'D3', 'E3']
|
||||||
MAP.camera_data_spawn_point = ['E3']
|
MAP.camera_data_spawn_point = ['E3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB ME -- ++ ++ ME -- MB
|
MB ME -- ++ ++ ME -- MB
|
||||||
ME ME ME -- ++ ME ME --
|
ME ME ME -- ++ ME ME --
|
||||||
-- ME -- ME ME -- ME ME
|
-- ME -- ME ME -- ME ME
|
||||||
ME ++ ++ -- ME ++ ++ ME
|
ME ++ ++ -- ME ++ ++ ME
|
||||||
MM ++ ++ ME ME SP -- SP
|
MM ++ ++ ME ME SP -- SP
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 35 20 90 90 40 50 50
|
50 35 20 90 90 40 50 50
|
||||||
30 40 25 90 90 25 30 50
|
30 40 25 90 90 25 30 50
|
||||||
20 20 20 10 10 20 20 35
|
20 20 20 10 10 20 20 35
|
||||||
50 90 90 60 60 90 90 90
|
50 90 90 60 60 90 90 90
|
||||||
90 90 90 70 80 90 90 90
|
90 90 90 70 80 90 90 90
|
||||||
|
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2, 'mystery': 1},
|
{'battle': 1, 'enemy': 2, 'mystery': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_A1 = RoadGrids([[A2, B1], [B1, B2, B3], [A2, B2, C2], [B3, C2], D3])
|
road_A1 = RoadGrids([[A2, B1], [B1, B2, B3], [A2, B2, C2], [B3, C2], D3])
|
||||||
road_H1 = RoadGrids([[F1, G2, H3], [F1, G2, G3], [F2, G2, H3], [F2, G3], E3])
|
road_H1 = RoadGrids([[F1, G2, H3], [F1, G2, G3], [F2, G2, H3], [F2, G3], E3])
|
||||||
road_MY = RoadGrids([A4, [A2, B3]])
|
road_MY = RoadGrids([A4, [A2, B3]])
|
||||||
road_middle = RoadGrids([E5, [D5, E4], D3]) \
|
road_middle = RoadGrids([E5, [D5, E4], D3]) \
|
||||||
.combine(RoadGrids([H4, H3, [F1, G2, G3], [F2, G3], E3]))
|
.combine(RoadGrids([H4, H3, [F1, G2, G3], [F2, G3], E3]))
|
||||||
step_on = SelectedGrids([D3, E3])
|
step_on = SelectedGrids([D3, E3])
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
|
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
self.clear_all_mystery()
|
self.clear_all_mystery()
|
||||||
|
|
||||||
if self.clear_roadblocks([road_A1, road_H1]):
|
if self.clear_roadblocks([road_A1, road_H1]):
|
||||||
return True
|
return True
|
||||||
if self.mystery_count < 1 and self.clear_roadblocks([road_MY]):
|
if self.mystery_count < 1 and self.clear_roadblocks([road_MY]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_A1, road_H1]):
|
if self.clear_potential_roadblocks([road_A1, road_H1]):
|
||||||
return True
|
return True
|
||||||
if self.clear_first_roadblocks([road_A1, road_H1]):
|
if self.clear_first_roadblocks([road_A1, road_H1]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.brute_clear_boss()
|
return self.brute_clear_boss()
|
||||||
|
|||||||
@@ -1,79 +1,79 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .campaign_8_1 import Config as ConfigBase
|
from .campaign_8_1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('8-3')
|
MAP = CampaignMap('8-3')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D3', 'D4', 'E3', 'E4']
|
MAP.camera_data = ['D3', 'D4', 'E3', 'E4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB -- ME ME ME ME -- MB
|
MB -- ME ME ME ME -- MB
|
||||||
-- ME MM ++ ++ __ ME --
|
-- ME MM ++ ++ __ ME --
|
||||||
ME ++ ++ SP -- ME -- ME
|
ME ++ ++ SP -- ME -- ME
|
||||||
ME MA ++ -- SP ++ ME ME
|
ME MA ++ -- SP ++ ME ME
|
||||||
MM ME __ ME ++ ++ ME --
|
MM ME __ ME ++ ++ ME --
|
||||||
MB -- ME ME ME ME -- MB
|
MB -- ME ME ME ME -- MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 40 90 90 30 50 50
|
50 50 40 90 90 30 50 50
|
||||||
50 50 50 90 90 20 40 50
|
50 50 50 90 90 20 40 50
|
||||||
40 90 90 10 10 10 20 20
|
40 90 90 10 10 10 20 20
|
||||||
30 90 90 10 10 90 40 30
|
30 90 90 10 10 90 40 30
|
||||||
20 20 20 10 90 90 40 50
|
20 20 20 10 90 90 40 50
|
||||||
50 30 30 80 80 80 50 50
|
50 30 30 80 80 80 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2, 'mystery': 1},
|
{'battle': 1, 'enemy': 2, 'mystery': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'mystery': 1},
|
{'battle': 2, 'enemy': 2, 'mystery': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_middle = RoadGrids([D5, F3])
|
road_middle = RoadGrids([D5, F3])
|
||||||
step_on = SelectedGrids([D5, F3])
|
step_on = SelectedGrids([D5, F3])
|
||||||
# There's one enemy spawn along with boss, so have to make sure there are multiple roads are cleared.
|
# There's one enemy spawn along with boss, so have to make sure there are multiple roads are cleared.
|
||||||
# Here use separate roads instead of RoadGrids.combine().
|
# Here use separate roads instead of RoadGrids.combine().
|
||||||
road_H1 = RoadGrids([F3, [F1, G2, H3]])
|
road_H1 = RoadGrids([F3, [F1, G2, H3]])
|
||||||
road_A6 = RoadGrids([D5, [B5, C6]])
|
road_A6 = RoadGrids([D5, [B5, C6]])
|
||||||
road_A1_left = RoadGrids([A4, A3])
|
road_A1_left = RoadGrids([A4, A3])
|
||||||
road_A1_upper = RoadGrids([F1, E1, D1, C1])
|
road_A1_upper = RoadGrids([F1, E1, D1, C1])
|
||||||
road_H6_bottom = RoadGrids([D6, E6, F6])
|
road_H6_bottom = RoadGrids([D6, E6, F6])
|
||||||
road_H6_right = RoadGrids([[H3, G4], [G4, H4], [H4, G5]])
|
road_H6_right = RoadGrids([[H3, G4], [G4, H4], [H4, G5]])
|
||||||
road_MY = RoadGrids([[B2, C1]])
|
road_MY = RoadGrids([[B2, C1]])
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
|
if self.fleet_2_step_on(step_on, roadblocks=[road_middle]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
self.clear_all_mystery()
|
self.clear_all_mystery()
|
||||||
|
|
||||||
if self.clear_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
|
if self.clear_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
|
if self.clear_potential_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
|
||||||
return True
|
return True
|
||||||
if self.clear_roadblocks([road_MY]):
|
if self.clear_roadblocks([road_MY]):
|
||||||
return True
|
return True
|
||||||
if self.clear_first_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
|
if self.clear_first_roadblocks([road_A6, road_H1, road_A1_left, road_A1_upper, road_H6_bottom, road_H6_right]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.brute_clear_boss()
|
return self.brute_clear_boss()
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('9-2')
|
MAP = CampaignMap('9-2')
|
||||||
MAP.shape = 'H5'
|
MAP.shape = 'H5'
|
||||||
MAP.camera_data = ['E3']
|
MAP.camera_data = ['E3']
|
||||||
MAP.camera_data_spawn_point = ['D1', 'D3']
|
MAP.camera_data_spawn_point = ['D1', 'D3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
SP -- ++ ++ ++ Me -- MB
|
SP -- ++ ++ ++ Me -- MB
|
||||||
++ -- ++ ++ ++ ME ++ ++
|
++ -- ++ ++ ++ ME ++ ++
|
||||||
-- ME -- ME ME Me ++ ++
|
-- ME -- ME ME Me ++ ++
|
||||||
-- -- ++ -- ME ++ ME MB
|
-- -- ++ -- ME ++ ME MB
|
||||||
SP SP ++ ME -- Me ME ME
|
SP SP ++ ME -- Me ME ME
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
90 90 90 90 90 30 30 30
|
90 90 90 90 90 30 30 30
|
||||||
90 90 90 90 90 30 90 90
|
90 90 90 90 90 30 90 90
|
||||||
90 80 70 60 50 30 90 90
|
90 80 70 60 50 30 90 90
|
||||||
90 90 90 90 50 90 30 30
|
90 90 90 90 50 90 30 30
|
||||||
90 90 90 90 40 40 30 30
|
90 90 90 90 40 40 30 30
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
# Might have wrong prediction on D5
|
# Might have wrong prediction on D5
|
||||||
MAP.ignore_prediction(D5, enemy_scale=1, enemy_genre='Enemy')
|
MAP.ignore_prediction(D5, enemy_scale=1, enemy_genre='Enemy')
|
||||||
road_main = RoadGrids([B3, D3, [D5, E4], F5, G5, [G4, H5], H4, E3, F3, F2, F1])
|
road_main = RoadGrids([B3, D3, [D5, E4], F5, G5, [G4, H5], H4, E3, F3, F2, F1])
|
||||||
step_on = SelectedGrids([F3, E4])
|
step_on = SelectedGrids([F3, E4])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
SUBMARINE = 0
|
SUBMARINE = 0
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_step_on(step_on, roadblocks=[road_main]):
|
if self.fleet_2_step_on(step_on, roadblocks=[road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,82 +1,82 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('9-4')
|
MAP = CampaignMap('9-4')
|
||||||
MAP.shape = 'I6'
|
MAP.shape = 'I6'
|
||||||
MAP.camera_data = ['D3', 'F3', 'F4']
|
MAP.camera_data = ['D3', 'F3', 'F4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB -- ME -- ++ ++ ++ -- MB
|
MB -- ME -- ++ ++ ++ -- MB
|
||||||
-- ++ __ ME -- ME Me ME --
|
-- ++ __ ME -- ME Me ME --
|
||||||
Me -- ME -- ME -- __ ++ --
|
Me -- ME -- ME -- __ ++ --
|
||||||
ME -- ++ ++ -- -- Me __ ME
|
ME -- ++ ++ -- -- Me __ ME
|
||||||
SP -- MA ++ ME -- ++ ME --
|
SP -- MA ++ ME -- ++ ME --
|
||||||
SP -- -- ME -- ME ++ -- MB
|
SP -- -- ME -- ME ++ -- MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
10 10 20 10 10 10 10 10 10
|
10 10 20 10 10 10 10 10 10
|
||||||
10 10 10 20 10 10 10 10 10
|
10 10 10 20 10 10 10 10 10
|
||||||
10 10 20 10 20 10 10 10 10
|
10 10 20 10 20 10 10 10 10
|
||||||
20 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 10 10 10 10
|
10 10 10 10 10 10 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
road_main = RoadGrids([A3, D6, [E5, F6], G4, I4])
|
road_main = RoadGrids([A3, D6, [E5, F6], G4, I4])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
if self.clear_potential_roadblocks([road_main]):
|
if self.clear_potential_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
boss = self.map.select(is_boss=True)
|
boss = self.map.select(is_boss=True)
|
||||||
if boss:
|
if boss:
|
||||||
if not self.check_accessibility(boss[0], fleet='boss'):
|
if not self.check_accessibility(boss[0], fleet='boss'):
|
||||||
if self.clear_roadblocks([road_main]):
|
if self.clear_roadblocks([road_main]):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.fleet_2.clear_boss()
|
return self.fleet_2.clear_boss()
|
||||||
|
|||||||
@@ -1,71 +1,71 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'I6'
|
MAP.shape = 'I6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
||||||
MAP.camera_data_spawn_point = ['D4', 'F4']
|
MAP.camera_data_spawn_point = ['D4', 'F4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ME ME ME MB -- ++ --
|
-- -- ME ME ME MB -- ++ --
|
||||||
ME ++ ++ MB ME ME Me -- ME
|
ME ++ ++ MB ME ME Me -- ME
|
||||||
MB ME __ Me __ ME ME ME --
|
MB ME __ Me __ ME ME ME --
|
||||||
-- Me ME ++ ME Me Me ++ ME
|
-- Me ME ++ ME Me Me ++ ME
|
||||||
++ ME ME Me ME ME ++ ++ --
|
++ ME ME Me ME ME ++ ++ --
|
||||||
++ ++ ++ -- SP SP ME -- ME
|
++ ++ ++ -- SP SP ME -- ME
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'carrier', 'enemy', 'treasure', 'main']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'carrier', 'enemy', 'treasure', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'H5'
|
MAP.shape = 'H5'
|
||||||
MAP.camera_data = ['D3', 'E3']
|
MAP.camera_data = ['D3', 'E3']
|
||||||
MAP.camera_data_spawn_point = ['D3']
|
MAP.camera_data_spawn_point = ['D3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ ++ -- Me -- --
|
-- -- ++ ++ -- Me -- --
|
||||||
++ Me ME ME ME MB ++ --
|
++ Me ME ME ME MB ++ --
|
||||||
-- ME SP SP __ Me ++ ME
|
-- ME SP SP __ Me ++ ME
|
||||||
ME ++ ME ME ME Me ME ME
|
ME ++ ME ME ME Me ME ME
|
||||||
-- ME Me ME ++ ME ME ++
|
-- ME Me ME ++ ME ME ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 20 50 50
|
50 50 50 50 50 20 50 50
|
||||||
50 50 30 20 10 10 50 50
|
50 50 30 20 10 10 50 50
|
||||||
50 50 50 30 20 20 50 50
|
50 50 50 30 20 20 50 50
|
||||||
50 50 30 30 30 30 50 50
|
50 50 30 30 30 30 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2},
|
{'battle': 0, 'enemy': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (1.5, 10),
|
'width': (1.5, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D2', 'D3', 'E5']
|
MAP.camera_data = ['D2', 'D3', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['E5']
|
MAP.camera_data_spawn_point = ['E5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
ME -- ME -- ++ Me ME --
|
ME -- ME -- ++ Me ME --
|
||||||
-- Me ME MB MB ME ME --
|
-- Me ME MB MB ME ME --
|
||||||
ME ++ __ ME ME __ ME ME
|
ME ++ __ ME ME __ ME ME
|
||||||
ME ME ME Me ME ME ME ++
|
ME ME ME Me ME ME ME ++
|
||||||
-- ME ME SP SP ME ME ME
|
-- ME ME SP SP ME ME ME
|
||||||
++ ME -- ME -- Me -- --
|
++ ME -- ME -- Me -- --
|
||||||
++ -- ++ -- ME -- ++ ME
|
++ -- ++ -- ME -- ++ ME
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 10 10 10 10 50 50
|
50 50 10 10 10 10 50 50
|
||||||
50 50 20 10 10 20 30 50
|
50 50 20 10 10 20 30 50
|
||||||
50 50 20 20 20 20 30 50
|
50 50 20 20 20 20 30 50
|
||||||
50 50 30 30 30 30 50 50
|
50 50 30 30 30 30 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (1.5, 10),
|
'width': (1.5, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
MAP_AMBUSH_OVERLAY_TRANSPARENCY_THRESHOLD = 0.3
|
MAP_AMBUSH_OVERLAY_TRANSPARENCY_THRESHOLD = 0.3
|
||||||
MAP_AIR_RAID_OVERLAY_TRANSPARENCY_THRESHOLD = 0.25
|
MAP_AIR_RAID_OVERLAY_TRANSPARENCY_THRESHOLD = 0.25
|
||||||
MAP_ENEMY_SEARCHING_OVERLAY_TRANSPARENCY_THRESHOLD = 0.65
|
MAP_ENEMY_SEARCHING_OVERLAY_TRANSPARENCY_THRESHOLD = 0.65
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,80 +1,80 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4']
|
MAP.camera_data = ['D2', 'D4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
ME ME ++ -- ME Me MB --
|
ME ME ++ -- ME Me MB --
|
||||||
-- -- ME MB MB ME ME MB
|
-- -- ME MB MB ME ME MB
|
||||||
ME ++ ME Me ME __ ME --
|
ME ++ ME Me ME __ ME --
|
||||||
-- ME __ ME Me ME ME ME
|
-- ME __ ME Me ME ME ME
|
||||||
-- ME ME SP SP ME ME --
|
-- ME ME SP SP ME ME --
|
||||||
++ ++ ME -- ME ME ++ --
|
++ ++ ME -- ME ME ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 20 20 10 50
|
50 50 50 50 20 20 10 50
|
||||||
50 50 50 10 10 10 10 10
|
50 50 50 10 10 10 10 10
|
||||||
50 50 50 30 20 20 20 20
|
50 50 50 30 20 20 20 20
|
||||||
50 50 20 50 30 30 30 30
|
50 50 20 50 30 30 30 30
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 2},
|
{'battle': 3, 'enemy': 2},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (1.5, 10),
|
'width': (1.5, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4']
|
MAP.camera_data = ['D2', 'D4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ME -- -- -- ME ++ ++
|
++ ME -- -- -- ME ++ ++
|
||||||
ME -- ME MB MB -- ME --
|
ME -- ME MB MB -- ME --
|
||||||
-- ++ ME ME ME ME -- ME
|
-- ++ ME ME ME ME -- ME
|
||||||
ME ME __ Me ME __ ME --
|
ME ME __ Me ME __ ME --
|
||||||
ME Me ME MB ME ME ++ ME
|
ME Me ME MB ME ME ++ ME
|
||||||
-- ++ Me SP SP ME ++ --
|
-- ++ Me SP SP ME ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 20 10 10 30 50 50
|
50 50 20 10 10 30 50 50
|
||||||
50 50 20 10 20 30 50 50
|
50 50 20 10 20 30 50 50
|
||||||
50 50 20 10 20 30 50 50
|
50 50 20 10 20 30 50 50
|
||||||
50 50 20 10 20 30 50 50
|
50 50 20 10 20 30 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 5},
|
{'battle': 0, 'enemy': 5},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,71 +1,71 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4']
|
MAP.camera_data = ['D2', 'D4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ME ME -- ++ ++ ++ MB
|
-- ME ME -- ++ ++ ++ MB
|
||||||
ME Me ME ME ME ME ME --
|
ME Me ME ME ME ME ME --
|
||||||
ME ME __ Me ++ __ ME ME
|
ME ME __ Me ++ __ ME ME
|
||||||
ME ++ SP ME ME SP ME --
|
ME ++ SP ME ME SP ME --
|
||||||
-- ME ME ME ME ME ++ ME
|
-- ME ME ME ME ME ++ ME
|
||||||
++ -- Me -- -- ME -- --
|
++ -- Me -- -- ME -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 09
|
50 50 50 50 50 50 50 09
|
||||||
50 50 50 14 13 12 11 10
|
50 50 50 14 13 12 11 10
|
||||||
50 50 50 15 50 13 12 11
|
50 50 50 15 50 13 12 11
|
||||||
50 50 50 14 13 13 12 50
|
50 50 50 14 13 13 12 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 3},
|
{'battle': 2, 'enemy': 3},
|
||||||
{'battle': 3, 'enemy': 2},
|
{'battle': 3, 'enemy': 2},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_push_forward():
|
if self.fleet_2_push_forward():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D3', 'D5']
|
MAP.camera_data = ['D3', 'D5']
|
||||||
MAP.camera_data_spawn_point = ['D3', 'D5']
|
MAP.camera_data_spawn_point = ['D3', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ME -- ME -- ME --
|
++ ++ ME -- ME -- ME --
|
||||||
++ ++ ME ME -- ++ -- ME
|
++ ++ ME ME -- ++ -- ME
|
||||||
-- Me ME ME SP -- ME ME
|
-- Me ME ME SP -- ME ME
|
||||||
MB Me __ Me ME ME -- ++
|
MB Me __ Me ME ME -- ++
|
||||||
-- ++ ME Me ME -- ME ++
|
-- ++ ME Me ME -- ME ++
|
||||||
ME ++ ME ME SP ME -- ME
|
ME ++ ME ME SP ME -- ME
|
||||||
-- ME ME -- ME -- ++ ME
|
-- ME ME -- ME -- ++ ME
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 13 50 50 50 50 50
|
50 50 13 50 50 50 50 50
|
||||||
50 11 12 13 50 50 50 50
|
50 11 12 13 50 50 50 50
|
||||||
10 11 12 12 13 50 50 50
|
10 11 12 12 13 50 50 50
|
||||||
50 50 12 13 50 50 50 50
|
50 50 12 13 50 50 50 50
|
||||||
50 50 13 50 50 50 50 50
|
50 50 13 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (120, 255 - 49),
|
'height': (120, 255 - 49),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 49, 255),
|
'height': (255 - 49, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
HOMO_EDGE_COLOR_RANGE = (0, 49)
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_push_forward():
|
if self.fleet_2_push_forward():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
if self.clear_enemy(scale=(2, 3), genre=['light', 'carrier', 'enemy', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,70 +1,70 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SOS')
|
MAP = CampaignMap('SOS')
|
||||||
MAP.shape = 'I6'
|
MAP.shape = 'I6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'F4']
|
MAP.camera_data_spawn_point = ['D2', 'F4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ ++ ++ -- MB ME -- ++
|
-- ++ ++ ++ -- MB ME -- ++
|
||||||
-- Me ++ ME -- ME Me ME ++
|
-- Me ++ ME -- ME Me ME ++
|
||||||
Me ME ME SP ME ++ __ ME --
|
Me ME ME SP ME ++ __ ME --
|
||||||
ME ME __ ME Me SP Me ME ME
|
ME ME __ ME Me SP Me ME ME
|
||||||
-- ME Me ++ ME -- ME ME --
|
-- ME Me ++ ME -- ME ME --
|
||||||
-- ++ ME MB -- -- ++ ++ ++
|
-- ++ ME MB -- -- ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 10 10 30 50 50
|
50 50 50 50 10 10 30 50 50
|
||||||
50 50 50 20 10 20 30 50 50
|
50 50 50 20 10 20 30 50 50
|
||||||
50 50 30 20 10 50 30 50 50
|
50 50 30 20 10 50 30 50 50
|
||||||
50 50 30 20 10 30 30 50 50
|
50 50 30 20 10 30 30 50 50
|
||||||
50 50 30 50 10 50 50 50 50
|
50 50 30 50 10 50 50 50 50
|
||||||
50 50 30 30 50 50 50 50 50
|
50 50 30 30 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'carrier', 'enemy', 'treasure', 'main']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'carrier', 'enemy', 'treasure', 'main']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
self.fleet_boss.clear_boss()
|
self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP1')
|
MAP = CampaignMap('SP1')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['H5']
|
MAP.camera_data_spawn_point = ['H5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ -- ME -- -- -- -- ++ --
|
++ ++ ++ -- ME -- -- -- -- ++ --
|
||||||
-- ME -- ++ -- ++ ++ ME -- ++ ME
|
-- ME -- ++ -- ++ ++ ME -- ++ ME
|
||||||
ME -- -- Me -- ME ++ -- Me ++ --
|
ME -- -- Me -- ME ++ -- Me ++ --
|
||||||
-- -- -- -- -- ++ ME -- -- -- SP
|
-- -- -- -- -- ++ ME -- -- -- SP
|
||||||
ME -- -- Me -- -- -- __ -- -- SP
|
ME -- -- Me -- -- -- __ -- -- SP
|
||||||
-- -- ME ++ -- MS -- Me -- -- --
|
-- -- ME ++ -- MS -- Me -- -- --
|
||||||
-- -- -- ++ MB -- MB ++ ++ ++ ++
|
-- -- -- ++ MB -- MB ++ ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 1},
|
{'battle': 0, 'enemy': 3, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z18']
|
MAP_SIREN_TEMPLATE = ['Z18']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.640
|
MAP_SWIPE_MULTIPLY = 1.640
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.586
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.586
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
|
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
|
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,74 +1,74 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP2')
|
MAP = CampaignMap('SP2')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'H2']
|
MAP.camera_data_spawn_point = ['D2', 'H2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ ++ SP -- SP ++ ++ ++ ++
|
-- -- ++ ++ SP -- SP ++ ++ ++ ++
|
||||||
-- ME ++ ++ -- -- -- -- -- ME ME
|
-- ME ++ ++ -- -- -- -- -- ME ME
|
||||||
ME -- -- MS -- -- -- ME -- -- MB
|
ME -- -- MS -- -- -- ME -- -- MB
|
||||||
++ -- -- -- Me -- Me ++ __ -- MB
|
++ -- -- -- Me -- Me ++ __ -- MB
|
||||||
-- -- ++ ++ ++ MS -- ++ -- -- ME
|
-- -- ++ ++ ++ MS -- ++ -- -- ME
|
||||||
-- ME -- ME ++ -- -- -- -- Me ++
|
-- ME -- ME ++ -- -- -- -- Me ++
|
||||||
-- -- -- -- Me -- ME -- ME -- ++
|
-- -- -- -- Me -- ME -- ME -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z2']
|
MAP_SIREN_TEMPLATE = ['Z2']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.735
|
MAP_SWIPE_MULTIPLY = 1.735
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.677
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.677
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
|
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
|
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,75 +1,75 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP3')
|
MAP = CampaignMap('SP3')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ MS ++ ME -- ME ++ ++ ++
|
++ ++ ++ MS ++ ME -- ME ++ ++ ++
|
||||||
SP -- -- -- -- -- MS -- ME Me --
|
SP -- -- -- -- -- MS -- ME Me --
|
||||||
SP -- -- -- -- Me -- __ -- -- ME
|
SP -- -- -- -- Me -- __ -- -- ME
|
||||||
++ ++ ++ MS -- ++ ++ -- Me ++ --
|
++ ++ ++ MS -- ++ ++ -- Me ++ --
|
||||||
MB MB ++ -- Me ++ ++ -- -- ++ ++
|
MB MB ++ -- Me ++ ++ -- -- ++ ++
|
||||||
-- -- -- -- -- -- -- -- -- ME --
|
-- -- -- -- -- -- -- -- -- ME --
|
||||||
ME ME -- Me -- ME ++ ME -- ME --
|
ME ME -- Me -- ME ++ ME -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2, 'siren': 1},
|
{'battle': 1, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z19']
|
MAP_SIREN_TEMPLATE = ['Z19']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.785
|
MAP_SWIPE_MULTIPLY = 1.785
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.726
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.726
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
|
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
|
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,64 +1,64 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('A1')
|
MAP = CampaignMap('A1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ME -- -- ME --
|
-- ++ -- ME -- -- ME --
|
||||||
Me ++ -- MB -- Me ++ --
|
Me ++ -- MB -- Me ++ --
|
||||||
-- -- __ ++ ++ -- -- ME
|
-- -- __ ++ ++ -- -- ME
|
||||||
-- Me -- ++ ++ -- -- ME
|
-- Me -- ++ ++ -- -- ME
|
||||||
SP -- ME ME -- MS -- --
|
SP -- ME ME -- MS -- --
|
||||||
SP SP -- -- -- ME MB --
|
SP SP -- -- -- ME MB --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
MAP_SIREN_TEMPLATE = ['Arethusa']
|
MAP_SIREN_TEMPLATE = ['Arethusa']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_SWIPE_MULTIPLY = 1.764
|
MAP_SWIPE_MULTIPLY = 1.764
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.fleet_1.clear_boss()
|
return self.fleet_1.clear_boss()
|
||||||
|
|||||||
@@ -1,64 +1,64 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .a1 import Config as ConfigBase
|
from .a1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('A2')
|
MAP = CampaignMap('A2')
|
||||||
MAP.shape = 'G7'
|
MAP.shape = 'G7'
|
||||||
MAP.camera_data = ['D3', 'D5']
|
MAP.camera_data = ['D3', 'D5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- -- -- -- MB
|
-- -- -- -- -- -- MB
|
||||||
ME -- -- ++ ++ ++ --
|
ME -- -- ++ ++ ++ --
|
||||||
-- ME __ -- ME Me --
|
-- ME __ -- ME Me --
|
||||||
ME -- -- ME -- -- --
|
ME -- -- ME -- -- --
|
||||||
++ ME -- -- -- Me --
|
++ ME -- -- -- Me --
|
||||||
-- -- -- MS -- ++ --
|
-- -- -- MS -- ++ --
|
||||||
SP SP -- ME -- ++ MB
|
SP SP -- ME -- ++ MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 10 10 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, \
|
A1, B1, C1, D1, E1, F1, G1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, \
|
A2, B2, C2, D2, E2, F2, G2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, \
|
A3, B3, C3, D3, E3, F3, G3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, \
|
A4, B4, C4, D4, E4, F4, G4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, \
|
A5, B5, C5, D5, E5, F5, G5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, \
|
A6, B6, C6, D6, E6, F6, G6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, \
|
A7, B7, C7, D7, E7, F7, G7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['Arethusa', 'Sheffield']
|
MAP_SIREN_TEMPLATE = ['Arethusa', 'Sheffield']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.fleet_1.clear_boss()
|
return self.fleet_1.clear_boss()
|
||||||
|
|||||||
@@ -1,64 +1,64 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .a1 import Config as ConfigBase
|
from .a1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('A3')
|
MAP = CampaignMap('A3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
SP SP -- MS -- -- Me -- --
|
SP SP -- MS -- -- Me -- --
|
||||||
SP -- -- -- ++ MS -- -- --
|
SP -- -- -- ++ MS -- -- --
|
||||||
-- ME -- ME ++ -- -- ME --
|
-- ME -- ME ++ -- -- ME --
|
||||||
-- -- -- __ -- Me -- -- MB
|
-- -- -- __ -- Me -- -- MB
|
||||||
ME -- ++ ++ -- -- ++ ++ ++
|
ME -- ++ ++ -- -- ++ ++ ++
|
||||||
-- -- ++ ++ -- ME -- -- --
|
-- -- ++ ++ -- ME -- -- --
|
||||||
-- ME -- -- MB -- -- -- --
|
-- ME -- -- MB -- -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['Arethusa', 'Sheffield', 'Dorsetshire']
|
MAP_SIREN_TEMPLATE = ['Arethusa', 'Sheffield', 'Dorsetshire']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.fleet_1.clear_boss()
|
return self.fleet_1.clear_boss()
|
||||||
|
|||||||
@@ -1,70 +1,70 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('B1')
|
MAP = CampaignMap('B1')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_covered = ['D1']
|
MAP.map_covered = ['D1']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB -- -- MS -- -- -- -- --
|
MB -- -- MS -- -- -- -- --
|
||||||
-- ME -- ++ ++ ME ++ ++ --
|
-- ME -- ++ ++ ME ++ ++ --
|
||||||
-- -- __ ++ ++ -- MB ++ --
|
-- -- __ ++ ++ -- MB ++ --
|
||||||
MS ME -- -- -- -- -- Me --
|
MS ME -- -- -- -- -- Me --
|
||||||
-- -- MS -- ME Me -- -- ME
|
-- -- MS -- ME Me -- -- ME
|
||||||
-- ++ -- -- -- -- ME ++ --
|
-- ++ -- -- -- -- ME ++ --
|
||||||
-- ++ SP SP -- ME -- ++ --
|
-- ++ SP SP -- ME -- ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
# Extract: {'battle': 4, 'enemy': 2, 'boss': 1},
|
# Extract: {'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
MAP_SIREN_TEMPLATE = ['CL']
|
MAP_SIREN_TEMPLATE = ['CL']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_SWIPE_MULTIPLY = 1.694
|
MAP_SWIPE_MULTIPLY = 1.694
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.fleet_1.clear_boss()
|
return self.fleet_1.clear_boss()
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .b1 import Config as ConfigBase
|
from .b1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('B2')
|
MAP = CampaignMap('B2')
|
||||||
MAP.shape = 'J7'
|
MAP.shape = 'J7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
||||||
MAP.camera_data_spawn_point = ['E2']
|
MAP.camera_data_spawn_point = ['E2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- -- SP SP -- -- -- --
|
-- ++ -- -- SP SP -- -- -- --
|
||||||
MS ++ -- MB -- -- -- ME -- --
|
MS ++ -- MB -- -- -- ME -- --
|
||||||
-- -- -- ++ ++ ++ -- -- ME --
|
-- -- -- ++ ++ ++ -- -- ME --
|
||||||
ME -- -- -- -- -- Me -- -- ME
|
ME -- -- -- -- -- Me -- -- ME
|
||||||
-- -- -- MS Me __ -- ME ME --
|
-- -- -- MS Me __ -- ME ME --
|
||||||
-- ME ME -- ++ Me -- -- -- ++
|
-- ME ME -- ++ Me -- -- -- ++
|
||||||
-- -- -- MB ++ -- -- Me -- --
|
-- -- -- MB ++ -- -- Me -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10 10 10 10 10
|
10 10 10 10 10 10 10 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .b1 import Config as ConfigBase
|
from .b1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('B3')
|
MAP = CampaignMap('B3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F3', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F3', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MS -- -- ++ ++ -- -- -- --
|
MS -- -- ++ ++ -- -- -- --
|
||||||
-- Me ME MS ++ -- ME -- --
|
-- Me ME MS ++ -- ME -- --
|
||||||
SP -- -- -- -- ME ++ ++ ++
|
SP -- -- -- -- ME ++ ++ ++
|
||||||
-- Me -- ++ -- -- -- -- MB
|
-- Me -- ++ -- -- -- -- MB
|
||||||
SP -- ME __ -- ME ++ ++ ++
|
SP -- ME __ -- ME ++ ++ ++
|
||||||
Me -- ++ Me ME -- -- -- --
|
Me -- ++ Me ME -- -- -- --
|
||||||
-- Me ++ -- ME MS ME -- --
|
-- Me ++ -- ME MS ME -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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
|
||||||
05 04 10 10 10 10 10 10 10
|
05 04 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 = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,64 +1,64 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('C1')
|
MAP = CampaignMap('C1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ME -- -- ME --
|
-- ++ -- ME -- -- ME --
|
||||||
Me ++ -- MB -- Me ++ --
|
Me ++ -- MB -- Me ++ --
|
||||||
-- -- __ ++ ++ -- -- ME
|
-- -- __ ++ ++ -- -- ME
|
||||||
-- Me -- ++ ++ -- -- ME
|
-- Me -- ++ ++ -- -- ME
|
||||||
SP -- ME ME -- MS -- --
|
SP -- ME ME -- MS -- --
|
||||||
SP SP -- -- -- ME MB --
|
SP SP -- -- -- ME MB --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
# {'battle': 0, 'enemy': 2, 'siren': 2},
|
# {'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
MAP_SIREN_TEMPLATE = ['Sheffield', 'Dorsetshire']
|
MAP_SIREN_TEMPLATE = ['Sheffield', 'Dorsetshire']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.fleet_1.clear_boss()
|
return self.fleet_1.clear_boss()
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .c1 import Config as ConfigBase
|
from .c1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('C2')
|
MAP = CampaignMap('C2')
|
||||||
MAP.shape = 'G7'
|
MAP.shape = 'G7'
|
||||||
MAP.camera_data = ['D3', 'D5']
|
MAP.camera_data = ['D3', 'D5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- -- -- -- MB
|
-- -- -- -- -- -- MB
|
||||||
ME -- -- ++ ++ ++ --
|
ME -- -- ++ ++ ++ --
|
||||||
-- ME __ -- ME Me --
|
-- ME __ -- ME Me --
|
||||||
ME -- -- ME -- -- --
|
ME -- -- ME -- -- --
|
||||||
++ ME -- -- -- Me --
|
++ ME -- -- -- Me --
|
||||||
-- -- -- MS -- ++ --
|
-- -- -- MS -- ++ --
|
||||||
SP SP -- ME -- ++ MB
|
SP SP -- ME -- ++ MB
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 10 10 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
# {'battle': 0, 'enemy': 2, 'siren': 2},
|
# {'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, \
|
A1, B1, C1, D1, E1, F1, G1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, \
|
A2, B2, C2, D2, E2, F2, G2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, \
|
A3, B3, C3, D3, E3, F3, G3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, \
|
A4, B4, C4, D4, E4, F4, G4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, \
|
A5, B5, C5, D5, E5, F5, G5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, \
|
A6, B6, C6, D6, E6, F6, G6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, \
|
A7, B7, C7, D7, E7, F7, G7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['Sheffield', 'Dorsetshire', 'Renown']
|
MAP_SIREN_TEMPLATE = ['Sheffield', 'Dorsetshire', 'Renown']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .c1 import Config as ConfigBase
|
from .c1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('C3')
|
MAP = CampaignMap('C3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
SP SP -- MS -- -- Me -- --
|
SP SP -- MS -- -- Me -- --
|
||||||
SP -- -- -- ++ MS -- -- --
|
SP -- -- -- ++ MS -- -- --
|
||||||
-- ME -- ME ++ -- -- ME --
|
-- ME -- ME ++ -- -- ME --
|
||||||
-- -- -- __ -- Me -- -- MB
|
-- -- -- __ -- Me -- -- MB
|
||||||
ME -- ++ ++ -- -- ++ ++ ++
|
ME -- ++ ++ -- -- ++ ++ ++
|
||||||
-- -- ++ ++ -- ME -- -- --
|
-- -- ++ ++ -- ME -- -- --
|
||||||
-- ME -- -- MB -- -- -- --
|
-- ME -- -- MB -- -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['Sheffield', 'Dorsetshire', 'Renown', 'PrinceOfWales']
|
MAP_SIREN_TEMPLATE = ['Sheffield', 'Dorsetshire', 'Renown', 'PrinceOfWales']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('D1')
|
MAP = CampaignMap('D1')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_covered = ['D1']
|
MAP.map_covered = ['D1']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB -- -- MS -- -- -- -- --
|
MB -- -- MS -- -- -- -- --
|
||||||
-- ME -- ++ ++ ME ++ ++ --
|
-- ME -- ++ ++ ME ++ ++ --
|
||||||
-- -- __ ++ ++ -- MB ++ --
|
-- -- __ ++ ++ -- MB ++ --
|
||||||
MS ME -- -- -- -- -- Me --
|
MS ME -- -- -- -- -- Me --
|
||||||
-- -- MS -- ME Me -- -- ME
|
-- -- MS -- ME Me -- -- ME
|
||||||
-- ++ -- -- -- -- ME ++ --
|
-- ++ -- -- -- -- ME ++ --
|
||||||
-- ++ SP SP -- ME -- ++ --
|
-- ++ SP SP -- ME -- ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
# Extract: {'battle': 4, 'enemy': 2},
|
# Extract: {'battle': 4, 'enemy': 2},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_SWIPE_MULTIPLY = 1.694
|
MAP_SWIPE_MULTIPLY = 1.694
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,78 +1,78 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .d1 import Config as ConfigBase
|
from .d1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('D2')
|
MAP = CampaignMap('D2')
|
||||||
MAP.shape = 'J7'
|
MAP.shape = 'J7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
MAP.camera_data = ['D2', 'D5', 'G2', 'G5']
|
||||||
MAP.camera_data_spawn_point = ['E2']
|
MAP.camera_data_spawn_point = ['E2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- -- SP SP -- -- -- --
|
-- ++ -- -- SP SP -- -- -- --
|
||||||
MS ++ -- MB -- -- -- ME -- --
|
MS ++ -- MB -- -- -- ME -- --
|
||||||
-- -- -- ++ ++ ++ -- -- ME --
|
-- -- -- ++ ++ ++ -- -- ME --
|
||||||
ME -- -- -- -- -- Me -- -- ME
|
ME -- -- -- -- -- Me -- -- ME
|
||||||
-- -- -- MS Me __ -- ME ME --
|
-- -- -- MS Me __ -- ME ME --
|
||||||
-- ME ME -- ++ Me -- -- -- ++
|
-- ME ME -- ++ Me -- -- -- ++
|
||||||
-- -- -- MB ++ -- -- Me -- --
|
-- -- -- MB ++ -- -- Me -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10 10 10 10 10
|
10 10 10 10 10 10 10 10 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(3,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,81 +1,81 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .d1 import Config as ConfigBase
|
from .d1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('D3')
|
MAP = CampaignMap('D3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MS -- -- ++ ++ -- -- -- --
|
MS -- -- ++ ++ -- -- -- --
|
||||||
-- Me ME MS ++ -- ME -- --
|
-- Me ME MS ++ -- ME -- --
|
||||||
SP -- -- -- -- ME ++ ++ ++
|
SP -- -- -- -- ME ++ ++ ++
|
||||||
-- Me -- ++ -- -- -- -- MB
|
-- Me -- ++ -- -- -- -- MB
|
||||||
SP -- ME __ -- ME ++ ++ ++
|
SP -- ME __ -- ME ++ ++ ++
|
||||||
Me -- ++ Me ME -- -- -- --
|
Me -- ++ Me ME -- -- -- --
|
||||||
-- Me ++ -- ME MS ME -- --
|
-- Me ++ -- ME MS ME -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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
|
||||||
05 04 10 10 10 10 10 10 10
|
05 04 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 = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB', 'CV']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB', 'CV']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(3,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,84 +1,84 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP')
|
MAP = CampaignMap('SP')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- MS ++ SP -- SP -- -- ME
|
-- MS ++ SP -- SP -- -- ME
|
||||||
-- -- Me -- -- -- ME -- --
|
-- -- Me -- -- -- ME -- --
|
||||||
++ ++ -- MS Me -- ++ ++ --
|
++ ++ -- MS Me -- ++ ++ --
|
||||||
++ ++ Me -- __ -- ME ++ MS
|
++ ++ Me -- __ -- ME ++ MS
|
||||||
-- -- ME -- -- ME -- ME --
|
-- -- ME -- -- ME -- ME --
|
||||||
-- Me -- ++ -- ++ ME -- --
|
-- Me -- ++ -- ++ ME -- --
|
||||||
-- -- Me ++ MB ++ -- ME --
|
-- -- Me ++ MB ++ -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
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 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 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 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 10 10
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6},
|
{'battle': 6},
|
||||||
{'battle': 7, 'boss': 1},
|
{'battle': 7, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB', 'CV']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA', 'BB', 'CV']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
|
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_SWIPE_MULTIPLY = 1.796
|
MAP_SWIPE_MULTIPLY = 1.796
|
||||||
STAR_REQUIRE_3 = 0 # SP map don't need to clear all enemies.
|
STAR_REQUIRE_3 = 0 # SP map don't need to clear all enemies.
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,)):
|
if self.clear_enemy(scale=(3,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_7(self):
|
def battle_7(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP0')
|
MAP = CampaignMap('SP0')
|
||||||
MAP.shape = 'J6'
|
MAP.shape = 'J6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D4']
|
MAP.camera_data_spawn_point = ['D2', 'D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ ++ ++ ++ -- -- ++ ++
|
-- -- ++ ++ ++ ++ -- -- ++ ++
|
||||||
-- ++ -- -- -- ++ -- -- -- ++
|
-- ++ -- -- -- ++ -- -- -- ++
|
||||||
SP -- -- -- -- -- ++ -- -- --
|
SP -- -- -- -- -- ++ -- -- --
|
||||||
SP -- -- -- -- -- -- -- -- MB
|
SP -- -- -- -- -- -- -- -- MB
|
||||||
-- -- -- -- ++ -- -- ++ -- --
|
-- -- -- -- ++ -- -- ++ -- --
|
||||||
-- -- -- ++ ++ -- ++ ++ ++ --
|
-- -- -- ++ ++ -- ++ ++ ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.land_based_data = [['D6', 'up'], ['H5', 'up'], ['F2', 'down'], ['C1', 'down']]
|
MAP.land_based_data = [['D6', 'up'], ['H5', 'up'], ['F2', 'down'], ['C1', 'down']]
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'boss': 1},
|
{'battle': 0, 'boss': 1},
|
||||||
# {'battle': 1, 'enemy': 2},
|
# {'battle': 1, 'enemy': 2},
|
||||||
# {'battle': 2, 'enemy': 1},
|
# {'battle': 2, 'enemy': 1},
|
||||||
# {'battle': 3, 'enemy': 1, 'mystery': 1},
|
# {'battle': 3, 'enemy': 1, 'mystery': 1},
|
||||||
# {'battle': 4, 'enemy': 1},
|
# {'battle': 4, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
mechanism = SelectedGrids([C6, E2, G5])
|
mechanism = SelectedGrids([C6, E2, G5])
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_LAND_BASED = True
|
MAP_HAS_LAND_BASED = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
MAP_IS_ONE_TIME_STAGE = True
|
MAP_IS_ONE_TIME_STAGE = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.clear_mechanism(mechanism)
|
self.clear_mechanism(mechanism)
|
||||||
|
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('HT1')
|
MAP = CampaignMap('HT1')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
# MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
# MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['H5', 'D5']
|
MAP.camera_data_spawn_point = ['H5', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ -- -- MB -- -- ++ -- --
|
-- -- ++ -- -- MB -- -- ++ -- --
|
||||||
-- ++ ++ ++ Me -- Me ++ ++ ++ --
|
-- ++ ++ ++ Me -- Me ++ ++ ++ --
|
||||||
++ Me -- ++ ++ -- ++ ++ -- Me ++
|
++ Me -- ++ ++ -- ++ ++ -- Me ++
|
||||||
ME -- ME ++ ++ -- ++ ++ ME -- ME
|
ME -- ME ++ ++ -- ++ ++ ME -- ME
|
||||||
-- -- -- ME MS -- MS ME -- -- --
|
-- -- -- ME MS -- MS ME -- -- --
|
||||||
ME -- MS -- -- __ -- -- MS -- ME
|
ME -- MS -- -- __ -- -- MS -- ME
|
||||||
++ Me -- -- SP -- SP -- -- Me ++
|
++ Me -- -- SP -- SP -- -- Me ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'SS']
|
MAP_SIREN_TEMPLATE = ['CL', 'SS']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAGE_ENTRANCE = ['blue']
|
STAGE_ENTRANCE = ['blue']
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,83 +1,83 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .ht1 import Config as ConfigBase
|
from .ht1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('HT2')
|
MAP = CampaignMap('HT2')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
# MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
# MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data = ['D3', 'D5', 'E3', 'E5']
|
MAP.camera_data = ['D3', 'D5', 'E3', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['E5']
|
MAP.camera_data_spawn_point = ['E5']
|
||||||
MAP.portal_data = [('E5', 'E1'), ('E1', 'E5')]
|
MAP.portal_data = [('E5', 'E1'), ('E1', 'E5')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ME -- ME ++ ++
|
-- ++ -- ME -- ME ++ ++
|
||||||
ME -- Me __ -- -- MB ++
|
ME -- Me __ -- -- MB ++
|
||||||
-- -- -- -- ME -- ++ ME
|
-- -- -- -- ME -- ++ ME
|
||||||
++ ME ++ ++ ++ ++ MS --
|
++ ME ++ ++ ++ ++ MS --
|
||||||
-- ++ Me Me -- Me -- ME
|
-- ++ Me Me -- Me -- ME
|
||||||
MS -- -- -- -- -- -- ++
|
MS -- -- -- -- -- -- ++
|
||||||
-- ME ++ ++ SP SP -- MS
|
-- ME ++ ++ SP SP -- MS
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
-- ++ -- ME -- ME ++ ++
|
-- ++ -- ME -- ME ++ ++
|
||||||
ME -- Me __ -- -- MB ++
|
ME -- Me __ -- -- MB ++
|
||||||
-- -- -- -- ME -- ++ ME
|
-- -- -- -- ME -- ++ ME
|
||||||
++ ME ++ -- -- -- MS --
|
++ ME ++ -- -- -- MS --
|
||||||
-- ++ Me Me -- Me -- ME
|
-- ++ Me Me -- Me -- ME
|
||||||
MS -- -- -- -- -- -- ++
|
MS -- -- -- -- -- -- ++
|
||||||
-- ME ++ ++ SP SP -- MS
|
-- ME ++ ++ SP SP -- MS
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 10 20 50 50
|
50 50 50 50 10 20 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CAred']
|
MAP_SIREN_TEMPLATE = ['CL', 'CAred']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,93 +1,93 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .ht1 import Config as ConfigBase
|
from .ht1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('HT3')
|
MAP = CampaignMap('HT3')
|
||||||
MAP.shape = 'I9'
|
MAP.shape = 'I9'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
||||||
# MAP.camera_data_spawn_point = ['D7', 'D6']
|
# MAP.camera_data_spawn_point = ['D7', 'D6']
|
||||||
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.portal_data = [('I2', 'A1'), ('A1', 'I2'), ('I9', 'H1'), ('H1', 'I9')]
|
MAP.portal_data = [('I2', 'A1'), ('A1', 'I2'), ('I9', 'H1'), ('H1', 'I9')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- ++ ME -- ME -- ++
|
-- -- -- ++ ME -- ME -- ++
|
||||||
-- -- MB ++ -- -- -- -- --
|
-- -- MB ++ -- -- -- -- --
|
||||||
++ ++ ++ ++ -- ++ ++ -- ME
|
++ ++ ++ ++ -- ++ ++ -- ME
|
||||||
-- MS -- Me -- Me ++ -- --
|
-- MS -- Me -- Me ++ -- --
|
||||||
ME -- ++ -- __ -- -- -- ME
|
ME -- ++ -- __ -- -- -- ME
|
||||||
-- -- SP -- -- Me ++ ++ ++
|
-- -- SP -- -- Me ++ ++ ++
|
||||||
Me -- -- SP ++ -- ++ MB --
|
Me -- -- SP ++ -- ++ MB --
|
||||||
-- MS -- -- -- MS ++ -- --
|
-- MS -- -- -- MS ++ -- --
|
||||||
++ -- Me -- ME -- ++ -- --
|
++ -- Me -- ME -- ++ -- --
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
-- -- -- -- ME -- ME -- ++
|
-- -- -- -- ME -- ME -- ++
|
||||||
-- -- MB -- -- -- -- -- --
|
-- -- MB -- -- -- -- -- --
|
||||||
++ ++ ++ -- -- ++ ++ -- ME
|
++ ++ ++ -- -- ++ ++ -- ME
|
||||||
-- MS -- Me -- Me ++ -- --
|
-- MS -- Me -- Me ++ -- --
|
||||||
ME -- ++ -- __ -- -- -- ME
|
ME -- ++ -- __ -- -- -- ME
|
||||||
-- -- SP -- -- Me -- -- --
|
-- -- SP -- -- Me -- -- --
|
||||||
Me -- -- SP ++ -- ++ MB --
|
Me -- -- SP ++ -- ++ MB --
|
||||||
-- MS -- -- -- MS ++ -- --
|
-- MS -- -- -- MS ++ -- --
|
||||||
++ -- Me -- ME -- ++ -- --
|
++ -- Me -- ME -- ++ -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CAred']
|
MAP_SIREN_TEMPLATE = ['CL', 'CAred']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,110 +1,110 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .ht1 import Config as ConfigBase
|
from .ht1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('HT4')
|
MAP = CampaignMap('HT4')
|
||||||
MAP.shape = 'K9'
|
MAP.shape = 'K9'
|
||||||
MAP.camera_data = ['D2', 'D5', 'D7', 'H2', 'H5', 'H7']
|
MAP.camera_data = ['D2', 'D5', 'D7', 'H2', 'H5', 'H7']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D7']
|
MAP.camera_data_spawn_point = ['D2', 'D7']
|
||||||
MAP.portal_data = [('I5', 'C5'), ('C5', 'I5'), ('E5', 'E3'), ('E3', 'E5'), ('G5', 'G7'), ('G7', 'G5')]
|
MAP.portal_data = [('I5', 'C5'), ('C5', 'I5'), ('E5', 'E3'), ('E3', 'E5'), ('G5', 'G7'), ('G7', 'G5')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
Me -- -- ++ Me -- ME -- ME ++ ++
|
Me -- -- ++ Me -- ME -- ME ++ ++
|
||||||
-- MS -- ++ -- SP -- __ -- MS --
|
-- MS -- ++ -- SP -- __ -- MS --
|
||||||
-- -- Me ++ -- -- -- ME -- -- --
|
-- -- Me ++ -- -- -- ME -- -- --
|
||||||
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
||||||
-- -- -- ++ -- MB -- ++ -- -- --
|
-- -- -- ++ -- MB -- ++ -- -- --
|
||||||
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
||||||
-- -- -- ME -- -- -- ++ Me -- --
|
-- -- -- ME -- -- -- ++ Me -- --
|
||||||
-- MS -- __ -- SP -- ++ -- MS --
|
-- MS -- __ -- SP -- ++ -- MS --
|
||||||
++ ++ ME -- ME -- Me ++ -- -- Me
|
++ ++ ME -- ME -- Me ++ -- -- Me
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
Me -- -- ++ Me -- ME -- ME ++ ++
|
Me -- -- ++ Me -- ME -- ME ++ ++
|
||||||
-- MS -- -- -- SP -- __ -- MS --
|
-- MS -- -- -- SP -- __ -- MS --
|
||||||
-- -- Me ++ -- -- -- ME -- -- --
|
-- -- Me ++ -- -- -- ME -- -- --
|
||||||
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
||||||
-- -- -- ++ -- MB -- ++ -- -- --
|
-- -- -- ++ -- MB -- ++ -- -- --
|
||||||
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
||||||
-- -- -- ME -- -- -- ++ Me -- --
|
-- -- -- ME -- -- -- ++ Me -- --
|
||||||
-- MS -- __ -- SP -- -- -- MS --
|
-- MS -- __ -- SP -- -- -- MS --
|
||||||
++ ++ ME -- ME -- Me ++ -- -- Me
|
++ ++ ME -- ME -- Me ++ -- -- Me
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 10 50 50 50 50 50
|
50 50 50 50 50 10 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['BB', 'SS']
|
MAP_SIREN_TEMPLATE = ['BB', 'SS']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.82
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.82
|
||||||
MAP_SWIPE_MULTIPLY = 1.88
|
MAP_SWIPE_MULTIPLY = 1.88
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.map_is_clear_mode:
|
if self.map_is_clear_mode:
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_2(self):
|
def battle_2(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.map_is_clear_mode:
|
if self.map_is_clear_mode:
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,104 +1,104 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .ht1 import Config as ConfigBase
|
from .ht1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('HT5')
|
MAP = CampaignMap('HT5')
|
||||||
MAP.shape = 'I9'
|
MAP.shape = 'I9'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
||||||
# MAP.camera_data_spawn_point = ['F7', 'D2']
|
# MAP.camera_data_spawn_point = ['F7', 'D2']
|
||||||
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
||||||
MAP.camera_data_spawn_point = ['F7', 'D3']
|
MAP.camera_data_spawn_point = ['F7', 'D3']
|
||||||
MAP.portal_data = [('D3', 'F3'), ('G4', 'G6'), ('F7', 'D7'), ('C6', 'C4')]
|
MAP.portal_data = [('D3', 'F3'), ('G4', 'G6'), ('F7', 'D7'), ('C6', 'C4')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- -- -- ++ -- MB -- ++
|
++ -- -- -- ++ -- MB -- ++
|
||||||
-- ME -- ME ++ MS -- MS --
|
-- ME -- ME ++ MS -- MS --
|
||||||
Me -- SP -- ++ -- __ -- --
|
Me -- SP -- ++ -- __ -- --
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
++ ++ ++ ++ -- ++ ++ ++ ++
|
++ ++ ++ ++ -- ++ ++ ++ ++
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
-- -- __ -- ++ -- SP -- Me
|
-- -- __ -- ++ -- SP -- Me
|
||||||
-- MS -- MS ++ ME -- ME --
|
-- MS -- MS ++ ME -- ME --
|
||||||
++ -- MB -- ++ -- -- -- ++
|
++ -- MB -- ++ -- -- -- ++
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
++ -- -- -- ++ -- MB -- ++
|
++ -- -- -- ++ -- MB -- ++
|
||||||
-- ME -- ME ++ MS -- MS --
|
-- ME -- ME ++ MS -- MS --
|
||||||
Me -- SP -- -- -- __ -- --
|
Me -- SP -- -- -- __ -- --
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
++ ++ -- ++ -- ++ -- ++ ++
|
++ ++ -- ++ -- ++ -- ++ ++
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
-- -- __ -- -- -- SP -- Me
|
-- -- __ -- -- -- SP -- Me
|
||||||
-- MS -- MS ++ ME -- ME --
|
-- MS -- MS ++ ME -- ME --
|
||||||
++ -- MB -- ++ -- -- -- ++
|
++ -- MB -- ++ -- -- -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['BB', 'CV']
|
MAP_SIREN_TEMPLATE = ['BB', 'CV']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.map_is_clear_mode:
|
if self.map_is_clear_mode:
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,108 +1,108 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .ht1 import Config as ConfigBase
|
from .ht1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('HT6')
|
MAP = CampaignMap('HT6')
|
||||||
MAP.shape = 'K10'
|
MAP.shape = 'K10'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D8', 'H2', 'H6', 'H8']
|
# MAP.camera_data = ['D2', 'D6', 'D8', 'H2', 'H6', 'H8']
|
||||||
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
|
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
|
||||||
MAP.camera_data_spawn_point = ['D6', 'G6']
|
MAP.camera_data_spawn_point = ['D6', 'G6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- ME -- Me -- ME -- -- --
|
-- -- -- ME -- Me -- ME -- -- --
|
||||||
-- ++ ++ -- MS -- MS -- ++ ++ --
|
-- ++ ++ -- MS -- MS -- ++ ++ --
|
||||||
-- ++ ME -- -- __ -- -- ME ++ --
|
-- ++ ME -- -- __ -- -- ME ++ --
|
||||||
Me -- -- ++ ++ -- ++ ++ -- -- Me
|
Me -- -- ++ ++ -- ++ ++ -- -- Me
|
||||||
++ ME -- ++ MS -- MS ++ -- ME ++
|
++ ME -- ++ MS -- MS ++ -- ME ++
|
||||||
++ ME -- -- -- MB -- -- -- ME ++
|
++ ME -- -- -- MB -- -- -- ME ++
|
||||||
-- -- ++ Me -- -- -- Me ++ -- --
|
-- -- ++ Me -- -- -- Me ++ -- --
|
||||||
-- ++ ++ ++ SP -- SP ++ ++ ++ --
|
-- ++ ++ ++ SP -- SP ++ ++ ++ --
|
||||||
++ -- -- ++ ++ -- ++ ++ -- -- ++
|
++ -- -- ++ ++ -- ++ ++ -- -- ++
|
||||||
-- -- -- ++ ++ -- ++ ++ -- -- --
|
-- -- -- ++ ++ -- ++ ++ -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
||||||
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, K10, \
|
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, K10, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['BB', 'CV', 'SS']
|
MAP_SIREN_TEMPLATE = ['BB', 'CV', 'SS']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.446
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.446
|
||||||
MAP_SWIPE_MULTIPLY = 1.495
|
MAP_SWIPE_MULTIPLY = 1.495
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_2(self):
|
def battle_2(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,71 +1,71 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('HTS1')
|
MAP = CampaignMap('HTS1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['E4']
|
MAP.camera_data_spawn_point = ['E4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB -- ++ ++ ++ ++ -- --
|
MB -- ++ ++ ++ ++ -- --
|
||||||
-- MS -- -- -- ++ ++ ++
|
-- MS -- -- -- ++ ++ ++
|
||||||
++ -- -- -- Me -- -- ++
|
++ -- -- -- Me -- -- ++
|
||||||
++ ++ ++ ++ -- -- ME --
|
++ ++ ++ ++ -- -- ME --
|
||||||
-- -- -- -- ++ ++ -- SP
|
-- -- -- -- ++ ++ -- SP
|
||||||
-- ++ -- -- -- ++ SP --
|
-- ++ -- -- -- ++ SP --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 1},
|
{'battle': 0, 'enemy': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
# {'battle': 2, 'siren': 1},
|
# {'battle': 2, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'boss': 1},
|
{'battle': 3, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
# MAP_SIREN_TEMPLATE = ['srzl2']
|
# MAP_SIREN_TEMPLATE = ['srzl2']
|
||||||
# MOVABLE_ENEMY_TURN = (0,)
|
# MOVABLE_ENEMY_TURN = (0,)
|
||||||
# MAP_HAS_SIREN = True
|
# MAP_HAS_SIREN = True
|
||||||
# MAP_HAS_MOVABLE_ENEMY = True
|
# MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAGE_ENTRANCE = ['blue']
|
STAGE_ENTRANCE = ['blue']
|
||||||
FLEET_2 = 0
|
FLEET_2 = 0
|
||||||
MAP_IS_ONE_TIME_STAGE = True
|
MAP_IS_ONE_TIME_STAGE = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,66 +1,66 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .hts1 import Config as ConfigBase
|
from .hts1 import Config as ConfigBase
|
||||||
from module.exception import CampaignEnd
|
from module.exception import CampaignEnd
|
||||||
|
|
||||||
MAP = CampaignMap('HTS2')
|
MAP = CampaignMap('HTS2')
|
||||||
MAP.shape = 'H8'
|
MAP.shape = 'H8'
|
||||||
MAP.camera_data = ['D2', 'D6', 'E2', 'E6']
|
MAP.camera_data = ['D2', 'D6', 'E2', 'E6']
|
||||||
MAP.camera_data_spawn_point = ['D6']
|
MAP.camera_data_spawn_point = ['D6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ MM -- -- -- -- -- --
|
++ MM -- -- -- -- -- --
|
||||||
++ ++ ++ ++ -- -- -- ++
|
++ ++ ++ ++ -- -- -- ++
|
||||||
-- -- -- -- -- ++ -- ++
|
-- -- -- -- -- ++ -- ++
|
||||||
-- -- -- ++ ++ ++ -- ++
|
-- -- -- ++ ++ ++ -- ++
|
||||||
-- ++ -- -- ++ -- -- --
|
-- ++ -- -- ++ -- -- --
|
||||||
-- -- ++ -- -- ++ -- ++
|
-- -- ++ -- -- ++ -- ++
|
||||||
-- -- SP ++ MM ++ -- ++
|
-- -- SP ++ MM ++ -- ++
|
||||||
MM -- -- ++ ++ ++ -- ++
|
MM -- -- ++ ++ ++ -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0},
|
{'battle': 0},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.goto(A8, expected='story')
|
self.goto(A8, expected='story')
|
||||||
self.goto(E7, expected='story')
|
self.goto(E7, expected='story')
|
||||||
self.goto(B1, expected='story')
|
self.goto(B1, expected='story')
|
||||||
self.goto(G8, expected='story')
|
self.goto(G8, expected='story')
|
||||||
|
|
||||||
raise CampaignEnd()
|
raise CampaignEnd()
|
||||||
|
|||||||
@@ -1,88 +1,88 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP')
|
MAP = CampaignMap('SP')
|
||||||
MAP.shape = 'K9'
|
MAP.shape = 'K9'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D7', 'H2', 'H6', 'H7']
|
# MAP.camera_data = ['D2', 'D6', 'D7', 'H2', 'H6', 'H7']
|
||||||
# MAP.camera_data_spawn_point = ['D2', 'H2']
|
# MAP.camera_data_spawn_point = ['D2', 'H2']
|
||||||
MAP.camera_data = ['F2', 'F4', 'F7']
|
MAP.camera_data = ['F2', 'F4', 'F7']
|
||||||
MAP.camera_data_spawn_point = ['F2']
|
MAP.camera_data_spawn_point = ['F2']
|
||||||
MAP.portal_data = [('E1', 'K1'), ('K1', 'E1'), ('A1', 'G1'), ('G1', 'A1')]
|
MAP.portal_data = [('E1', 'K1'), ('K1', 'E1'), ('A1', 'G1'), ('G1', 'A1')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- MS ++ -- -- -- ++ MS -- --
|
-- -- MS ++ -- -- -- ++ MS -- --
|
||||||
-- -- -- ++ -- __ -- ++ -- -- --
|
-- -- -- ++ -- __ -- ++ -- -- --
|
||||||
++ -- Me ++ SP -- SP ++ Me -- ++
|
++ -- Me ++ SP -- SP ++ Me -- ++
|
||||||
-- ++ ++ ++ ++ -- ++ ++ ++ ++ --
|
-- ++ ++ ++ ++ -- ++ ++ ++ ++ --
|
||||||
-- -- ++ ME -- -- -- ME ++ -- --
|
-- -- ++ ME -- -- -- ME ++ -- --
|
||||||
-- -- ++ -- -- MS -- -- ++ -- --
|
-- -- ++ -- -- MS -- -- ++ -- --
|
||||||
-- ++ ++ ++ ++ -- ++ ++ ++ ++ --
|
-- ++ ++ ++ ++ -- ++ ++ ++ ++ --
|
||||||
++ -- -- -- ++ -- ++ -- -- -- ++
|
++ -- -- -- ++ -- ++ -- -- -- ++
|
||||||
-- -- -- -- ++ MB ++ -- -- -- --
|
-- -- -- -- ++ MB ++ -- -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1},
|
{'battle': 1},
|
||||||
{'battle': 2},
|
{'battle': 2},
|
||||||
{'battle': 3},
|
{'battle': 3},
|
||||||
{'battle': 4, 'enemy': 2, 'siren': 1},
|
{'battle': 4, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6},
|
{'battle': 6},
|
||||||
{'battle': 7, 'boss': 1},
|
{'battle': 7, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAGE_ENTRANCE = ['blue']
|
STAGE_ENTRANCE = ['blue']
|
||||||
MAP_SIREN_TEMPLATE = ['CV', 'BB']
|
MAP_SIREN_TEMPLATE = ['CV', 'BB']
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = False
|
MAP_HAS_MOVABLE_ENEMY = False
|
||||||
|
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.82
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.82
|
||||||
MAP_SWIPE_MULTIPLY = 1.88
|
MAP_SWIPE_MULTIPLY = 1.88
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_7(self):
|
def battle_7(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,83 +1,83 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('T1')
|
MAP = CampaignMap('T1')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
# MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
# MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['H5', 'D5']
|
MAP.camera_data_spawn_point = ['H5', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ -- -- MB -- -- ++ -- --
|
-- -- ++ -- -- MB -- -- ++ -- --
|
||||||
-- ++ ++ ++ Me -- Me ++ ++ ++ --
|
-- ++ ++ ++ Me -- Me ++ ++ ++ --
|
||||||
++ Me -- ++ ++ -- ++ ++ -- Me ++
|
++ Me -- ++ ++ -- ++ ++ -- Me ++
|
||||||
ME -- ME ++ ++ -- ++ ++ ME -- ME
|
ME -- ME ++ ++ -- ++ ++ ME -- ME
|
||||||
-- -- -- ME MS -- MS ME -- -- --
|
-- -- -- ME MS -- MS ME -- -- --
|
||||||
ME -- MS -- -- __ -- -- MS -- ME
|
ME -- MS -- -- __ -- -- MS -- ME
|
||||||
++ Me -- -- SP -- SP -- -- Me ++
|
++ Me -- -- SP -- SP -- -- Me ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['DD', 'SS']
|
MAP_SIREN_TEMPLATE = ['DD', 'SS']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAGE_ENTRANCE = ['blue']
|
STAGE_ENTRANCE = ['blue']
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,80 +1,80 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .t1 import Config as ConfigBase
|
from .t1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('T2')
|
MAP = CampaignMap('T2')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
# MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
# MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data = ['D3', 'D5', 'E3', 'E5']
|
MAP.camera_data = ['D3', 'D5', 'E3', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['E5']
|
MAP.camera_data_spawn_point = ['E5']
|
||||||
MAP.portal_data = [('E5', 'E1'), ('E1', 'E5')]
|
MAP.portal_data = [('E5', 'E1'), ('E1', 'E5')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ME -- ME ++ ++
|
-- ++ -- ME -- ME ++ ++
|
||||||
ME -- Me __ -- -- MB ++
|
ME -- Me __ -- -- MB ++
|
||||||
-- -- -- -- ME -- ++ ME
|
-- -- -- -- ME -- ++ ME
|
||||||
++ ME ++ ++ ++ ++ MS --
|
++ ME ++ ++ ++ ++ MS --
|
||||||
-- ++ Me Me -- Me -- ME
|
-- ++ Me Me -- Me -- ME
|
||||||
MS -- -- -- -- -- -- ++
|
MS -- -- -- -- -- -- ++
|
||||||
-- ME ++ ++ SP SP -- MS
|
-- ME ++ ++ SP SP -- MS
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
-- ++ -- ME -- ME ++ ++
|
-- ++ -- ME -- ME ++ ++
|
||||||
ME -- Me __ -- -- MB ++
|
ME -- Me __ -- -- MB ++
|
||||||
-- -- -- -- ME -- ++ ME
|
-- -- -- -- ME -- ++ ME
|
||||||
++ ME ++ -- -- -- MS --
|
++ ME ++ -- -- -- MS --
|
||||||
-- ++ Me Me -- Me -- ME
|
-- ++ Me Me -- Me -- ME
|
||||||
MS -- -- -- -- -- -- ++
|
MS -- -- -- -- -- -- ++
|
||||||
-- ME ++ ++ SP SP -- MS
|
-- ME ++ ++ SP SP -- MS
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL']
|
MAP_SIREN_TEMPLATE = ['CL']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,89 +1,89 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .t1 import Config as ConfigBase
|
from .t1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('T3')
|
MAP = CampaignMap('T3')
|
||||||
MAP.shape = 'I9'
|
MAP.shape = 'I9'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
||||||
# MAP.camera_data_spawn_point = ['D7', 'D6']
|
# MAP.camera_data_spawn_point = ['D7', 'D6']
|
||||||
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.portal_data = [('I2', 'A1'), ('A1', 'I2'), ('I9', 'H1'), ('H1', 'I9')]
|
MAP.portal_data = [('I2', 'A1'), ('A1', 'I2'), ('I9', 'H1'), ('H1', 'I9')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- ++ ME -- ME -- ++
|
-- -- -- ++ ME -- ME -- ++
|
||||||
-- -- MB ++ -- -- -- -- --
|
-- -- MB ++ -- -- -- -- --
|
||||||
++ ++ ++ ++ -- ++ ++ -- ME
|
++ ++ ++ ++ -- ++ ++ -- ME
|
||||||
-- MS -- Me -- Me ++ -- --
|
-- MS -- Me -- Me ++ -- --
|
||||||
ME -- ++ -- __ -- -- -- ME
|
ME -- ++ -- __ -- -- -- ME
|
||||||
-- -- SP -- -- Me ++ ++ ++
|
-- -- SP -- -- Me ++ ++ ++
|
||||||
Me -- -- SP ++ -- ++ MB --
|
Me -- -- SP ++ -- ++ MB --
|
||||||
-- MS -- -- -- MS ++ -- --
|
-- MS -- -- -- MS ++ -- --
|
||||||
++ -- Me -- ME -- ++ -- --
|
++ -- Me -- ME -- ++ -- --
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
-- -- -- -- ME -- ME -- ++
|
-- -- -- -- ME -- ME -- ++
|
||||||
-- -- MB -- -- -- -- -- --
|
-- -- MB -- -- -- -- -- --
|
||||||
++ ++ ++ -- -- ++ ++ -- ME
|
++ ++ ++ -- -- ++ ++ -- ME
|
||||||
-- MS -- Me -- Me ++ -- --
|
-- MS -- Me -- Me ++ -- --
|
||||||
ME -- ++ -- __ -- -- -- ME
|
ME -- ++ -- __ -- -- -- ME
|
||||||
-- -- SP -- -- Me -- -- --
|
-- -- SP -- -- Me -- -- --
|
||||||
Me -- -- SP ++ -- ++ MB --
|
Me -- -- SP ++ -- ++ MB --
|
||||||
-- MS -- -- -- MS ++ -- --
|
-- MS -- -- -- MS ++ -- --
|
||||||
++ -- Me -- ME -- ++ -- --
|
++ -- Me -- ME -- ++ -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CAred']
|
MAP_SIREN_TEMPLATE = ['CAred']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,94 +1,94 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .t1 import Config as ConfigBase
|
from .t1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('T4')
|
MAP = CampaignMap('T4')
|
||||||
MAP.shape = 'K9'
|
MAP.shape = 'K9'
|
||||||
MAP.camera_data = ['D2', 'D5', 'D7', 'H2', 'H5', 'H7']
|
MAP.camera_data = ['D2', 'D5', 'D7', 'H2', 'H5', 'H7']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D7']
|
MAP.camera_data_spawn_point = ['D2', 'D7']
|
||||||
MAP.portal_data = [('I5', 'C5'), ('C5', 'I5'), ('E5', 'E3'), ('E3', 'E5'), ('G5', 'G7'), ('G7', 'G5')]
|
MAP.portal_data = [('I5', 'C5'), ('C5', 'I5'), ('E5', 'E3'), ('E3', 'E5'), ('G5', 'G7'), ('G7', 'G5')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
Me -- -- ++ Me -- ME -- ME ++ ++
|
Me -- -- ++ Me -- ME -- ME ++ ++
|
||||||
-- MS -- ++ -- SP -- __ -- MS --
|
-- MS -- ++ -- SP -- __ -- MS --
|
||||||
-- -- Me ++ -- -- -- ME -- -- --
|
-- -- Me ++ -- -- -- ME -- -- --
|
||||||
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
||||||
-- -- -- ++ -- MB -- ++ -- -- --
|
-- -- -- ++ -- MB -- ++ -- -- --
|
||||||
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
ME -- ++ ++ ++ ++ ++ ++ ++ -- ME
|
||||||
-- -- -- ME -- -- -- ++ Me -- --
|
-- -- -- ME -- -- -- ++ Me -- --
|
||||||
-- MS -- __ -- SP -- ++ -- MS --
|
-- MS -- __ -- SP -- ++ -- MS --
|
||||||
++ ++ ME -- ME -- Me ++ -- -- Me
|
++ ++ ME -- ME -- Me ++ -- -- Me
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
Me -- -- ++ Me -- ME -- ME ++ ++
|
Me -- -- ++ Me -- ME -- ME ++ ++
|
||||||
-- MS -- -- -- SP -- __ -- MS --
|
-- MS -- -- -- SP -- __ -- MS --
|
||||||
-- -- Me ++ -- -- -- ME -- -- --
|
-- -- Me ++ -- -- -- ME -- -- --
|
||||||
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
||||||
-- -- -- ++ -- MB -- ++ -- -- --
|
-- -- -- ++ -- MB -- ++ -- -- --
|
||||||
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
ME -- ++ ++ -- ++ -- ++ ++ -- ME
|
||||||
-- -- -- ME -- -- -- ++ Me -- --
|
-- -- -- ME -- -- -- ++ Me -- --
|
||||||
-- MS -- __ -- SP -- -- -- MS --
|
-- MS -- __ -- SP -- -- -- MS --
|
||||||
++ ++ ME -- ME -- Me ++ -- -- Me
|
++ ++ ME -- ME -- Me ++ -- -- Me
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 10 50 50 50 50 50
|
50 50 50 50 50 10 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'SS']
|
MAP_SIREN_TEMPLATE = ['CL', 'SS']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.82
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.82
|
||||||
MAP_SWIPE_MULTIPLY = 1.88
|
MAP_SWIPE_MULTIPLY = 1.88
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
if self.config.MAP_HAS_MOVABLE_ENEMY:
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,90 +1,90 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .t1 import Config as ConfigBase
|
from .t1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('T5')
|
MAP = CampaignMap('T5')
|
||||||
MAP.shape = 'I9'
|
MAP.shape = 'I9'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
# MAP.camera_data = ['D2', 'D6', 'D7', 'F2', 'F6', 'F7']
|
||||||
# MAP.camera_data_spawn_point = ['F7', 'D2']
|
# MAP.camera_data_spawn_point = ['F7', 'D2']
|
||||||
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
MAP.camera_data = ['D3', 'D5', 'D7', 'F3', 'F5', 'F7']
|
||||||
MAP.camera_data_spawn_point = ['F7', 'D3']
|
MAP.camera_data_spawn_point = ['F7', 'D3']
|
||||||
MAP.portal_data = [('D3', 'F3'), ('G4', 'G6'), ('F7', 'D7'), ('C6', 'C4')]
|
MAP.portal_data = [('D3', 'F3'), ('G4', 'G6'), ('F7', 'D7'), ('C6', 'C4')]
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- -- -- ++ -- MB -- ++
|
++ -- -- -- ++ -- MB -- ++
|
||||||
-- ME -- ME ++ MS -- MS --
|
-- ME -- ME ++ MS -- MS --
|
||||||
Me -- SP -- ++ -- __ -- --
|
Me -- SP -- ++ -- __ -- --
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
++ ++ ++ ++ -- ++ ++ ++ ++
|
++ ++ ++ ++ -- ++ ++ ++ ++
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
-- -- __ -- ++ -- SP -- Me
|
-- -- __ -- ++ -- SP -- Me
|
||||||
-- MS -- MS ++ ME -- ME --
|
-- MS -- MS ++ ME -- ME --
|
||||||
++ -- MB -- ++ -- -- -- ++
|
++ -- MB -- ++ -- -- -- ++
|
||||||
"""
|
"""
|
||||||
MAP.map_data_loop = """
|
MAP.map_data_loop = """
|
||||||
++ -- -- -- ++ -- MB -- ++
|
++ -- -- -- ++ -- MB -- ++
|
||||||
-- ME -- ME ++ MS -- MS --
|
-- ME -- ME ++ MS -- MS --
|
||||||
Me -- SP -- -- -- __ -- --
|
Me -- SP -- -- -- __ -- --
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
++ ++ -- ++ -- ++ -- ++ ++
|
++ ++ -- ++ -- ++ -- ++ ++
|
||||||
-- ME -- Me ++ Me -- ME --
|
-- ME -- Me ++ Me -- ME --
|
||||||
-- -- __ -- -- -- SP -- Me
|
-- -- __ -- -- -- SP -- Me
|
||||||
-- MS -- MS ++ ME -- ME --
|
-- MS -- MS ++ ME -- ME --
|
||||||
++ -- MB -- ++ -- -- -- ++
|
++ -- MB -- ++ -- -- -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CAred']
|
MAP_SIREN_TEMPLATE = ['CL', 'CAred']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
MAP_HAS_PORTAL = True
|
MAP_HAS_PORTAL = True
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .t1 import Config as ConfigBase
|
from .t1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('T6')
|
MAP = CampaignMap('T6')
|
||||||
MAP.shape = 'K10'
|
MAP.shape = 'K10'
|
||||||
# MAP.camera_data = ['D2', 'D6', 'D8', 'H2', 'H6', 'H8']
|
# MAP.camera_data = ['D2', 'D6', 'D8', 'H2', 'H6', 'H8']
|
||||||
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
|
MAP.camera_data = ['D2', 'D6', 'G2', 'G6']
|
||||||
MAP.camera_data_spawn_point = ['D6', 'G6']
|
MAP.camera_data_spawn_point = ['D6', 'G6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- ME -- Me -- ME -- -- --
|
-- -- -- ME -- Me -- ME -- -- --
|
||||||
-- ++ ++ -- MS -- MS -- ++ ++ --
|
-- ++ ++ -- MS -- MS -- ++ ++ --
|
||||||
-- ++ ME -- -- __ -- -- ME ++ --
|
-- ++ ME -- -- __ -- -- ME ++ --
|
||||||
Me -- -- ++ ++ -- ++ ++ -- -- Me
|
Me -- -- ++ ++ -- ++ ++ -- -- Me
|
||||||
++ ME -- ++ MS -- MS ++ -- ME ++
|
++ ME -- ++ MS -- MS ++ -- ME ++
|
||||||
++ ME -- -- -- MB -- -- -- ME ++
|
++ ME -- -- -- MB -- -- -- ME ++
|
||||||
-- -- ++ Me -- -- -- Me ++ -- --
|
-- -- ++ Me -- -- -- Me ++ -- --
|
||||||
-- ++ ++ ++ SP -- SP ++ ++ ++ --
|
-- ++ ++ ++ SP -- SP ++ ++ ++ --
|
||||||
++ -- -- ++ ++ -- ++ ++ -- -- ++
|
++ -- -- ++ ++ -- ++ ++ -- -- ++
|
||||||
-- -- -- ++ ++ -- ++ ++ -- -- --
|
-- -- -- ++ ++ -- ++ ++ -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
|
||||||
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, K10, \
|
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, K10, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CA', 'SS']
|
MAP_SIREN_TEMPLATE = ['CA', 'SS']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.446
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.446
|
||||||
MAP_SWIPE_MULTIPLY = 1.495
|
MAP_SWIPE_MULTIPLY = 1.495
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,)):
|
if self.clear_enemy(scale=(2,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('TS1')
|
MAP = CampaignMap('TS1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['E4']
|
MAP.camera_data_spawn_point = ['E4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
MB -- ++ ++ ++ ++ -- --
|
MB -- ++ ++ ++ ++ -- --
|
||||||
-- MS -- -- -- ++ ++ ++
|
-- MS -- -- -- ++ ++ ++
|
||||||
++ -- -- -- Me -- -- ++
|
++ -- -- -- Me -- -- ++
|
||||||
++ ++ ++ ++ -- -- ME --
|
++ ++ ++ ++ -- -- ME --
|
||||||
-- -- -- -- ++ ++ -- SP
|
-- -- -- -- ++ ++ -- SP
|
||||||
-- ++ -- -- -- ++ SP --
|
-- ++ -- -- -- ++ SP --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 1},
|
{'battle': 0, 'enemy': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
# {'battle': 2, 'siren': 1},
|
# {'battle': 2, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'boss': 1},
|
{'battle': 3, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
# MAP_SIREN_TEMPLATE = ['srzl2']
|
# MAP_SIREN_TEMPLATE = ['srzl2']
|
||||||
# MOVABLE_ENEMY_TURN = (0,)
|
# MOVABLE_ENEMY_TURN = (0,)
|
||||||
# MAP_HAS_SIREN = True
|
# MAP_HAS_SIREN = True
|
||||||
# MAP_HAS_MOVABLE_ENEMY = True
|
# MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAGE_ENTRANCE = ['blue']
|
STAGE_ENTRANCE = ['blue']
|
||||||
FLEET_2 = 0
|
FLEET_2 = 0
|
||||||
MAP_IS_ONE_TIME_STAGE = True
|
MAP_IS_ONE_TIME_STAGE = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,66 +1,66 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .ts1 import Config as ConfigBase
|
from .ts1 import Config as ConfigBase
|
||||||
from module.exception import CampaignEnd
|
from module.exception import CampaignEnd
|
||||||
|
|
||||||
MAP = CampaignMap('TS2')
|
MAP = CampaignMap('TS2')
|
||||||
MAP.shape = 'H8'
|
MAP.shape = 'H8'
|
||||||
MAP.camera_data = ['D2', 'D6', 'E2', 'E6']
|
MAP.camera_data = ['D2', 'D6', 'E2', 'E6']
|
||||||
MAP.camera_data_spawn_point = ['D6']
|
MAP.camera_data_spawn_point = ['D6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ MM -- -- -- -- -- --
|
++ MM -- -- -- -- -- --
|
||||||
++ ++ ++ ++ -- -- -- ++
|
++ ++ ++ ++ -- -- -- ++
|
||||||
-- -- -- -- -- ++ -- ++
|
-- -- -- -- -- ++ -- ++
|
||||||
-- -- -- ++ ++ ++ -- ++
|
-- -- -- ++ ++ ++ -- ++
|
||||||
-- ++ -- -- ++ -- -- --
|
-- ++ -- -- ++ -- -- --
|
||||||
-- -- ++ -- -- ++ -- ++
|
-- -- ++ -- -- ++ -- ++
|
||||||
-- -- SP ++ MM ++ -- ++
|
-- -- SP ++ MM ++ -- ++
|
||||||
MM -- -- ++ ++ ++ -- ++
|
MM -- -- ++ ++ ++ -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0},
|
{'battle': 0},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
self.goto(A8, expected='story')
|
self.goto(A8, expected='story')
|
||||||
self.goto(E7, expected='story')
|
self.goto(E7, expected='story')
|
||||||
self.goto(B1, expected='story')
|
self.goto(B1, expected='story')
|
||||||
self.goto(G8, expected='story')
|
self.goto(G8, expected='story')
|
||||||
|
|
||||||
raise CampaignEnd()
|
raise CampaignEnd()
|
||||||
|
|||||||
@@ -1,67 +1,67 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP1')
|
MAP = CampaignMap('SP1')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['H5']
|
MAP.camera_data_spawn_point = ['H5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ -- ME -- -- -- -- ++ --
|
++ ++ ++ -- ME -- -- -- -- ++ --
|
||||||
-- ME -- ++ -- ++ ++ ME -- ++ ME
|
-- ME -- ++ -- ++ ++ ME -- ++ ME
|
||||||
ME -- -- Me -- ME ++ -- Me ++ --
|
ME -- -- Me -- ME ++ -- Me ++ --
|
||||||
-- -- -- -- -- ++ ME -- -- -- SP
|
-- -- -- -- -- ++ ME -- -- -- SP
|
||||||
ME -- -- Me -- -- -- __ -- -- SP
|
ME -- -- Me -- -- -- __ -- -- SP
|
||||||
-- -- ME ++ -- MS -- Me -- -- --
|
-- -- ME ++ -- MS -- Me -- -- --
|
||||||
-- -- -- ++ MB -- MB ++ ++ ++ ++
|
-- -- -- ++ MB -- MB ++ ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z18']
|
MAP_SIREN_TEMPLATE = ['Z18']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP2')
|
MAP = CampaignMap('SP2')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'H2']
|
MAP.camera_data_spawn_point = ['D2', 'H2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ ++ SP -- SP ++ ++ ++ ++
|
-- -- ++ ++ SP -- SP ++ ++ ++ ++
|
||||||
-- ME ++ ++ -- -- -- -- -- ME ME
|
-- ME ++ ++ -- -- -- -- -- ME ME
|
||||||
ME -- -- MS -- -- -- ME -- -- MB
|
ME -- -- MS -- -- -- ME -- -- MB
|
||||||
++ -- -- -- Me -- Me ++ __ -- MB
|
++ -- -- -- Me -- Me ++ __ -- MB
|
||||||
-- -- ++ ++ ++ MS -- ++ -- -- ME
|
-- -- ++ ++ ++ MS -- ++ -- -- ME
|
||||||
-- ME -- ME ++ -- -- -- -- Me ++
|
-- ME -- ME ++ -- -- -- -- Me ++
|
||||||
-- -- -- -- Me -- ME -- ME -- ++
|
-- -- -- -- Me -- ME -- ME -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z2']
|
MAP_SIREN_TEMPLATE = ['Z2']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP3')
|
MAP = CampaignMap('SP3')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
MAP.camera_data = ['D2', 'D5', 'H2', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ MS ++ ME -- ME ++ ++ ++
|
++ ++ ++ MS ++ ME -- ME ++ ++ ++
|
||||||
SP -- -- -- -- -- MS -- ME Me --
|
SP -- -- -- -- -- MS -- ME Me --
|
||||||
SP -- -- -- -- Me -- __ -- -- ME
|
SP -- -- -- -- Me -- __ -- -- ME
|
||||||
++ ++ ++ MS -- ++ ++ -- Me ++ --
|
++ ++ ++ MS -- ++ ++ -- Me ++ --
|
||||||
MB MB ++ -- Me ++ ++ -- -- ++ ++
|
MB MB ++ -- Me ++ ++ -- -- ++ ++
|
||||||
-- -- -- -- -- -- -- -- -- ME --
|
-- -- -- -- -- -- -- -- -- ME --
|
||||||
ME ME -- Me -- ME ++ ME -- ME --
|
ME ME -- Me -- ME ++ ME -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2, 'siren': 1},
|
{'battle': 1, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z19']
|
MAP_SIREN_TEMPLATE = ['Z19']
|
||||||
MOVABLE_ENEMY_TURN = (3,)
|
MOVABLE_ENEMY_TURN = (3,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP1')
|
MAP = CampaignMap('SP1')
|
||||||
MAP.shape = 'I6'
|
MAP.shape = 'I6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ME -- -- -- ME ++ --
|
++ ++ ME -- -- -- ME ++ --
|
||||||
++ ++ Me -- ME MB -- -- Me
|
++ ++ Me -- ME MB -- -- Me
|
||||||
-- -- -- -- __ ++ ME -- ME
|
-- -- -- -- __ ++ ME -- ME
|
||||||
SP -- -- ME MB ++ ME -- --
|
SP -- -- ME MB ++ ME -- --
|
||||||
-- -- ME ++ -- -- -- -- Me
|
-- -- ME ++ -- -- -- -- Me
|
||||||
SP -- -- -- -- Me ++ ++ ++
|
SP -- -- -- -- Me ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.714
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.714
|
||||||
MAP_SWIPE_MULTIPLY = 1.773
|
MAP_SWIPE_MULTIPLY = 1.773
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,61 +1,61 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP2')
|
MAP = CampaignMap('SP2')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'E2']
|
MAP.camera_data_spawn_point = ['D2', 'E2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ME -- SP SP -- -- ME
|
-- ME -- SP SP -- -- ME
|
||||||
ME ++ -- -- -- -- Me --
|
ME ++ -- -- -- -- Me --
|
||||||
-- -- -- -- ++ ++ ++ --
|
-- -- -- -- ++ ++ ++ --
|
||||||
-- -- Me -- -- -- ME --
|
-- -- Me -- -- -- ME --
|
||||||
Me -- ++ ++ ME __ -- MB
|
Me -- ++ ++ ME __ -- MB
|
||||||
ME -- -- ++ ME -- Me ++
|
ME -- -- ++ ME -- Me ++
|
||||||
++ ME -- ME -- MB -- ++
|
++ ME -- ME -- MB -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 3},
|
{'battle': 1, 'enemy': 3},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,59 +1,59 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP3')
|
MAP = CampaignMap('SP3')
|
||||||
MAP.shape = 'I6'
|
MAP.shape = 'I6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
||||||
MAP.camera_data_spawn_point = ['F2', 'D2']
|
MAP.camera_data_spawn_point = ['F2', 'D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ Me ++ ++ ++ ME Me ME
|
++ ++ Me ++ ++ ++ ME Me ME
|
||||||
++ ++ -- -- MB -- -- -- --
|
++ ++ -- -- MB -- -- -- --
|
||||||
-- ME -- SP MB SP -- ++ ME
|
-- ME -- SP MB SP -- ++ ME
|
||||||
-- Me -- -- __ -- -- ME --
|
-- Me -- -- __ -- -- ME --
|
||||||
++ ME -- Me ++ Me -- ++ ++
|
++ ME -- Me ++ Me -- ++ ++
|
||||||
++ ME -- ME -- ME -- Me ++
|
++ ME -- ME -- ME -- Me ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4},
|
{'battle': 0, 'enemy': 4},
|
||||||
{'battle': 1, 'enemy': 3},
|
{'battle': 1, 'enemy': 3},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,92 +1,92 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP')
|
MAP = CampaignMap('SP')
|
||||||
MAP.shape = 'G8'
|
MAP.shape = 'G8'
|
||||||
MAP.camera_data = ['D3', 'D6']
|
MAP.camera_data = ['D3', 'D6']
|
||||||
MAP.camera_data_spawn_point = ['D6']
|
MAP.camera_data_spawn_point = ['D6']
|
||||||
MAP.camera_sight = (-2, -1, 3, 2)
|
MAP.camera_sight = (-2, -1, 3, 2)
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ ++ ++ -- --
|
-- -- ++ ++ ++ -- --
|
||||||
-- -- -- MS -- -- --
|
-- -- -- MS -- -- --
|
||||||
++ ++ ME -- ME ++ ++
|
++ ++ ME -- ME ++ ++
|
||||||
++ ++ -- MB -- ++ ++
|
++ ++ -- MB -- ++ ++
|
||||||
-- -- ME -- ME -- --
|
-- -- ME -- ME -- --
|
||||||
-- MS -- __ -- MS --
|
-- MS -- __ -- MS --
|
||||||
-- ++ SP -- SP ++ --
|
-- ++ SP -- SP ++ --
|
||||||
-- ++ -- -- -- ++ --
|
-- ++ -- -- -- ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'siren': 3},
|
{'battle': 0, 'siren': 3},
|
||||||
{'battle': 1},
|
{'battle': 1},
|
||||||
{'battle': 2},
|
{'battle': 2},
|
||||||
{'battle': 3, 'enemy': 4},
|
{'battle': 3, 'enemy': 4},
|
||||||
{'battle': 4},
|
{'battle': 4},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6},
|
{'battle': 6},
|
||||||
{'battle': 7, 'boss': 1},
|
{'battle': 7, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, \
|
A1, B1, C1, D1, E1, F1, G1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, \
|
A2, B2, C2, D2, E2, F2, G2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, \
|
A3, B3, C3, D3, E3, F3, G3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, \
|
A4, B4, C4, D4, E4, F4, G4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, \
|
A5, B5, C5, D5, E5, F5, G5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, \
|
A6, B6, C6, D6, E6, F6, G6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, \
|
A7, B7, C7, D7, E7, F7, G7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, \
|
A8, B8, C8, D8, E8, F8, G8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_SIREN_TEMPLATE = ['BaltimoreIdol', 'RoonIdol', 'IllustriousIdol']
|
MAP_SIREN_TEMPLATE = ['BaltimoreIdol', 'RoonIdol', 'IllustriousIdol']
|
||||||
DETECTION_BACKEND = 'perspective'
|
DETECTION_BACKEND = 'perspective'
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 12),
|
'height': (150, 255 - 12),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 9, 255),
|
'height': (255 - 9, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_7(self):
|
def battle_7(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,85 +1,85 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP1')
|
MAP = CampaignMap('SP1')
|
||||||
MAP.shape = 'G7'
|
MAP.shape = 'G7'
|
||||||
MAP.camera_data = ['C2', 'C5']
|
MAP.camera_data = ['C2', 'C5']
|
||||||
MAP.camera_data_spawn_point = ['C5']
|
MAP.camera_data_spawn_point = ['C5']
|
||||||
MAP.camera_sight = (-2, -1, 3, 2)
|
MAP.camera_sight = (-2, -1, 3, 2)
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ -- ME -- ++ ++
|
++ ++ -- ME -- ++ ++
|
||||||
++ ++ ME __ ME -- ++
|
++ ++ ME __ ME -- ++
|
||||||
ME -- MS -- MS -- ME
|
ME -- MS -- MS -- ME
|
||||||
-- Me -- ++ -- -- Me
|
-- Me -- ++ -- -- Me
|
||||||
ME -- -- -- -- -- ++
|
ME -- -- -- -- -- ++
|
||||||
++ -- SP MB SP -- ++
|
++ -- SP MB SP -- ++
|
||||||
++ ME -- -- -- ME --
|
++ ME -- -- -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, \
|
A1, B1, C1, D1, E1, F1, G1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, \
|
A2, B2, C2, D2, E2, F2, G2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, \
|
A3, B3, C3, D3, E3, F3, G3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, \
|
A4, B4, C4, D4, E4, F4, G4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, \
|
A5, B5, C5, D5, E5, F5, G5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, \
|
A6, B6, C6, D6, E6, F6, G6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, \
|
A7, B7, C7, D7, E7, F7, G7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['LeMalinIdol', 'DidoIdol']
|
MAP_SIREN_TEMPLATE = ['LeMalinIdol', 'DidoIdol']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
DETECTION_BACKEND = 'perspective'
|
DETECTION_BACKEND = 'perspective'
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 12),
|
'height': (150, 255 - 12),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 9, 255),
|
'height': (255 - 9, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP2')
|
MAP = CampaignMap('SP2')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['C2', 'C5', 'F2', 'F5']
|
MAP.camera_data = ['C2', 'C5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['C2']
|
MAP.camera_data_spawn_point = ['C2']
|
||||||
MAP.camera_sight = (-2, -1, 3, 2)
|
MAP.camera_sight = (-2, -1, 3, 2)
|
||||||
MAP.map_covered = ['E3']
|
MAP.map_covered = ['E3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- SP -- SP ++ ++ ++ ME --
|
-- SP -- SP ++ ++ ++ ME --
|
||||||
-- -- __ -- -- MS ME -- MB
|
-- -- __ -- -- MS ME -- MB
|
||||||
Me -- -- ME -- -- -- -- --
|
Me -- -- ME -- -- -- -- --
|
||||||
-- ++ -- -- ++ -- ++ ++ ME
|
-- ++ -- -- ++ -- ++ ++ ME
|
||||||
ME -- MS -- -- -- ++ ++ --
|
ME -- MS -- -- -- ++ ++ --
|
||||||
-- ME -- -- Me -- -- -- ME
|
-- ME -- -- Me -- -- -- ME
|
||||||
++ ++ ++ ME -- ME ME -- --
|
++ ++ ++ ME -- ME ME -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 1},
|
{'battle': 0, 'enemy': 3, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['LeMalinIdol', 'DidoIdol', 'AlbacoreIdol']
|
MAP_SIREN_TEMPLATE = ['LeMalinIdol', 'DidoIdol', 'AlbacoreIdol']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.847
|
MAP_SWIPE_MULTIPLY = 1.847
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.786
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.786
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,74 +1,74 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP3')
|
MAP = CampaignMap('SP3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['C2', 'C5', 'F2', 'F5']
|
MAP.camera_data = ['C2', 'C5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.camera_sight = (-2, -1, 3, 2)
|
MAP.camera_sight = (-2, -1, 3, 2)
|
||||||
MAP.map_covered = ['E3']
|
MAP.map_covered = ['E3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ -- -- -- ME ++ ++
|
++ ++ ++ -- -- -- ME ++ ++
|
||||||
SP -- -- -- Me -- -- ME ++
|
SP -- -- -- Me -- -- ME ++
|
||||||
-- -- -- MS -- MS -- -- ME
|
-- -- -- MS -- MS -- -- ME
|
||||||
SP -- Me -- ++ -- Me __ MB
|
SP -- Me -- ++ -- Me __ MB
|
||||||
-- -- -- MS -- MS -- -- ME
|
-- -- -- MS -- MS -- -- ME
|
||||||
ME ME ++ -- ME -- -- ME ++
|
ME ME ++ -- ME -- -- ME ++
|
||||||
-- -- ++ -- MB -- ME ++ ++
|
-- -- ++ -- MB -- ME ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4},
|
{'battle': 4},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['DidoIdol', 'BaltimoreIdol', 'AlbacoreIdol']
|
MAP_SIREN_TEMPLATE = ['DidoIdol', 'BaltimoreIdol', 'AlbacoreIdol']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.847
|
MAP_SWIPE_MULTIPLY = 1.847
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.786
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.786
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,74 +1,74 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP4')
|
MAP = CampaignMap('SP4')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['C2', 'C5', 'F2', 'F5']
|
MAP.camera_data = ['C2', 'C5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.camera_sight = (-2, -1, 3, 2)
|
MAP.camera_sight = (-2, -1, 3, 2)
|
||||||
MAP.map_covered = ['E3']
|
MAP.map_covered = ['E3']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- SP -- ++ MS ++ ++ --
|
++ -- SP -- ++ MS ++ ++ --
|
||||||
++ SP -- ME -- -- Me ++ --
|
++ SP -- ME -- -- Me ++ --
|
||||||
-- -- -- __ MS -- -- ME ME
|
-- -- -- __ MS -- -- ME ME
|
||||||
-- ME -- MS ++ MB ME -- --
|
-- ME -- MS ++ MB ME -- --
|
||||||
MS ++ -- -- MB -- -- -- Me
|
MS ++ -- -- MB -- -- -- Me
|
||||||
++ ME -- Me ME Me -- ++ --
|
++ ME -- Me ME Me -- ++ --
|
||||||
-- -- ME ++ ++ ++ ME ++ --
|
-- -- ME ++ ++ ++ ME ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['ClevelandIdol', 'HipperIdol', 'SpeeIdol']
|
MAP_SIREN_TEMPLATE = ['ClevelandIdol', 'HipperIdol', 'SpeeIdol']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.847
|
MAP_SWIPE_MULTIPLY = 1.847
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.786
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.786
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,101 +1,101 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP5')
|
MAP = CampaignMap('SP5')
|
||||||
MAP.shape = 'I10'
|
MAP.shape = 'I10'
|
||||||
MAP.camera_data = ['D3', 'D6', 'E6']
|
MAP.camera_data = ['D3', 'D6', 'E6']
|
||||||
MAP.camera_data_spawn_point = ['D7']
|
MAP.camera_data_spawn_point = ['D7']
|
||||||
MAP.camera_sight = (-2, -1, 3, 2)
|
MAP.camera_sight = (-2, -1, 3, 2)
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ ME -- -- -- ME ++ --
|
-- ++ ME -- -- -- ME ++ --
|
||||||
-- ++ ME -- MB -- ME ++ --
|
-- ++ ME -- MB -- ME ++ --
|
||||||
++ Me -- -- -- -- -- Me ++
|
++ Me -- -- -- -- -- Me ++
|
||||||
++ ++ ++ Me __ Me ++ ++ ++
|
++ ++ ++ Me __ Me ++ ++ ++
|
||||||
-- -- MS -- -- -- MS -- --
|
-- -- MS -- -- -- MS -- --
|
||||||
-- ++ -- -- Me -- -- ++ --
|
-- ++ -- -- Me -- -- ++ --
|
||||||
-- -- MS -- Me -- MS -- --
|
-- -- MS -- Me -- MS -- --
|
||||||
++ ME -- -- -- -- -- ME ++
|
++ ME -- -- -- -- -- ME ++
|
||||||
-- ++ ++ SP -- SP ++ ++ --
|
-- ++ ++ SP -- SP ++ ++ --
|
||||||
-- -- ++ -- -- -- ++ -- --
|
-- -- ++ -- -- -- ++ -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2, 'siren': 1},
|
{'battle': 1, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, \
|
||||||
A10, B10, C10, D10, E10, F10, G10, H10, I10, \
|
A10, B10, C10, D10, E10, F10, G10, H10, I10, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['BaltimoreIdol', 'RoonIdol', 'IllustriousIdol']
|
MAP_SIREN_TEMPLATE = ['BaltimoreIdol', 'RoonIdol', 'IllustriousIdol']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.445
|
MAP_SWIPE_MULTIPLY = 1.445
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 75
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 75
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
if self.clear_enemy(genre=['light', 'main', 'enemy']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('VSP')
|
MAP = CampaignMap('VSP')
|
||||||
MAP.shape = 'I6'
|
MAP.shape = 'I6'
|
||||||
MAP.camera_data = ['E4', 'E3']
|
MAP.camera_data = ['E4', 'E3']
|
||||||
MAP.camera_data_spawn_point = ['E4']
|
MAP.camera_data_spawn_point = ['E4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ ++ ++ ++ MB ++ ++ ++ ++
|
++ ++ ++ ++ MB ++ ++ ++ ++
|
||||||
++ -- ME -- MS -- ME -- ++
|
++ -- ME -- MS -- ME -- ++
|
||||||
-- ME -- MS -- MS -- ME --
|
-- ME -- MS -- MS -- ME --
|
||||||
++ -- ME -- __ -- ME -- ++
|
++ -- ME -- __ -- ME -- ++
|
||||||
-- ++ ++ -- -- -- ++ ++ --
|
-- ++ ++ -- -- -- ++ ++ --
|
||||||
-- ++ ++ SP -- SP ++ ++ --
|
-- ++ ++ SP -- SP ++ ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'siren': 3},
|
{'battle': 0, 'siren': 3},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 2},
|
{'battle': 3, 'enemy': 2},
|
||||||
{'battle': 4},
|
{'battle': 4},
|
||||||
{'battle': 5},
|
{'battle': 5},
|
||||||
{'battle': 6},
|
{'battle': 6},
|
||||||
{'battle': 7, 'boss': 1},
|
{'battle': 7, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = False
|
MAP_HAS_FLEET_STEP = False
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_SIREN_TEMPLATE = ['KasumiDOA', 'NagisaDOA', 'NyotenguDOA']
|
MAP_SIREN_TEMPLATE = ['KasumiDOA', 'NagisaDOA', 'NyotenguDOA']
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_7(self):
|
def battle_7(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,76 +1,76 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP1')
|
MAP = CampaignMap('SP1')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- SP -- ++ ++ -- -- ++
|
-- SP -- ++ ++ -- -- ++
|
||||||
SP -- -- ++ ++ Me ME ++
|
SP -- -- ++ ++ Me ME ++
|
||||||
-- -- -- Me ME -- -- --
|
-- -- -- Me ME -- -- --
|
||||||
ME ++ -- __ -- -- -- MB
|
ME ++ -- __ -- -- -- MB
|
||||||
-- Me -- -- Me ME -- --
|
-- Me -- -- Me ME -- --
|
||||||
ME -- -- ME ++ ++ ME ME
|
ME -- -- ME ++ ++ ME ME
|
||||||
++ -- ME -- -- ++ -- --
|
++ -- ME -- -- ++ -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3},
|
{'battle': 0, 'enemy': 3},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAGE_ENTRANCE = ['normal', 'half'] # normal, blue, half
|
STAGE_ENTRANCE = ['normal', 'half'] # normal, blue, half
|
||||||
MAP_SWIPE_MULTIPLY = 1.866
|
MAP_SWIPE_MULTIPLY = 1.866
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.804
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.804
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 40),
|
'height': (80, 255 - 40),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,71 +1,71 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP2')
|
MAP = CampaignMap('SP2')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- MS ++ ME MB ME ++ ++
|
-- -- MS ++ ME MB ME ++ ++
|
||||||
-- ++ -- Me -- -- -- ME ++
|
-- ++ -- Me -- -- -- ME ++
|
||||||
-- SP -- -- -- ME -- -- ME
|
-- SP -- -- -- ME -- -- ME
|
||||||
-- -- -- ME __ ++ -- Me --
|
-- -- -- ME __ ++ -- Me --
|
||||||
-- SP -- -- -- ++ -- -- ME
|
-- SP -- -- -- ++ -- -- ME
|
||||||
++ ++ -- Me -- -- -- ME ++
|
++ ++ -- Me -- -- -- ME ++
|
||||||
++ ++ MS -- ++ ME ME -- --
|
++ ++ MS -- ++ ME ME -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 1},
|
{'battle': 0, 'enemy': 3, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['MarieRoseDOA']
|
MAP_SIREN_TEMPLATE = ['MarieRoseDOA']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.714
|
MAP_SWIPE_MULTIPLY = 1.714
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.657
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.657
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,72 +1,72 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP3')
|
MAP = CampaignMap('SP3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- Me ++ ++ ++ ME -- -- --
|
-- Me ++ ++ ++ ME -- -- --
|
||||||
++ -- ME -- Me -- ME ++ --
|
++ -- ME -- Me -- ME ++ --
|
||||||
++ -- -- MS -- -- -- ME --
|
++ -- -- MS -- -- -- ME --
|
||||||
SP -- -- __ ++ Me -- -- MB
|
SP -- -- __ ++ Me -- -- MB
|
||||||
SP -- -- __ -- MS -- ME MB
|
SP -- -- __ -- MS -- ME MB
|
||||||
++ -- Me MS -- -- -- ++ --
|
++ -- Me MS -- -- -- ++ --
|
||||||
ME -- ME ++ ++ ++ ME ++ --
|
ME -- ME ++ ++ ++ ME ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2},
|
{'battle': 1, 'enemy': 2},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4},
|
{'battle': 4},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['MisakiDOA', 'KasumiDOA']
|
MAP_SIREN_TEMPLATE = ['MisakiDOA', 'KasumiDOA']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.626
|
MAP_SWIPE_MULTIPLY = 1.626
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.572
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.572
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,78 +1,78 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .sp1 import Config as ConfigBase
|
from .sp1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('SP4')
|
MAP = CampaignMap('SP4')
|
||||||
MAP.shape = 'I8'
|
MAP.shape = 'I8'
|
||||||
MAP.camera_data = ['D2', 'D6', 'F2', 'F6']
|
MAP.camera_data = ['D2', 'D6', 'F2', 'F6']
|
||||||
MAP.camera_data_spawn_point = ['F6', 'D6']
|
MAP.camera_data_spawn_point = ['F6', 'D6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ME ++ ++ ++ ME -- --
|
-- -- ME ++ ++ ++ ME -- --
|
||||||
++ ME -- -- Me -- -- ME ++
|
++ ME -- -- Me -- -- ME ++
|
||||||
ME -- ME -- ++ -- ME -- ME
|
ME -- ME -- ++ -- ME -- ME
|
||||||
ME -- ++ -- MB -- ++ -- ME
|
ME -- ++ -- MB -- ++ -- ME
|
||||||
ME -- ++ MS -- MS ++ -- ME
|
ME -- ++ MS -- MS ++ -- ME
|
||||||
++ -- Me -- __ -- Me -- ++
|
++ -- Me -- __ -- Me -- ++
|
||||||
ME -- MS -- -- -- MS -- ME
|
ME -- MS -- -- -- MS -- ME
|
||||||
++ ++ ++ SP -- SP ++ ++ ++
|
++ ++ ++ SP -- SP ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 2, 'siren': 1},
|
{'battle': 1, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4},
|
{'battle': 4},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['MisakiDOA', 'KasumiDOA', 'NagisaDOA']
|
MAP_SIREN_TEMPLATE = ['MisakiDOA', 'KasumiDOA', 'NagisaDOA']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.626
|
MAP_SWIPE_MULTIPLY = 1.626
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.572
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.572
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,97 +1,97 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('A1')
|
MAP = CampaignMap('A1')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- MS -- ME -- -- ++ ++
|
++ -- MS -- ME -- -- ++ ++
|
||||||
SP -- -- ++ ME -- Me ++ ++
|
SP -- -- ++ ME -- Me ++ ++
|
||||||
-- -- -- -- __ -- -- Me --
|
-- -- -- -- __ -- -- Me --
|
||||||
SP -- -- MS -- ME -- -- --
|
SP -- -- MS -- ME -- -- --
|
||||||
++ ++ -- ++ ++ ++ -- ++ ++
|
++ ++ -- ++ ++ ++ -- ++ ++
|
||||||
++ ME -- ME MB ME -- ME ++
|
++ ME -- ME MB ME -- ME ++
|
||||||
-- -- -- -- -- -- -- -- --
|
-- -- -- -- -- -- -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 10 90 90
|
50 50 50 50 50 50 10 90 90
|
||||||
50 50 50 50 50 50 10 90 90
|
50 50 50 50 50 50 10 90 90
|
||||||
50 50 50 50 50 50 10 10 10
|
50 50 50 50 50 50 10 10 10
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 4},
|
{'battle': 4},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['DD', 'CL']
|
MAP_SIREN_TEMPLATE = ['DD', 'CL']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
MAP_SWIPE_MULTIPLY = 1.827
|
MAP_SWIPE_MULTIPLY = 1.827
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.766
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.766
|
||||||
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
||||||
'DD': 1.111,
|
'DD': 1.111,
|
||||||
'CL': 1.111,
|
'CL': 1.111,
|
||||||
'CA': 1.111,
|
'CA': 1.111,
|
||||||
'CV': 1.111,
|
'CV': 1.111,
|
||||||
'BB': 1.111,
|
'BB': 1.111,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,72 +1,72 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .a1 import Config as ConfigBase
|
from .a1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('A2')
|
MAP = CampaignMap('A2')
|
||||||
MAP.shape = 'J6'
|
MAP.shape = 'J6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ SP -- SP -- -- ++ -- ++ ++
|
++ SP -- SP -- -- ++ -- ++ ++
|
||||||
++ -- -- -- -- -- -- ME -- ++
|
++ -- -- -- -- -- -- ME -- ++
|
||||||
ME -- MS ++ -- MS -- -- ME --
|
ME -- MS ++ -- MS -- -- ME --
|
||||||
ME -- -- -- -- ++ ME __ -- MB
|
ME -- -- -- -- ++ ME __ -- MB
|
||||||
-- Me ++ ++ Me ++ -- -- ME --
|
-- Me ++ ++ Me ++ -- -- ME --
|
||||||
-- -- ++ ++ -- -- -- ME -- ++
|
-- -- ++ ++ -- -- -- ME -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 10 10 10 10 50 50 50 50 50
|
50 10 10 10 10 50 50 50 50 50
|
||||||
50 10 90 90 10 50 50 50 50 50
|
50 10 90 90 10 50 50 50 50 50
|
||||||
50 10 90 90 10 50 50 50 50 50
|
50 10 90 90 10 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 1},
|
{'battle': 0, 'enemy': 3, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Dorsetshire', 'Rodney', 'ArkRoyal']
|
MAP_SIREN_TEMPLATE = ['Dorsetshire', 'Rodney', 'ArkRoyal']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,72 +1,72 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .a1 import Config as ConfigBase
|
from .a1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('A3')
|
MAP = CampaignMap('A3')
|
||||||
MAP.shape = 'J6'
|
MAP.shape = 'J6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ME -- ++ ++ -- ++ ++ ++
|
-- -- ME -- ++ ++ -- ++ ++ ++
|
||||||
-- ++ -- Me ++ ++ Me -- ME ME
|
-- ++ -- Me ++ ++ Me -- ME ME
|
||||||
++ MS -- -- MB MB -- -- -- --
|
++ MS -- -- MB MB -- -- -- --
|
||||||
++ -- -- -- -- -- __ ++ ++ ME
|
++ -- -- -- -- -- __ ++ ++ ME
|
||||||
SP -- -- MS ME ME -- ME ++ --
|
SP -- -- MS ME ME -- ME ++ --
|
||||||
-- SP -- ++ ++ ++ -- -- ME --
|
-- SP -- ++ ++ ++ -- -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 10 90 90 10 50 50 50
|
50 50 50 10 90 90 10 50 50 50
|
||||||
50 50 50 10 90 90 10 50 50 50
|
50 50 50 10 90 90 10 50 50 50
|
||||||
50 50 50 10 10 10 10 50 50 50
|
50 50 50 10 10 10 10 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 1},
|
{'battle': 0, 'enemy': 3, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'boss': 1},
|
{'battle': 4, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Kongo', 'Yamashiro']
|
MAP_SIREN_TEMPLATE = ['Kongo', 'Yamashiro']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,88 +1,88 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('B1')
|
MAP = CampaignMap('B1')
|
||||||
MAP.shape = 'I8'
|
MAP.shape = 'I8'
|
||||||
MAP.camera_data = ['D2', 'D6', 'F2', 'F6']
|
MAP.camera_data = ['D2', 'D6', 'F2', 'F6']
|
||||||
MAP.camera_data_spawn_point = ['D6']
|
MAP.camera_data_spawn_point = ['D6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ -- -- ME ++ ++ ++
|
-- -- ++ -- -- ME ++ ++ ++
|
||||||
-- ++ ++ Me -- -- ME -- --
|
-- ++ ++ Me -- -- ME -- --
|
||||||
++ ++ ++ -- ++ -- -- -- MB
|
++ ++ ++ -- ++ -- -- -- MB
|
||||||
-- Me -- Me -- -- ME -- --
|
-- Me -- Me -- -- ME -- --
|
||||||
-- -- MS -- __ MS ++ ++ ME
|
-- -- MS -- __ MS ++ ++ ME
|
||||||
++ ++ ++ -- -- -- ++ ME --
|
++ ++ ++ -- -- -- ++ ME --
|
||||||
++ -- SP -- MS -- -- -- ME
|
++ -- SP -- MS -- -- -- ME
|
||||||
++ -- SP -- ++ ME -- ME --
|
++ -- SP -- ++ ME -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4, 'siren': 1},
|
{'battle': 0, 'enemy': 4, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z24', 'Nuremberg', 'Carabiniere']
|
MAP_SIREN_TEMPLATE = ['Z24', 'Nuremberg', 'Carabiniere']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.561
|
MAP_SWIPE_MULTIPLY = 1.561
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.509
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.509
|
||||||
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
||||||
'DD': 1.111,
|
'DD': 1.111,
|
||||||
'CL': 1.111,
|
'CL': 1.111,
|
||||||
'CA': 1.111,
|
'CA': 1.111,
|
||||||
'CV': 1.111,
|
'CV': 1.111,
|
||||||
'BB': 1.111,
|
'BB': 1.111,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,80 +1,80 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .b1 import Config as ConfigBase
|
from .b1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('B2')
|
MAP = CampaignMap('B2')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ++ ++ ++ MB MB ++ ++ ++
|
-- ++ -- ++ ++ ++ MB MB ++ ++ ++
|
||||||
-- -- -- ++ -- ME -- -- -- ME ++
|
-- -- -- ++ -- ME -- -- -- ME ++
|
||||||
SP -- SP ++ ME -- ++ ME -- ME ++
|
SP -- SP ++ ME -- ++ ME -- ME ++
|
||||||
-- -- -- -- -- __ -- ++ -- -- --
|
-- -- -- -- -- __ -- ++ -- -- --
|
||||||
++ -- ++ ++ ME -- ME -- -- Me Me
|
++ -- ++ ++ ME -- ME -- -- Me Me
|
||||||
MS -- MS ++ -- -- -- -- Me ++ ++
|
MS -- MS ++ -- -- -- -- Me ++ ++
|
||||||
-- MS -- ME -- ME ++ ++ ++ ++ ++
|
-- MS -- ME -- ME ++ ++ ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4, 'siren': 1},
|
{'battle': 0, 'enemy': 4, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z24', 'Carabiniere', 'Kongo', 'Yamashiro']
|
MAP_SIREN_TEMPLATE = ['Z24', 'Carabiniere', 'Kongo', 'Yamashiro']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.783
|
MAP_SWIPE_MULTIPLY = 1.783
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.724
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.724
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,92 +1,92 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .b1 import Config as ConfigBase
|
from .b1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('B3')
|
MAP = CampaignMap('B3')
|
||||||
MAP.shape = 'J10'
|
MAP.shape = 'J10'
|
||||||
MAP.camera_data = ['D2', 'D6', 'D8', 'G2', 'G6', 'G8']
|
MAP.camera_data = ['D2', 'D6', 'D8', 'G2', 'G6', 'G8']
|
||||||
MAP.camera_data_spawn_point = ['D8', 'G8']
|
MAP.camera_data_spawn_point = ['D8', 'G8']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- -- ME -- -- ME -- -- ++
|
++ -- -- ME -- -- ME -- -- ++
|
||||||
-- -- ++ -- MB MB -- ++ -- --
|
-- -- ++ -- MB MB -- ++ -- --
|
||||||
++ -- -- ME -- -- ME -- -- ++
|
++ -- -- ME -- -- ME -- -- ++
|
||||||
-- ++ ++ ME -- -- ME ++ ++ --
|
-- ++ ++ ME -- -- ME ++ ++ --
|
||||||
++ ++ MS -- __ __ -- MS ++ ++
|
++ ++ MS -- __ __ -- MS ++ ++
|
||||||
++ ME -- -- ++ ++ -- -- ME ++
|
++ ME -- -- ++ ++ -- -- ME ++
|
||||||
-- ME -- Me ++ ++ Me -- ME --
|
-- ME -- Me ++ ++ Me -- ME --
|
||||||
++ ++ -- -- Me Me -- -- ++ ++
|
++ ++ -- -- Me Me -- -- ++ ++
|
||||||
-- ++ MS -- -- -- -- MS ++ --
|
-- ++ MS -- -- -- -- MS ++ --
|
||||||
-- ++ ++ ++ SP SP ++ ++ ++ --
|
-- ++ ++ ++ SP SP ++ ++ ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 10 10 10 10 50 50 50
|
50 50 50 10 10 10 10 50 50 50
|
||||||
50 50 50 10 90 90 10 50 50 50
|
50 50 50 10 90 90 10 50 50 50
|
||||||
50 50 50 10 90 90 10 50 50 50
|
50 50 50 10 90 90 10 50 50 50
|
||||||
50 50 50 10 10 10 10 50 50 50
|
50 50 50 10 10 10 10 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4, 'siren': 2},
|
{'battle': 0, 'enemy': 4, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, \
|
||||||
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, \
|
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['DD', 'CL', 'Intruder']
|
MAP_SIREN_TEMPLATE = ['DD', 'CL', 'Intruder']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.445
|
MAP_SWIPE_MULTIPLY = 1.445
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,101 +1,101 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('C1')
|
MAP = CampaignMap('C1')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- MS -- ME -- -- ++ ++
|
++ -- MS -- ME -- -- ++ ++
|
||||||
SP -- -- ++ ME -- Me ++ ++
|
SP -- -- ++ ME -- Me ++ ++
|
||||||
-- -- -- -- __ -- -- Me --
|
-- -- -- -- __ -- -- Me --
|
||||||
SP -- -- MS -- ME -- -- --
|
SP -- -- MS -- ME -- -- --
|
||||||
++ ++ -- ++ ++ ++ -- ++ ++
|
++ ++ -- ++ ++ ++ -- ++ ++
|
||||||
++ ME -- ME MB ME -- ME ++
|
++ ME -- ME MB ME -- ME ++
|
||||||
-- -- -- -- -- -- -- -- --
|
-- -- -- -- -- -- -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 10 90 90
|
50 50 50 50 50 50 10 90 90
|
||||||
50 50 50 50 50 50 10 90 90
|
50 50 50 50 50 50 10 90 90
|
||||||
50 50 50 50 50 50 10 10 10
|
50 50 50 50 50 50 10 10 10
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL', 'CA']
|
MAP_SIREN_TEMPLATE = ['CL', 'CA']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 5,
|
'prominence': 5,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 5,
|
'prominence': 5,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
HOMO_EDGE_HOUGHLINES_THRESHOLD = 180
|
HOMO_EDGE_HOUGHLINES_THRESHOLD = 180
|
||||||
MAP_SWIPE_MULTIPLY = 1.827
|
MAP_SWIPE_MULTIPLY = 1.827
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.766
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.766
|
||||||
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
||||||
'DD': 1.111,
|
'DD': 1.111,
|
||||||
'CL': 1.111,
|
'CL': 1.111,
|
||||||
'CA': 1.111,
|
'CA': 1.111,
|
||||||
'CV': 1.111,
|
'CV': 1.111,
|
||||||
'BB': 1.111,
|
'BB': 1.111,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,75 +1,75 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .c1 import Config as ConfigBase
|
from .c1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('C2')
|
MAP = CampaignMap('C2')
|
||||||
MAP.shape = 'J6'
|
MAP.shape = 'J6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ SP -- SP -- -- ++ -- ++ ++
|
++ SP -- SP -- -- ++ -- ++ ++
|
||||||
++ -- -- -- -- -- -- ME -- ++
|
++ -- -- -- -- -- -- ME -- ++
|
||||||
ME -- MS ++ -- MS -- -- ME --
|
ME -- MS ++ -- MS -- -- ME --
|
||||||
ME -- -- -- -- ++ ME __ -- MB
|
ME -- -- -- -- ++ ME __ -- MB
|
||||||
-- Me ++ ++ Me ++ -- -- ME --
|
-- Me ++ ++ Me ++ -- -- ME --
|
||||||
-- -- ++ ++ -- -- -- ME -- ++
|
-- -- ++ ++ -- -- -- ME -- ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 10 10 10 10 50 50 50 50 50
|
50 10 10 10 10 50 50 50 50 50
|
||||||
50 10 90 90 10 50 50 50 50 50
|
50 10 90 90 10 50 50 50 50 50
|
||||||
50 10 90 90 10 50 50 50 50 50
|
50 10 90 90 10 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1, 'boss': 1},
|
{'battle': 4, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Dorsetshire', 'Rodney', 'ArkRoyal']
|
MAP_SIREN_TEMPLATE = ['Dorsetshire', 'Rodney', 'ArkRoyal']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .c1 import Config as ConfigBase
|
from .c1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('C3')
|
MAP = CampaignMap('C3')
|
||||||
MAP.shape = 'J6'
|
MAP.shape = 'J6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
MAP.camera_data = ['D2', 'D4', 'G2', 'G4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ME -- ++ ++ -- ++ ++ ++
|
-- -- ME -- ++ ++ -- ++ ++ ++
|
||||||
-- ++ -- Me ++ ++ Me -- ME ME
|
-- ++ -- Me ++ ++ Me -- ME ME
|
||||||
++ MS -- -- MB MB -- -- -- --
|
++ MS -- -- MB MB -- -- -- --
|
||||||
++ -- -- -- -- -- __ ++ ++ ME
|
++ -- -- -- -- -- __ ++ ++ ME
|
||||||
SP -- -- MS ME ME -- ME ++ --
|
SP -- -- MS ME ME -- ME ++ --
|
||||||
-- SP -- ++ ++ ++ -- -- ME --
|
-- SP -- ++ ++ ++ -- -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 10 90 90 10 50 50 50
|
50 50 50 10 90 90 10 50 50 50
|
||||||
50 50 50 10 90 90 10 50 50 50
|
50 50 50 10 90 90 10 50 50 50
|
||||||
50 50 50 10 10 10 10 50 50 50
|
50 50 50 10 10 10 10 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'boss': 1},
|
{'battle': 5, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Kongo', 'Yamashiro', 'Shokaku', 'Zuikaku']
|
MAP_SIREN_TEMPLATE = ['Kongo', 'Yamashiro', 'Shokaku', 'Zuikaku']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,117 +1,117 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('D1')
|
MAP = CampaignMap('D1')
|
||||||
MAP.shape = 'I8'
|
MAP.shape = 'I8'
|
||||||
MAP.camera_data = ['D3', 'D6', 'F3', 'F6']
|
MAP.camera_data = ['D3', 'D6', 'F3', 'F6']
|
||||||
MAP.camera_data_spawn_point = ['D6']
|
MAP.camera_data_spawn_point = ['D6']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- ++ -- -- ME ++ ++ ++
|
-- -- ++ -- -- ME ++ ++ ++
|
||||||
-- ++ ++ Me -- -- ME -- --
|
-- ++ ++ Me -- -- ME -- --
|
||||||
++ ++ ++ -- ++ -- -- -- MB
|
++ ++ ++ -- ++ -- -- -- MB
|
||||||
-- Me -- Me -- -- ME -- --
|
-- Me -- Me -- -- ME -- --
|
||||||
-- -- MS -- __ MS ++ ++ ME
|
-- -- MS -- __ MS ++ ++ ME
|
||||||
++ ++ ++ -- -- -- ++ ME --
|
++ ++ ++ -- -- -- ++ ME --
|
||||||
++ -- SP -- MS -- -- -- ME
|
++ -- SP -- MS -- -- -- ME
|
||||||
++ -- SP -- ++ ME -- ME --
|
++ -- SP -- ++ ME -- ME --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4, 'siren': 2},
|
{'battle': 0, 'enemy': 4, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1},
|
{'battle': 2, 'enemy': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z24', 'Nuremberg', 'Carabiniere']
|
MAP_SIREN_TEMPLATE = ['Z24', 'Nuremberg', 'Carabiniere']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
HOMO_EDGE_HOUGHLINES_THRESHOLD = 180
|
HOMO_EDGE_HOUGHLINES_THRESHOLD = 180
|
||||||
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
||||||
'DD': 1.111,
|
'DD': 1.111,
|
||||||
'CL': 1.111,
|
'CL': 1.111,
|
||||||
'CA': 1.111,
|
'CA': 1.111,
|
||||||
'CV': 1.111,
|
'CV': 1.111,
|
||||||
'BB': 1.111,
|
'BB': 1.111,
|
||||||
}
|
}
|
||||||
MAP_SWIPE_MULTIPLY = 1.579
|
MAP_SWIPE_MULTIPLY = 1.579
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.527
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.527
|
||||||
MAP_ENEMY_TEMPLATE = ['LightInvertedOrthant', 'MainInvertedOrthant', 'CarrierInvertedOrthant']
|
MAP_ENEMY_TEMPLATE = ['LightInvertedOrthant', 'MainInvertedOrthant', 'CarrierInvertedOrthant']
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
if self.clear_enemy(scale=(2,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
if self.clear_enemy(scale=(3,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
if self.clear_enemy(scale=(2,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
if self.clear_enemy(scale=(3,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,82 +1,82 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .d1 import Config as ConfigBase
|
from .d1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('D2')
|
MAP = CampaignMap('D2')
|
||||||
MAP.shape = 'K7'
|
MAP.shape = 'K7'
|
||||||
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
MAP.camera_data = ['D3', 'D5', 'H3', 'H5']
|
||||||
MAP.camera_data_spawn_point = ['D2']
|
MAP.camera_data_spawn_point = ['D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ++ ++ ++ MB MB ++ ++ ++
|
-- ++ -- ++ ++ ++ MB MB ++ ++ ++
|
||||||
-- -- -- ++ -- ME -- -- -- ME ++
|
-- -- -- ++ -- ME -- -- -- ME ++
|
||||||
SP -- SP ++ ME -- ++ ME -- ME ++
|
SP -- SP ++ ME -- ++ ME -- ME ++
|
||||||
-- -- -- -- -- __ -- ++ -- -- --
|
-- -- -- -- -- __ -- ++ -- -- --
|
||||||
++ -- ++ ++ ME -- ME -- -- Me Me
|
++ -- ++ ++ ME -- ME -- -- Me Me
|
||||||
MS -- MS ++ -- -- -- -- Me ++ ++
|
MS -- MS ++ -- -- -- -- Me ++ ++
|
||||||
-- MS -- ME -- ME ++ ++ ++ ++ ++
|
-- MS -- ME -- ME ++ ++ ++ ++ ++
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4, 'siren': 2},
|
{'battle': 0, 'enemy': 4, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1, 'siren': 1},
|
{'battle': 2, 'enemy': 1, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z24', 'Carabiniere', 'Kongo', 'Yamashiro']
|
MAP_SIREN_TEMPLATE = ['Z24', 'Carabiniere', 'Kongo', 'Yamashiro']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.783
|
MAP_SWIPE_MULTIPLY = 1.783
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.724
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.724
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,126 +1,126 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .d1 import Config as ConfigBase
|
from .d1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('D3')
|
MAP = CampaignMap('D3')
|
||||||
MAP.shape = 'J10'
|
MAP.shape = 'J10'
|
||||||
MAP.camera_data = ['D2', 'D6', 'D8', 'G2', 'G6', 'G8']
|
MAP.camera_data = ['D2', 'D6', 'D8', 'G2', 'G6', 'G8']
|
||||||
MAP.camera_data_spawn_point = ['D8', 'G8']
|
MAP.camera_data_spawn_point = ['D8', 'G8']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
++ -- -- ME -- -- ME -- -- ++
|
++ -- -- ME -- -- ME -- -- ++
|
||||||
-- -- ++ -- MB MB -- ++ -- --
|
-- -- ++ -- MB MB -- ++ -- --
|
||||||
++ -- -- ME -- -- ME -- -- ++
|
++ -- -- ME -- -- ME -- -- ++
|
||||||
-- ++ ++ ME -- -- ME ++ ++ --
|
-- ++ ++ ME -- -- ME ++ ++ --
|
||||||
++ ++ MS -- __ __ -- MS ++ ++
|
++ ++ MS -- __ __ -- MS ++ ++
|
||||||
++ ME -- -- ++ ++ -- -- ME ++
|
++ ME -- -- ++ ++ -- -- ME ++
|
||||||
-- ME -- Me ++ ++ Me -- ME --
|
-- ME -- Me ++ ++ Me -- ME --
|
||||||
++ ++ -- -- Me Me -- -- ++ ++
|
++ ++ -- -- Me Me -- -- ++ ++
|
||||||
-- ++ MS -- -- -- -- MS ++ --
|
-- ++ MS -- -- -- -- MS ++ --
|
||||||
-- ++ ++ ++ SP SP ++ ++ ++ --
|
-- ++ ++ ++ SP SP ++ ++ ++ --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 4, 'siren': 2},
|
{'battle': 0, 'enemy': 4, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1, 'siren': 1},
|
{'battle': 2, 'enemy': 1, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
MAP.spawn_data_loop = [
|
MAP.spawn_data_loop = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6, 'boss': 1},
|
{'battle': 6, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, \
|
||||||
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, \
|
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['BBpurple', 'CVpurple', 'Intruder']
|
MAP_SIREN_TEMPLATE = ['BBpurple', 'CVpurple', 'Intruder']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = True
|
MAP_HAS_MAP_STORY = True
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.445
|
MAP_SWIPE_MULTIPLY = 1.445
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
||||||
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
MAP_ENEMY_GENRE_DETECTION_SCALING = {
|
||||||
'BBpurple': 1.111,
|
'BBpurple': 1.111,
|
||||||
'CVpurple': 1.111,
|
'CVpurple': 1.111,
|
||||||
}
|
}
|
||||||
MAP_ENEMY_TEMPLATE = ['MainPurple', 'CarrierPurple']
|
MAP_ENEMY_TEMPLATE = ['MainPurple', 'CarrierPurple']
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
if self.clear_enemy(scale=(2,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
if self.clear_enemy(scale=(3,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
if self.clear_enemy(scale=(2,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
if self.clear_enemy(scale=(3,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
if self.fleet_2_protect():
|
if self.fleet_2_protect():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(1,)):
|
if self.clear_enemy(scale=(1,)):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
if self.clear_enemy(scale=(2,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
if self.clear_enemy(scale=(3,), genre=['LightInvertedOrthant', 'MainInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(2,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
if self.clear_enemy(scale=(2,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
if self.clear_enemy(scale=(3,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
if self.clear_enemy(scale=(3,), genre=['Enemy', 'CarrierInvertedOrthant']):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_6(self):
|
def battle_6(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,102 +1,102 @@
|
|||||||
from module.campaign.campaign_base import CampaignBase
|
from module.campaign.campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('SP')
|
MAP = CampaignMap('SP')
|
||||||
MAP.shape = 'M10'
|
MAP.shape = 'M10'
|
||||||
MAP.camera_data = ['F6', 'I6', 'G8']
|
MAP.camera_data = ['F6', 'I6', 'G8']
|
||||||
MAP.camera_data_spawn_point = ['D8']
|
MAP.camera_data_spawn_point = ['D8']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- -- -- -- -- -- -- -- -- -- --
|
-- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
-- -- -- -- -- ++ ++ -- -- -- -- -- --
|
-- -- -- -- -- ++ ++ -- -- -- -- -- --
|
||||||
-- ++ ++ ++ -- -- ++ -- -- ++ ++ ++ --
|
-- ++ ++ ++ -- -- ++ -- -- ++ ++ ++ --
|
||||||
-- -- ++ ++ ++ ++ ++ ++ ++ ++ ++ -- --
|
-- -- ++ ++ ++ ++ ++ ++ ++ ++ ++ -- --
|
||||||
-- -- ME -- ++ ++ ++ ++ ++ -- ME -- --
|
-- -- ME -- ++ ++ ++ ++ ++ -- ME -- --
|
||||||
-- -- -- ME -- -- ++ -- -- ME -- -- --
|
-- -- -- ME -- -- ++ -- -- ME -- -- --
|
||||||
-- -- -- -- ME ++ MB ++ ME -- Me Me --
|
-- -- -- -- ME ++ MB ++ ME -- Me Me --
|
||||||
-- SP -- -- -- MS -- MS -- -- ++ ++ --
|
-- SP -- -- -- MS -- MS -- -- ++ ++ --
|
||||||
-- -- SP -- -- -- __ -- -- -- ++ ++ --
|
-- -- SP -- -- -- __ -- -- -- ++ ++ --
|
||||||
-- -- -- -- -- MS -- MS -- -- -- -- --
|
-- -- -- -- -- MS -- MS -- -- -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 2},
|
{'battle': 0, 'enemy': 3, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 1, 'siren': 1},
|
{'battle': 2, 'enemy': 1, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 1},
|
{'battle': 4, 'enemy': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
{'battle': 6},
|
{'battle': 6},
|
||||||
{'battle': 7, 'boss': 1},
|
{'battle': 7, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, L2, M2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, L2, M2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, L3, M3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, L3, M3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, L4, M4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, L4, M4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, L5, M5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, L5, M5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, L6, M6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, L6, M6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, L7, M7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, L7, M7, \
|
||||||
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, L8, M8, \
|
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, L8, M8, \
|
||||||
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, L9, M9, \
|
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, L9, M9, \
|
||||||
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, K10, L10, M10, \
|
A10, B10, C10, D10, E10, F10, G10, H10, I10, J10, K10, L10, M10, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Z24', 'Nuremberg', 'PeterStrasser']
|
MAP_SIREN_TEMPLATE = ['Z24', 'Nuremberg', 'PeterStrasser']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
'width': (0, 10),
|
'width': (0, 10),
|
||||||
'wlen': 1000,
|
'wlen': 1000,
|
||||||
}
|
}
|
||||||
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
|
||||||
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
|
||||||
HOMO_EDGE_HOUGHLINES_THRESHOLD = 180
|
HOMO_EDGE_HOUGHLINES_THRESHOLD = 180
|
||||||
MAP_SWIPE_MULTIPLY = 1.445
|
MAP_SWIPE_MULTIPLY = 1.445
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.397
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_7(self):
|
def battle_7(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,81 +1,81 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('A1')
|
MAP = CampaignMap('A1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D4']
|
MAP.camera_data_spawn_point = ['D4']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ME -- ++ ME --
|
-- ++ -- ME -- ++ ME --
|
||||||
Me ++ -- MB -- Me -- --
|
Me ++ -- MB -- Me -- --
|
||||||
-- -- __ ++ ++ -- -- ME
|
-- -- __ ++ ++ -- -- ME
|
||||||
-- Me -- ME ++ -- MS ME
|
-- Me -- ME ++ -- MS ME
|
||||||
SP -- ME -- ME -- ++ --
|
SP -- ME -- ME -- ++ --
|
||||||
SP SP -- -- -- -- MB --
|
SP SP -- -- -- -- MB --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL']
|
MAP_SIREN_TEMPLATE = ['CL']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.519
|
MAP_SWIPE_MULTIPLY = 1.519
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (150, 255 - 24),
|
'height': (150, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .a1 import Config as ConfigBase
|
from .a1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('A2')
|
MAP = CampaignMap('A2')
|
||||||
MAP.shape = 'G7'
|
MAP.shape = 'G7'
|
||||||
MAP.camera_data = ['D2', 'D5']
|
MAP.camera_data = ['D2', 'D5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ME MS MS -- ++ --
|
-- ME MS MS -- ++ --
|
||||||
ME -- -- -- -- ME --
|
ME -- -- -- -- ME --
|
||||||
-- -- __ -- SP ++ ++
|
-- -- __ -- SP ++ ++
|
||||||
ME -- ME ++ -- ++ ++
|
ME -- ME ++ -- ++ ++
|
||||||
++ -- -- ++ -- SP --
|
++ -- -- ++ -- SP --
|
||||||
-- MB MS -- -- ++ ++
|
-- MB MS -- -- ++ ++
|
||||||
-- -- MS ME -- -- --
|
-- -- MS ME -- -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 10 50 50
|
50 50 50 50 10 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50
|
50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 3, 'siren': 1},
|
{'battle': 0, 'enemy': 3, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1, 'siren': 1},
|
{'battle': 1, 'enemy': 1, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, \
|
A1, B1, C1, D1, E1, F1, G1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, \
|
A2, B2, C2, D2, E2, F2, G2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, \
|
A3, B3, C3, D3, E3, F3, G3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, \
|
A4, B4, C4, D4, E4, F4, G4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, \
|
A5, B5, C5, D5, E5, F5, G5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, \
|
A6, B6, C6, D6, E6, F6, G6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, \
|
A7, B7, C7, D7, E7, F7, G7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Swordfish']
|
MAP_SIREN_TEMPLATE = ['Swordfish']
|
||||||
MOVABLE_ENEMY_TURN = (1,)
|
MOVABLE_ENEMY_TURN = (1,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def get_map_clear_percentage(self):
|
def get_map_clear_percentage(self):
|
||||||
"""
|
"""
|
||||||
map clear here is shorter than normal, about 70% at max
|
map clear here is shorter than normal, about 70% at max
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
float: 0 to 1.
|
float: 0 to 1.
|
||||||
"""
|
"""
|
||||||
return super().get_map_clear_percentage() * 1.4
|
return super().get_map_clear_percentage() * 1.4
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if not self.map_is_clear_mode:
|
if not self.map_is_clear_mode:
|
||||||
for grid in self.map:
|
for grid in self.map:
|
||||||
grid.may_siren = True
|
grid.may_siren = True
|
||||||
|
|
||||||
self.fleet_2_push_forward()
|
self.fleet_2_push_forward()
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .a1 import Config as ConfigBase
|
from .a1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('A3')
|
MAP = CampaignMap('A3')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['F2']
|
MAP.camera_data_spawn_point = ['F2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- MS -- -- SP ++ ++
|
-- -- -- MS -- -- SP ++ ++
|
||||||
Me -- -- -- ++ -- -- ++ ++
|
Me -- -- -- ++ -- -- ++ ++
|
||||||
-- ME ME ME ++ -- -- -- SP
|
-- ME ME ME ++ -- -- -- SP
|
||||||
-- -- -- __ -- -- -- -- --
|
-- -- -- __ -- -- -- -- --
|
||||||
-- MS -- -- MB -- ++ ++ --
|
-- MS -- -- MB -- ++ ++ --
|
||||||
-- -- ++ MS ME -- -- -- MS
|
-- -- ++ MS ME -- -- -- MS
|
||||||
-- ME ++ -- MB -- Me -- --
|
-- ME ++ -- MB -- Me -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1, 'siren': 1},
|
{'battle': 1, 'enemy': 1, 'siren': 1},
|
||||||
{'battle': 2, 'enemy': 2, 'siren': 1},
|
{'battle': 2, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Swordfish']
|
MAP_SIREN_TEMPLATE = ['Swordfish']
|
||||||
MOVABLE_ENEMY_TURN = (1,)
|
MOVABLE_ENEMY_TURN = (1,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
MAP_SWIPE_MULTIPLY = 1.626
|
MAP_SWIPE_MULTIPLY = 1.626
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.572
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.572
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def get_map_clear_percentage(self):
|
def get_map_clear_percentage(self):
|
||||||
"""
|
"""
|
||||||
map clear here is shorter than normal, about 70% at max
|
map clear here is shorter than normal, about 70% at max
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
float: 0 to 1.
|
float: 0 to 1.
|
||||||
"""
|
"""
|
||||||
return super().get_map_clear_percentage() * 1.4
|
return super().get_map_clear_percentage() * 1.4
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if not self.map_is_clear_mode:
|
if not self.map_is_clear_mode:
|
||||||
for grid in self.map:
|
for grid in self.map:
|
||||||
grid.may_siren = True
|
grid.may_siren = True
|
||||||
|
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,70 +1,70 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('AS1')
|
MAP = CampaignMap('AS1')
|
||||||
MAP.shape = 'H6'
|
MAP.shape = 'H6'
|
||||||
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
MAP.camera_data = ['D2', 'D4', 'E2', 'E4']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'E2']
|
MAP.camera_data_spawn_point = ['D2', 'E2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- ++ -- ME MS -- -- ME
|
-- ++ -- ME MS -- -- ME
|
||||||
-- ++ -- -- -- ++ ++ --
|
-- ++ -- -- -- ++ ++ --
|
||||||
ME -- SP -- SP -- ++ Me
|
ME -- SP -- SP -- ++ Me
|
||||||
-- -- -- ME -- __ -- --
|
-- -- -- ME -- __ -- --
|
||||||
ME -- -- -- -- -- ME --
|
ME -- -- -- -- -- ME --
|
||||||
ME ++ MS -- MB -- MB --
|
ME ++ MS -- MB -- MB --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1, 'boss': 1},
|
{'battle': 3, 'enemy': 1, 'boss': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL']
|
MAP_SIREN_TEMPLATE = ['CL']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_IS_ONE_TIME_STAGE = True
|
MAP_IS_ONE_TIME_STAGE = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_3(self):
|
def battle_3(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,74 +1,74 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .as1 import Config as ConfigBase
|
from .as1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('AS2')
|
MAP = CampaignMap('AS2')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'E2']
|
MAP.camera_data_spawn_point = ['D2', 'E2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- MS ++ -- -- MB -- --
|
-- MS ++ -- -- MB -- --
|
||||||
ME -- -- -- -- -- ++ --
|
ME -- -- -- -- -- ++ --
|
||||||
-- ME -- SP SP -- -- --
|
-- ME -- SP SP -- -- --
|
||||||
-- ME -- -- -- ++ ++ --
|
-- ME -- -- -- ++ ++ --
|
||||||
ME -- __ -- -- ++ ++ ME
|
ME -- __ -- -- ++ ++ ME
|
||||||
++ ++ ++ MB -- -- ME --
|
++ ++ ++ MB -- -- ME --
|
||||||
-- -- ME -- ME -- MS --
|
-- -- ME -- ME -- MS --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['CL']
|
MAP_SIREN_TEMPLATE = ['CL']
|
||||||
MOVABLE_ENEMY_TURN = (2,)
|
MOVABLE_ENEMY_TURN = (2,)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
STAR_REQUIRE_1 = 0
|
STAR_REQUIRE_1 = 0
|
||||||
STAR_REQUIRE_2 = 0
|
STAR_REQUIRE_2 = 0
|
||||||
STAR_REQUIRE_3 = 0
|
STAR_REQUIRE_3 = 0
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_IS_ONE_TIME_STAGE = True
|
MAP_IS_ONE_TIME_STAGE = True
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,84 +1,84 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
|
|
||||||
MAP = CampaignMap('B1')
|
MAP = CampaignMap('B1')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['D5']
|
MAP.camera_data_spawn_point = ['D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- MS -- -- -- --
|
-- -- -- MS -- -- -- --
|
||||||
-- ME -- ++ ++ ME -- ++
|
-- ME -- ++ ++ ME -- ++
|
||||||
++ -- MB ++ ++ -- -- ++
|
++ -- MB ++ ++ -- -- ++
|
||||||
MS ME -- __ -- ME -- Me
|
MS ME -- __ -- ME -- Me
|
||||||
-- -- MS -- ME -- -- --
|
-- -- MS -- ME -- -- --
|
||||||
ME ME -- -- -- ++ ++ ++
|
ME ME -- -- -- ++ ++ ++
|
||||||
-- -- SP SP -- -- Me --
|
-- -- SP SP -- -- Me --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2, 'boss': 1},
|
{'battle': 4, 'enemy': 2, 'boss': 1},
|
||||||
{'battle': 5, 'enemy': 1},
|
{'battle': 5, 'enemy': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Carabiniere', 'Trento']
|
MAP_SIREN_TEMPLATE = ['Carabiniere', 'Trento']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
MAP_SWIPE_MULTIPLY = 1.519
|
MAP_SWIPE_MULTIPLY = 1.519
|
||||||
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
|
MAP_SWIPE_MULTIPLY_MINITOUCH = 1.469
|
||||||
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (80, 255 - 24),
|
'height': (80, 255 - 24),
|
||||||
'width': (0.9, 10),
|
'width': (0.9, 10),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 35,
|
'distance': 35,
|
||||||
}
|
}
|
||||||
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
|
||||||
'height': (255 - 24, 255),
|
'height': (255 - 24, 255),
|
||||||
'prominence': 10,
|
'prominence': 10,
|
||||||
'distance': 50,
|
'distance': 50,
|
||||||
# 'width': (0, 7),
|
# 'width': (0, 7),
|
||||||
'wlen': 1000
|
'wlen': 1000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_4(self):
|
def battle_4(self):
|
||||||
return self.clear_boss()
|
return self.clear_boss()
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .b1 import Config as ConfigBase
|
from .b1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('B2')
|
MAP = CampaignMap('B2')
|
||||||
MAP.shape = 'I7'
|
MAP.shape = 'I7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
MAP.camera_data = ['D2', 'D5', 'F2', 'F5']
|
||||||
MAP.camera_data_spawn_point = ['F2', 'D2']
|
MAP.camera_data_spawn_point = ['F2', 'D2']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- -- -- SP SP ME -- --
|
-- -- -- -- SP SP ME -- --
|
||||||
-- -- MS Me -- -- -- ME --
|
-- -- MS Me -- -- -- ME --
|
||||||
ME ++ ++ ++ -- -- -- ++ ME
|
ME ++ ++ ++ -- -- -- ++ ME
|
||||||
-- -- ME -- -- MS -- ++ --
|
-- -- ME -- -- MS -- ++ --
|
||||||
-- -- Me __ -- ++ -- -- ME
|
-- -- Me __ -- ++ -- -- ME
|
||||||
++ ME ME -- -- -- Me -- --
|
++ ME ME -- -- -- Me -- --
|
||||||
-- -- -- MB -- MB -- Me --
|
-- -- -- MB -- MB -- Me --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 1},
|
{'battle': 0, 'enemy': 2, 'siren': 1},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Carabiniere', 'Trento']
|
MAP_SIREN_TEMPLATE = ['Carabiniere', 'Trento']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
from .campaign_base import CampaignBase
|
from .campaign_base import CampaignBase
|
||||||
from module.map.map_base import CampaignMap
|
from module.map.map_base import CampaignMap
|
||||||
from module.map.map_grids import SelectedGrids, RoadGrids
|
from module.map.map_grids import SelectedGrids, RoadGrids
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from .b1 import Config as ConfigBase
|
from .b1 import Config as ConfigBase
|
||||||
|
|
||||||
MAP = CampaignMap('B3')
|
MAP = CampaignMap('B3')
|
||||||
MAP.shape = 'H7'
|
MAP.shape = 'H7'
|
||||||
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
|
||||||
MAP.camera_data_spawn_point = ['D2', 'D5']
|
MAP.camera_data_spawn_point = ['D2', 'D5']
|
||||||
MAP.map_data = """
|
MAP.map_data = """
|
||||||
-- -- MS -- ME -- -- --
|
-- -- MS -- ME -- -- --
|
||||||
-- Me ++ MS -- Me ME ME
|
-- Me ++ MS -- Me ME ME
|
||||||
SP -- ME -- Me ++ ++ ++
|
SP -- ME -- Me ++ ++ ++
|
||||||
-- -- -- __ -- -- MB --
|
-- -- -- __ -- -- MB --
|
||||||
SP -- -- -- -- ++ ++ ++
|
SP -- -- -- -- ++ ++ ++
|
||||||
-- Me ++ ++ MS -- -- ME
|
-- Me ++ ++ MS -- -- ME
|
||||||
Me ME ++ ++ ME ME -- --
|
Me ME ++ ++ ME ME -- --
|
||||||
"""
|
"""
|
||||||
MAP.weight_data = """
|
MAP.weight_data = """
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
50 50 50 50 50 50 50 50
|
50 50 50 50 50 50 50 50
|
||||||
"""
|
"""
|
||||||
MAP.spawn_data = [
|
MAP.spawn_data = [
|
||||||
{'battle': 0, 'enemy': 2, 'siren': 2},
|
{'battle': 0, 'enemy': 2, 'siren': 2},
|
||||||
{'battle': 1, 'enemy': 1},
|
{'battle': 1, 'enemy': 1},
|
||||||
{'battle': 2, 'enemy': 2},
|
{'battle': 2, 'enemy': 2},
|
||||||
{'battle': 3, 'enemy': 1},
|
{'battle': 3, 'enemy': 1},
|
||||||
{'battle': 4, 'enemy': 2},
|
{'battle': 4, 'enemy': 2},
|
||||||
{'battle': 5, 'enemy': 1, 'boss': 1},
|
{'battle': 5, 'enemy': 1, 'boss': 1},
|
||||||
]
|
]
|
||||||
A1, B1, C1, D1, E1, F1, G1, H1, \
|
A1, B1, C1, D1, E1, F1, G1, H1, \
|
||||||
A2, B2, C2, D2, E2, F2, G2, H2, \
|
A2, B2, C2, D2, E2, F2, G2, H2, \
|
||||||
A3, B3, C3, D3, E3, F3, G3, H3, \
|
A3, B3, C3, D3, E3, F3, G3, H3, \
|
||||||
A4, B4, C4, D4, E4, F4, G4, H4, \
|
A4, B4, C4, D4, E4, F4, G4, H4, \
|
||||||
A5, B5, C5, D5, E5, F5, G5, H5, \
|
A5, B5, C5, D5, E5, F5, G5, H5, \
|
||||||
A6, B6, C6, D6, E6, F6, G6, H6, \
|
A6, B6, C6, D6, E6, F6, G6, H6, \
|
||||||
A7, B7, C7, D7, E7, F7, G7, H7, \
|
A7, B7, C7, D7, E7, F7, G7, H7, \
|
||||||
= MAP.flatten()
|
= MAP.flatten()
|
||||||
|
|
||||||
|
|
||||||
class Config(ConfigBase):
|
class Config(ConfigBase):
|
||||||
# ===== Start of generated config =====
|
# ===== Start of generated config =====
|
||||||
MAP_SIREN_TEMPLATE = ['Carabiniere', 'Trento', 'Littorio']
|
MAP_SIREN_TEMPLATE = ['Carabiniere', 'Trento', 'Littorio']
|
||||||
MOVABLE_ENEMY_TURN = (2, 3)
|
MOVABLE_ENEMY_TURN = (2, 3)
|
||||||
MAP_HAS_SIREN = True
|
MAP_HAS_SIREN = True
|
||||||
MAP_HAS_MOVABLE_ENEMY = True
|
MAP_HAS_MOVABLE_ENEMY = True
|
||||||
MAP_HAS_MAP_STORY = False
|
MAP_HAS_MAP_STORY = False
|
||||||
MAP_HAS_FLEET_STEP = True
|
MAP_HAS_FLEET_STEP = True
|
||||||
MAP_HAS_AMBUSH = False
|
MAP_HAS_AMBUSH = False
|
||||||
# ===== End of generated config =====
|
# ===== End of generated config =====
|
||||||
|
|
||||||
|
|
||||||
class Campaign(CampaignBase):
|
class Campaign(CampaignBase):
|
||||||
MAP = MAP
|
MAP = MAP
|
||||||
|
|
||||||
def battle_0(self):
|
def battle_0(self):
|
||||||
if self.clear_siren():
|
if self.clear_siren():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return self.battle_default()
|
return self.battle_default()
|
||||||
|
|
||||||
def battle_5(self):
|
def battle_5(self):
|
||||||
return self.fleet_boss.clear_boss()
|
return self.fleet_boss.clear_boss()
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user