1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-26 17:27:53 +08:00

Merge branch 'master' into try_jp

[JP] copy assets from cn

# Conflicts:
#	module/combat/assets.py
#	module/daemon/assets.py
#	module/handler/assets.py
#	module/retire/assets.py
#	module/reward/assets.py
This commit is contained in:
ferina8-14
2020-06-13 03:29:35 +09:00
109 changed files with 1684 additions and 337 deletions

View File

@@ -3,35 +3,34 @@ from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('10-1')
MAP.shape = 'G6'
MAP.map_data = '''
SP -- ++ -- ME ME --
-- -- ++ ME ME ME ME
-- ME ME ME ++ ++ MB
-- ME ME ME ME ++ MB
-- -- ++ -- ME ME ME
SP -- ++ ++ -- -- ++
SP -- ++ -- ME ME --
-- -- ++ ME ME ME ME
-- ME ME ME ++ ++ MB
-- ME ME ME ME ++ MB
-- -- ++ -- ME ME ME
SP -- ++ ++ -- -- ++
'''
MAP.weight_data = '''
10 10 10 10 40 40 10
10 20 10 30 30 40 40
10 40 30 30 30 10 10
10 10 10 10 30 10 10
10 10 10 10 10 10 10
10 10 10 10 10 10 10
50 50 50 50 50 40 50
50 50 50 30 30 50 40
50 40 30 30 30 50 05
50 25 20 20 30 50 05
50 50 50 15 10 10 05
50 50 50 50 50 50 50
'''
# MAP.camera_data = ['D3']
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
@@ -45,40 +44,42 @@ road_main = RoadGrids([B4, C4, D4, E5, F5, G5])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
MAP = MAP
return self.battle_default()
def battle_0(self):
self.fleet_2_push_forward()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -7,30 +7,31 @@ from module.logger import logger
MAP = CampaignMap('10-2')
MAP.shape = 'H6'
MAP.map_data = '''
MB -- ME ME -- ++ ME MB
-- ++ ++ ME ME ++ ME ME
ME -- ME ME -- ++ ME MB
-- ++ ++ -- ME ++ ME ME
-- SP ++ ++ __ ME ME ++
-- SP ++ ++ -- ME ME ++
-- ++ ++ -- ME ++ ME ME
-- -- -- -- ME ++ ME MB
-- ME ME ME -- ++ ME MB
'''
MAP.weight_data = '''
90 90 90 90 90 90 15 10
90 90 90 90 90 90 10 05
90 90 90 90 90 30 10 20
90 90 90 90 90 30 10 20
90 90 90 50 40 90 10 05
80 70 60 50 50 90 15 10
'''
# MAP.weight_data = '''
# 10 10 10 10 10 10 10 10
# 10 20 10 10 10 10 10 10
# 10 10 10 10 30 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
# '''
# MAP.camera_data = ['D3']
# MAP.spawn_data = [
# {'battle': 0, 'enemy': 3},
# {'battle': 1, 'enemy': 2, 'mystery': 1},
# {'battle': 2, 'enemy': 2, 'mystery': 1},
# {'battle': 3, 'enemy': 1, 'mystery': 2},
# {'battle': 4, 'enemy': 1},
# {'battle': 5, 'boss': 1},
# ]
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
@@ -40,10 +41,44 @@ A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
= MAP.flatten()
road_main = RoadGrids([B6, C6, D6, E5, F4, G2, [G1, H2], G3, G4, G5, [H5, G6]])
class Config:
pass
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 30
EDGE_LINES_HOUGHLINES_THRESHOLD = 30
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.3
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -0,0 +1,86 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('10-3')
MAP.shape = 'I6'
MAP.map_data = '''
ME -- ME -- ME MB ++ -- MM
-- ++ ++ ++ ME MB ++ -- --
-- ME -- ME ME ME __ ME --
-- -- ++ ++ MB ME ME ME ++
-- -- SP SP ++ ++ ++ ME MB
++ -- -- -- ME -- ME ME ME
'''
MAP.weight_data = '''
90 90 90 90 40 10 90 90 90
90 90 90 90 30 10 90 90 90
90 90 90 90 20 05 20 90 90
90 90 90 90 10 15 20 30 90
90 90 90 90 90 90 90 40 40
90 90 90 90 80 70 60 50 50
'''
# MAP.camera_data = ['D3']
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 2, 'mystery': 1},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
= MAP.flatten()
road_main = RoadGrids([E6, G6, H6, E5, H4, G4, F4, F3])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 35
EDGE_LINES_HOUGHLINES_THRESHOLD = 35
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.2
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
self.clear_all_mystery()
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -3,7 +3,6 @@ from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('10-4')
MAP.shape = 'I6'
MAP.map_data = '''
@@ -15,22 +14,23 @@ MAP.map_data = '''
SP -- -- -- ME ++ ME -- MB
'''
MAP.weight_data = '''
10 10 10 10 10 10 10 10 10
10 20 10 10 10 10 10 10 10
10 10 10 10 30 10 10 20 10
10 10 10 10 10 10 10 10 20
10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 30 30 10 10 10 10 10 10
5 30 10 30 10 10 5 10 10
10 10 5 4 30 10 5 30 10
10 10 10 10 10 10 5 10 30
10 10 10 10 10 10 10 30 10
10 10 10 10 30 10 5 10 10
'''
# MAP.camera_data = ['D3']
# MAP.spawn_data = [
# {'battle': 0, 'enemy': 3},
# {'battle': 1, 'enemy': 2, 'mystery': 1},
# {'battle': 2, 'enemy': 2, 'mystery': 1},
# {'battle': 3, 'enemy': 1, 'mystery': 2},
# {'battle': 4, 'enemy': 1},
# {'battle': 5, 'boss': 1},
# ]
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5,},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
@@ -40,10 +40,48 @@ A5, B5, C5, D5, E5, F5, G5, H5, I5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, \
= MAP.flatten()
step_on = SelectedGrids([E4, D3, G4, C3])
road_main = RoadGrids([[D5, D3], [C3, A2], [E4, G4], [G2, G3, G6]])
roadblocks_d4 = RoadGrids([[D5, E6], E4, D3])
class Config:
pass
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[roadblocks_d4]):
return True
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -0,0 +1,92 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('11-4')
MAP.shape = 'J8'
MAP.map_data = '''
MB MB ++ -- -- -- ++ MB -- --
-- -- ++ ME -- ME ++ -- -- ME
ME -- ME -- ++ -- -- -- ME --
-- ++ -- -- SP SP -- ME -- --
MB -- ME -- -- -- -- ++ ++ ++
++ ++ ++ -- ME -- ME -- -- ME
-- -- ME -- -- ++ -- ++ ME --
MB -- -- ME -- ++ -- ME -- MB
'''
# MAP.weight_data = '''
# 10 30 30 10 10 10 10 10 10
# 5 30 10 30 10 10 5 10 10
# 10 10 5 4 30 10 5 30 10
# 10 10 10 10 10 10 5 10 30
# 10 10 10 10 10 10 10 30 10
# 10 10 10 10 30 10 5 10 10
# '''
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5,},
{'battle': 6, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, \
= MAP.flatten()
step_on = SelectedGrids([C3])
road_boss = RoadGrids([C3, H4, [C5, C7], G6, G8])
class Config:
pass
# INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
# EDGE_LINES_HOUGHLINES_THRESHOLD = 40
# COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
# INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
# 'height': (150, 255 - 24),
# 'width': (0.9, 10),
# 'prominence': 10,
# 'distance': 35,
# }
# EDGE_LINES_FIND_PEAKS_PARAMETERS = {
# 'height': (255 - 24, 255),
# 'prominence': 10,
# 'distance': 50,
# 'width': (0, 10),
# 'wlen': 1000,
# }
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.fleet_2_step_on(step_on, roadblocks=[road_boss]):
return True
if self.clear_roadblocks([road_boss]):
return True
if self.clear_potential_roadblocks([road_boss]):
return True
return self.battle_default()
def battle_6(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet='boss'):
return self.clear_roadblocks([road_boss])
return self.fleet_boss.clear_boss()

View File

@@ -14,9 +14,9 @@ MAP.map_data = '''
'''
MAP.weight_data = '''
30 30 30 20 10 10 10
30 30 30 20 10 10 10
40 40 40 20 10 10 10
30 30 30 20 10 09 10
40 40 40 20 10 10 10
40 40 40 20 20 10 10
'''
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'mystery': 1},
@@ -34,8 +34,10 @@ A4, B4, C4, D4, E4, F4, G4, \
class Config:
FLEET_BOSS = 1
MAP_MYSTERY_HAS_CARRIER = True
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 75
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 40),
'width': (1.5, 10),
@@ -54,6 +56,11 @@ class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.fleet_2_rescue(G2):
return True
self.clear_all_mystery()
return self.battle_default()
@@ -64,4 +71,4 @@ class Campaign(CampaignBase):
if not self.check_accessibility(G2, fleet='boss'):
return self.fleet_boss.battle_default()
return self.clear_boss()
return self.fleet_boss.clear_boss()

View File

@@ -15,10 +15,10 @@ MAP.map_data = '''
SP ME -- -- ME MM -- ++
'''
MAP.weight_data = '''
50 50 50 30 30 20 10 10
50 50 50 30 30 20 10 09
50 50 40 40 30 20 10 10
50 50 50 40 40 20 20 20
50 50 50 50 35 30 30 30
50 50 50 40 40 50 20 20
50 50 50 50 35 50 50 50
'''
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'mystery': 1},
@@ -38,6 +38,11 @@ class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.fleet_2_rescue(H1):
return True
self.clear_all_mystery()
return self.battle_default()

View File

@@ -18,8 +18,8 @@ MAP.weight_data = '''
50 50 30 30 50 50
50 50 30 30 50 50
50 50 20 30 50 50
10 10 10 20 50 50
10 10 10 50 50 50
09 10 11 20 50 50
10 10 11 50 50 50
'''
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'mystery': 1},
@@ -40,6 +40,11 @@ class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.fleet_2_rescue(A4):
return True
self.clear_all_mystery()
return self.battle_default()

View File

@@ -18,8 +18,8 @@ MAP.map_data = '''
MAP.weight_data = '''
40 40 40 40 40 40 40 40
40 40 40 30 30 30 30 30
40 40 30 30 20 10 10 10
40 40 30 20 20 10 10 10
40 40 30 30 20 10 10 09
40 40 30 20 20 10 10 09
'''
MAP.spawn_data = [
{'battle': 0, 'enemy': 2},
@@ -38,15 +38,29 @@ A4, B4, C4, D4, E4, F4, G4, H4, \
class Config(Config31):
MAP_MYSTERY_HAS_CARRIER = False
# Map 3-4 is relatively small for the density of enemies.
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (120, 255 - 75),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 40, 255),
'prominence': 10,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
self.fleet_2_push_forward()
if self.fleet_2_rescue(H3):
return True
return self.battle_default()
def battle_3(self):

View File

@@ -11,6 +11,7 @@ MAP.map_data = '''
SP -- ++ ++ -- ME ME MB
'''
MAP.camera_data = ['C1', 'E1']
MAP.camera_data_spawn_point = ['C1']
MAP.weight_data = '''
40 30 21 20 17 15 50 50
40 40 50 50 16 13 50 50

View File

@@ -3,32 +3,31 @@ from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('9-2')
MAP.shape = 'I5'
MAP.map_data = '''
++ ++ ME -- MB ME -- ME --
MM ++ ME ME MB ME ++ ME --
ME -- ME ++ ++ ++ ++ ME ++
-- ++ -- -- ++ SP -- ME --
-- ME -- SP ++ SP -- -- --
++ ++ ME -- MB ME -- ME --
MM ++ ME ME MB ME ++ ME --
ME -- ME ++ ++ ++ ++ ME ++
-- ++ -- -- ++ SP -- ME --
-- ME -- SP ++ SP -- -- --
'''
#MAP.weight_data = '''
# 10 10 30 10 10 10 10 10 10
# 10 10 20 30 10 30 10 10 10
# 30 10 20 10 10 10 10 10 10
# 10 10 10 10 10 10 10 10 10
# 10 30 10 10 10 10 10 10 10
#'''
#MAP.camera_data = ['D4']
MAP.weight_data = '''
10 10 30 10 10 10 10 10 10
10 10 20 30 10 30 10 10 10
30 10 20 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 30 10 10 10 10 10 10 10
'''
MAP.camera_data = ['D4']
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
@@ -40,66 +39,66 @@ A5, B5, C5, D5, E5, F5, G5, H5, I5, \
road_main = RoadGrids([C3, C2, [C1, D2], F1, H1, H2, H3, H4])
class Config:
SUBMARINE = 0
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
SUBMARINE = 0
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
}
class Campaign(CampaignBase):
MAP = MAP
MAP = MAP
def battle_0(self):
if self.fleet_at(D5, fleet=2):
self.map.weight_data = '''
10 10 30 10 10 20 30 40 10
10 10 10 10 10 30 10 50 10
30 10 10 10 10 10 10 60 10
10 10 10 10 10 10 10 70 10
10 30 10 10 10 10 10 10 10
'''
if self.fleet_at(F4, fleet=2):
self.map.weight_data = '''
10 10 30 10 10 10 10 10 10
10 10 20 30 10 30 10 10 10
30 10 20 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 30 10 10 10 10 10 10 10
'''
if self.fleet_at(F5, fleet=2):
self.map.weight_data = '''
10 10 30 10 10 10 10 10 10
10 10 20 30 10 30 10 10 10
30 10 20 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 30 10 10 10 10 10 10 10
'''
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
def battle_0(self):
if self.fleet_at(D5, fleet=2):
self.map.weight_data = '''
10 10 30 10 10 20 30 40 10
10 10 10 10 10 30 10 50 10
30 10 10 10 10 10 10 60 10
10 10 10 10 10 10 10 70 10
10 30 10 10 10 10 10 10 10
'''
if self.fleet_at(F4, fleet=2):
self.map.weight_data = '''
10 10 30 10 10 10 10 10 10
10 10 20 30 10 30 10 10 10
30 10 20 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 30 10 10 10 10 10 10 10
'''
if self.fleet_at(F5, fleet=2):
self.map.weight_data = '''
10 10 30 10 10 10 10 10 10
10 10 20 30 10 30 10 10 10
30 10 20 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10
10 30 10 10 10 10 10 10 10
'''
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -3,34 +3,33 @@ from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap('9-3')
MAP.shape = 'H6'
MAP.map_data = '''
MB -- ME -- ME -- ++ MB
ME ++ ++ ++ MB ME ++ --
ME __ -- SP ++ ME ME --
-- -- ME ++ SP -- __ ME
++ -- ME MB ++ ++ ++ --
++ ++ -- ME -- ME ME MB
MB -- ME -- ME -- ++ MB
ME ++ ++ ++ MB ME ++ --
ME __ -- SP ++ ME ME --
-- -- ME ++ SP -- __ ME
++ -- ME MB ++ ++ ++ --
++ ++ -- ME -- ME ME MB
'''
MAP.weight_data = '''
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
10 10 10 10 10 10 20 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 20 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
'''
#MAP.camera_data = ['D4']
# MAP.camera_data = ['D4']
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
@@ -42,40 +41,42 @@ A6, B6, C6, D6, E6, F6, G6, H6, \
road_main = RoadGrids([A2, A3, C5, D6, F2, F3, F6, G6, H4])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
}
class Campaign(CampaignBase):
MAP = MAP
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -7,31 +7,31 @@ MAP = CampaignMap('9-4')
MAP.shape = 'I6'
MAP.map_data = '''
MB -- ME -- ++ ++ ++ -- MB
-- ++ __ ME -- ME ME ME --
ME -- ME -- ME -- __ ++ --
ME -- ++ ++ -- -- ME __ ME
SP -- MA ++ ME -- ++ ME --
SP -- -- ME -- ME ++ -- MB
MB -- ME -- ++ ++ ++ -- MB
-- ++ __ ME -- ME ME ME --
ME -- ME -- ME -- __ ++ --
ME -- ++ ++ -- -- ME __ ME
SP -- MA ++ ME -- ++ ME --
SP -- -- ME -- ME ++ -- MB
'''
MAP.weight_data = '''
10 10 20 10 10 10 10 10 10
10 10 10 20 10 10 10 10 10
10 10 20 10 20 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 20 10 10 10 10 10 10
10 10 10 20 10 10 10 10 10
10 10 20 10 20 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
'''
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'boss': 1},
]
{'battle': 0, 'enemy': 3},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, \
@@ -43,40 +43,42 @@ A6, B6, C6, D6, E6, F6, G6, H6, I6, \
road_main = RoadGrids([A3, D6, [E5, F6], G4, I4])
class Config:
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 40
EDGE_LINES_HOUGHLINES_THRESHOLD = 40
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (150, 255 - 24),
'width': (0.9, 10),
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 10,
'distance': 50,
'width': (0, 10),
'wlen': 1000,
}
}
class Campaign(CampaignBase):
MAP = MAP
MAP = MAP
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
def battle_0(self):
if self.clear_roadblocks([road_main]):
return True
if self.clear_potential_roadblocks([road_main]):
return True
return self.battle_default()
return self.battle_default()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()
def battle_5(self):
boss = self.map.select(is_boss=True)
if boss:
if not self.check_accessibility(boss[0], fleet=2):
if self.clear_roadblocks([road_main]):
return True
return self.fleet_2.clear_boss()

View File

@@ -0,0 +1,48 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap()
MAP.map_data = '''
-- -- ++ -- -- -- ++ ++
-- -- -- -- -- -- -- --
++ -- -- ++ -- -- -- --
++ -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- -- ++ ++ ++ -- -- ++
'''
class Config:
SUBMARINE = 0
FLEET_BOSS = 1
POOR_MAP_DATA = True
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_SIREN = True
MAP_HAS_DYNAMIC_RED_BORDER = False
MAP_HAS_MAP_STORY = True
MAP_SIREN_COUNT = 2
TRUST_EDGE_LINES = False
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (100, 255 - 24),
'width': 1,
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 2,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,21 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.a1 import Config
MAP = CampaignMap()
MAP.map_data = '''
-- -- -- -- -- -- -- -- ++
-- -- -- ++ ++ -- -- -- ++
++ -- -- -- -- -- -- -- --
++ -- ++ -- -- -- -- -- --
-- -- -- -- ++ ++ -- -- --
-- -- -- -- ++ ++ -- -- --
'''
MAP.camera_data = ['D1', 'D4', 'F2', 'F4']
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,25 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.a1 import Config as ConfigBase
MAP = CampaignMap()
MAP.map_data = '''
-- -- -- ++ ++ -- -- --
-- -- -- -- -- -- -- --
++ ++ -- -- -- -- ++ ++
-- -- -- ++ -- -- ++ ++
-- -- -- ++ -- -- -- --
-- -- -- -- -- -- -- ++
-- -- -- ++ -- -- -- --
'''
class Config(ConfigBase):
MAP_HAS_DYNAMIC_RED_BORDER = False
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,53 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap()
MAP.map_data = '''
-- -- ++ ++ -- --
-- -- ++ ++ -- --
++ -- -- -- -- --
-- -- -- -- ++ --
-- -- -- -- -- --
++ ++ -- -- -- --
++ -- -- -- ++ --
-- -- -- -- -- --
-- -- -- -- -- --
'''
MAP.camera_data = ['C3', 'C5', 'C7']
class Config:
SUBMARINE = 0
FLEET_BOSS = 1
POOR_MAP_DATA = True
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_SIREN = True
MAP_HAS_DYNAMIC_RED_BORDER = False
MAP_HAS_MAP_STORY = True
MAP_SIREN_TEMPLATE = ['Algerie', 'LaGalissonniere']
MAP_SIREN_COUNT = 2
TRUST_EDGE_LINES = False
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (100, 255 - 24),
'width': 1,
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 24, 255),
'prominence': 2,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,43 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.b1 import Config as ConfigBase
MAP = CampaignMap()
MAP.map_data = """
-- -- -- -- ++ -- -- -- -- ++ ++
-- -- -- -- -- -- ++ ++ -- -- --
++ -- -- -- -- -- ++ ++ -- -- --
-- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- --
++ ++ -- -- -- -- ++ ++ -- -- --
++ -- -- -- -- -- -- -- -- -- --
"""
MAP.wall_data = """
· · | · · · · · · · · · ,
+ ,
· · · · · · · · · · | · ,
+ + + + + ,
· · | · · | · | · · · · | · · ,
+---+---+ | | + ,
· · · | · · | · · · · | · | · ,
+---+ +---+ +---+ +-- ,
· · · · · · · · · · · ,
,
· · · · · · · · · · · ,
,
· · · · · · · · · · · ,
"""
class Config(ConfigBase):
FLEET_BOSS = 2
MAP_HAS_WALL = True
MAP_SIREN_TEMPLATE = ['Algerie', 'Vauquelin']
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,53 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.b1 import Config as ConfigBase
MAP = CampaignMap()
MAP.map_data = """
-- -- -- -- -- -- -- -- -- -- -- -- -- ++
-- -- -- -- -- -- -- -- -- -- -- -- -- --
++ -- -- -- -- -- -- -- -- -- -- -- -- --
++ -- -- -- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- ++ ++
-- ++ -- -- ++ ++ -- -- ++ ++ -- -- -- --
-- ++ -- -- ++ ++ -- -- ++ ++ -- -- -- --
-- -- -- -- -- -- -- -- -- -- -- -- ++ ++
++ -- -- -- -- -- -- -- -- -- -- -- ++ ++
-- -- -- -- -- -- -- -- -- -- -- -- -- --
"""
MAP.camera_data = ['G8', 'G6', 'F3', 'H4']
MAP.wall_data = """
· · · · · | · · · · | · · · · · ,
+-----------+ +-----------+ ,
· · | · · · | · · · · | · · · | · · ,
| | | | ,
· · | · · · | · · · · | · · · | · · ,
+---+ +---+ +----+ +---+ ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
+-----------+ +-----------+ ,
· · · · · · | · · | · · · · · · ,
"""
class Config(ConfigBase):
FLEET_BOSS = 2
MAP_HAS_WALL = True
MAP_SIREN_TEMPLATE = ['LaGalissonniere', 'Vauquelin']
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,48 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
MAP = CampaignMap()
MAP.map_data = '''
-- -- ++ -- -- -- ++ ++
-- -- -- -- -- -- -- --
++ -- -- ++ -- -- -- --
++ -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- -- ++ ++ ++ -- -- ++
'''
class Config:
SUBMARINE = 0
FLEET_BOSS = 1
POOR_MAP_DATA = True
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_SIREN = True
MAP_HAS_DYNAMIC_RED_BORDER = False
MAP_HAS_MAP_STORY = True
MAP_SIREN_COUNT = 2
TRUST_EDGE_LINES = False
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (100, 255 - 16),
'width': 1,
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 16, 255),
'prominence': 2,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,21 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.c1 import Config
MAP = CampaignMap()
MAP.map_data = '''
-- -- -- -- -- -- -- -- ++
-- -- -- ++ ++ -- -- -- ++
++ -- -- -- -- -- -- -- --
++ -- ++ -- -- -- -- -- --
-- -- -- -- ++ ++ -- -- --
-- -- -- -- ++ ++ -- -- --
'''
MAP.camera_data = ['D1', 'D4', 'F2', 'F4']
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,25 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.c1 import Config as ConfigBase
MAP = CampaignMap()
MAP.map_data = '''
-- -- -- ++ ++ -- -- --
-- -- -- -- -- -- -- --
++ ++ -- -- -- -- ++ ++
-- -- -- ++ -- -- ++ ++
-- -- -- ++ -- -- -- --
-- -- -- -- -- -- -- ++
-- -- -- ++ -- -- -- --
'''
class Config(ConfigBase):
FLEET_BOSS = 2
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,84 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
MAP = CampaignMap()
MAP.map_data = '''
-- ME ++ ++ -- ME
ME ME ++ ++ ME ME
++ -- MB MB -- --
ME -- ME ME ++ ME
ME MS __ __ ME ME
++ ++ MS -- MS ME
++ MS -- ME ++ ME
ME -- SP -- ME --
ME -- SP SP -- ME
'''
MAP.weight_data = """
50 50 50 50 50 50
40 40 40 40 40 40
40 40 10 10 40 40
30 20 20 20 30 50
30 20 20 20 30 50
30 30 20 20 30 50
30 20 20 20 30 50
50 20 20 20 30 50
50 20 20 20 20 50
"""
MAP.camera_data = ['C3', 'C5', 'C7']
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 2},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'enemy': 1, 'boss': 1},
]
class Config:
SUBMARINE = 0
FLEET_BOSS = 2
POOR_MAP_DATA = True
MAP_HAS_AMBUSH = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_SIREN = True
MAP_HAS_DYNAMIC_RED_BORDER = False
MAP_HAS_MAP_STORY = True
MAP_SIREN_TEMPLATE = ['Algerie', 'LaGalissonniere']
MAP_SIREN_COUNT = 2
TRUST_EDGE_LINES = False
COINCIDENT_POINT_ENCOURAGE_DISTANCE = 1.5
INTERNAL_LINES_FIND_PEAKS_PARAMETERS = {
'height': (100, 255 - 16),
'width': 1,
'prominence': 10,
'distance': 35,
}
EDGE_LINES_FIND_PEAKS_PARAMETERS = {
'height': (255 - 16, 255),
'prominence': 2,
'distance': 50,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(1,)):
return True
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
return True
if self.clear_enemy(genre=['light', 'main']):
return True
return self.battle_default()
def battle_5(self):
return self.fleet_2.brute_clear_boss()

View File

@@ -0,0 +1,42 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.d1 import Config as ConfigBase
MAP = CampaignMap()
MAP.map_data = """
-- -- -- -- ++ -- -- -- -- ++ ++
-- -- -- -- -- -- ++ ++ -- -- --
++ -- -- -- -- -- ++ ++ -- -- --
-- -- -- -- -- -- -- -- -- -- --
-- -- -- -- -- -- -- -- -- -- --
++ ++ -- -- -- -- ++ ++ -- -- --
++ -- -- -- -- -- -- -- -- -- --
"""
MAP.camera_data = ['D3', 'D5', 'F3', 'F5', 'H3', 'H5']
MAP.wall_data = """
· · | · · · · · · · · · ,
+ ,
· · · · · · · · · · | · ,
+ + + + + ,
· · | · · | · | · · · · | · · ,
+---+---+ | | + ,
· · · | · · | · · · · | · | · ,
+---+ +---+ +---+ +-- ,
· · · · · · · · · · · ,
,
· · · · · · · · · · · ,
,
· · · · · · · · · · · ,
"""
class Config(ConfigBase):
MAP_HAS_WALL = True
MAP_SIREN_TEMPLATE = ['Algerie', 'Vauquelin']
class Campaign(CampaignBase):
MAP = MAP

View File

@@ -0,0 +1,95 @@
from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids
from module.logger import logger
from campaign.event_20200521_cn.d1 import Config as ConfigBase
MAP = CampaignMap()
MAP.map_data = """
-- -- -- -- -- ME -- -- ME -- -- -- -- ++
-- -- -- ME -- -- MB MB -- -- ME -- -- --
++ -- ME -- ME ME -- -- ME ME -- ME -- --
++ -- -- ME -- -- __ __ -- -- ME -- -- --
-- -- -- -- ME MS -- -- MS ME -- -- ++ ++
-- ++ -- ME ++ ++ -- -- ++ ++ ME -- -- --
-- ++ -- ME ++ ++ -- -- ++ ++ ME -- -- --
-- -- -- -- ME MS -- -- MS ME -- -- ++ ++
++ -- -- -- -- -- -- -- -- -- -- -- ++ ++
-- -- -- -- -- -- SP SP -- -- -- -- -- --
"""
MAP.weight_data = """
10 10 10 10 10 10 10 10 10 10 10 10 10 10
10 10 10 30 10 10 10 10 10 10 30 10 10 10
10 10 30 10 10 10 10 10 10 10 10 30 10 10
10 10 10 10 10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10 10 10 10 10
10 10 10 30 10 10 10 10 10 10 30 10 10 10
10 10 10 30 10 10 10 10 10 10 30 10 10 10
10 10 10 10 10 10 10 10 10 10 10 10 10 10
10 10 10 10 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.camera_data = ['G8', 'G6', 'F3', 'H4']
MAP.wall_data = """
· · · · · | · · · · | · · · · · ,
+-----------+ +-----------+ ,
· · | · · · | · · · · | · · · | · · ,
| | | | ,
· · | · · · | · · · · | · · · | · · ,
+---+ +---+ +----+ +---+ ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
| | ,
· · · | · · · · · · · · | · · · ,
+-----------+ +-----------+ ,
· · · · · · | · · | · · · · · · ,
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 2},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2, 'siren': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'enemy': 1},
{'battle': 6, 'boss': 1},
]
class Config(ConfigBase):
MAP_HAS_WALL = True
MAP_SIREN_TEMPLATE = ['LaGalissonniere', 'Vauquelin']
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
return True
if self.clear_enemy(scale=(3,), genre=['light', 'main', 'enemy', 'carrier']):
return True
return self.battle_default()
def battle_5(self):
if self.clear_enemy(scale=(1,)):
return True
if self.clear_enemy(scale=(2,), genre=['light', 'main', 'enemy', 'carrier']):
return True
if self.clear_enemy(genre=['light', 'main']):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_2.brute_clear_boss()