Upd: Microlayer Medley Rerun

This commit is contained in:
18870 2021-08-19 18:50:45 +08:00
parent 54985bca91
commit f2c499037c
16 changed files with 980 additions and 5 deletions

View File

@ -63,4 +63,5 @@ To add a new event, add a new row in here, and run `python -m dev_tools.event_ex
| 20210708 | event 20200903 en | Stars of the Shimmering Fjord | - | - | - | 峽灣間的星辰 |
| 20210722 | event 20210722 cn | Azur Anthem | 响彻碧海的偶像歌 | Azur Anthem | 海に響くアイドルの歌 | - |
| 20210729 | event 20200723 cn | Aurora Noctis | - | - | - | 永夜幻光 |
| 20210812 | event 20200806 cn | The Enigma and the Shark | - | - | - | 最重要的寶物 |
| 20210812 | event 20200806 cn | The Enigma and the Shark | - | - | - | 最重要的寶物 |
| 20210819 | event 20210809 cn | Microlayer Medley Rerun | 复刻微层混合 | Microlayer Medley Rerun | 闇靄払う銀翼(復刻) | - |

View File

@ -0,0 +1,67 @@
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('A1')
MAP.shape = 'F7'
MAP.camera_data = ['C2', 'C5']
MAP.camera_data_spawn_point = ['C5', 'C2']
MAP.map_data = """
-- -- ME -- -- ++
ME ++ ++ ME -- ME
-- ++ MS -- SP --
MB MB __ -- -- ME
ME MB MS -- SP --
-- ++ ME ME -- --
Me ++ Me Me ++ Me
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 1},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1, 'boss': 1},
{'battle': 4, 'enemy': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
A6, B6, C6, D6, E6, F6, \
A7, B7, C7, D7, E7, F7, \
= MAP.flatten()
class Config:
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['DD']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_3(self):
return self.clear_boss()

View File

@ -0,0 +1,71 @@
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 .a1 import Config as ConfigBase
MAP = CampaignMap('A2')
MAP.shape = 'F8'
MAP.camera_data = ['C2', 'C6']
MAP.camera_data_spawn_point = ['C2']
MAP.map_data = """
-- ME -- ME Me ME
-- ME -- -- MS --
++ ++ ++ ME -- --
SP -- -- -- -- SP
ME -- -- -- ++ ++
-- MS ME __ ++ ++
Me -- ++ -- -- MB
-- Me -- ME MB MB
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 1},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
A6, B6, C6, D6, E6, F6, \
A7, B7, C7, D7, E7, F7, \
A8, B8, C8, D8, E8, F8, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['CL']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_4(self):
return self.clear_boss()

View File

@ -0,0 +1,68 @@
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 .a1 import Config as ConfigBase
MAP = CampaignMap('A3')
MAP.shape = 'G7'
MAP.camera_data = ['D2', 'D5']
MAP.camera_data_spawn_point = ['D5']
MAP.map_data = """
++ ++ ME Me ME ++ --
++ MS -- ME -- MS ++
ME -- -- __ -- -- ME
Me -- SP MB SP -- Me
ME -- -- MB -- -- ME
-- MS -- MB ++ ++ ++
++ -- ME -- ME -- --
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 1},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
A5, B5, C5, D5, E5, F5, G5, \
A6, B6, C6, D6, E6, F6, G6, \
A7, B7, C7, D7, E7, F7, G7, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['sairenzhongxun_ii']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_4(self):
return self.clear_boss()

View File

@ -0,0 +1,68 @@
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('B1')
MAP.shape = 'H7'
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
MAP.camera_data_spawn_point = ['E2']
MAP.map_data = """
-- Me -- ME ++ ++ SP SP
Me -- MS -- ME -- -- SP
++ ME -- -- -- -- -- --
++ ME -- -- MS -- ME ++
Me -- __ ME ++ -- -- --
MB -- -- MS ++ -- ME ME
MB MB Me -- ME -- ME --
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 1},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2, 'boss': 1},
{'battle': 5, 'enemy': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
A7, B7, C7, D7, E7, F7, G7, H7, \
= MAP.flatten()
class Config:
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'CL']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_4(self):
return self.clear_boss()

View File

@ -0,0 +1,75 @@
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 .b1 import Config as ConfigBase
MAP = CampaignMap('B2')
MAP.shape = 'F9'
MAP.camera_data = ['C2', 'C6', 'C7']
MAP.camera_data_spawn_point = ['C2']
MAP.map_data = """
Me ME MS MS ME Me
ME -- -- -- -- ME
++ ++ -- -- ++ ++
++ ++ SP SP Me ++
MS -- -- -- -- MS
ME -- MB MB __ ME
-- ME ++ ++ -- ME
-- Me ++ Me -- ME
-- -- ME -- -- Me
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 1},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 2},
{'battle': 5, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
A6, B6, C6, D6, E6, F6, \
A7, B7, C7, D7, E7, F7, \
A8, B8, C8, D8, E8, F8, \
A9, B9, C9, D9, E9, F9, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'CL']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_5(self):
return self.fleet_boss.clear_boss()

View File

@ -0,0 +1,75 @@
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 .b1 import Config as ConfigBase
MAP = CampaignMap('B3')
MAP.shape = 'G9'
MAP.camera_data = ['D2', 'D6', 'D7']
MAP.camera_data_spawn_point = ['D6']
MAP.map_data = """
ME -- ME -- ME -- ME
++ -- -- Me -- -- ++
++ -- ++ ++ ++ -- ++
MS -- MB MB MB -- MS
Me ME -- __ -- ME Me
++ ++ SP -- SP ++ ++
++ ME -- -- -- ME ++
Me -- -- ME -- -- Me
-- MS ME -- ME MS --
"""
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
"""
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},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
A5, B5, C5, D5, E5, F5, G5, \
A6, B6, C6, D6, E6, F6, G6, \
A7, B7, C7, D7, E7, F7, G7, \
A8, B8, C8, D8, E8, F8, G8, \
A9, B9, C9, D9, E9, F9, G9, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'sairenzhongxun_ii']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_5(self):
return self.fleet_boss.clear_boss()

View File

@ -0,0 +1,71 @@
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('C1')
MAP.shape = 'F7'
MAP.camera_data = ['C2', 'C5']
MAP.camera_data_spawn_point = ['C5', 'C2']
MAP.map_data = """
-- -- ME -- -- ++
ME ++ ++ ME -- ME
-- ++ MS -- SP --
MB MB __ -- -- ME
ME MB MS -- SP --
-- ++ ME ME -- --
Me ++ Me Me ++ Me
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 2},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
A6, B6, C6, D6, E6, F6, \
A7, B7, C7, D7, E7, F7, \
= MAP.flatten()
class Config:
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['CL', 'CA']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
return self.battle_default()
def battle_4(self):
return self.clear_boss()

View File

@ -0,0 +1,77 @@
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 .c1 import Config as ConfigBase
MAP = CampaignMap('C2')
MAP.shape = 'F8'
MAP.camera_data = ['C2', 'C6']
MAP.camera_data_spawn_point = ['C2']
MAP.map_data = """
-- ME -- ME Me ME
-- ME -- -- MS --
++ ++ ++ ME -- --
SP -- -- -- -- SP
ME -- -- -- ++ ++
-- MS ME __ ++ ++
Me -- ++ -- -- MB
-- Me -- ME MB MB
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 2},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
A6, B6, C6, D6, E6, F6, \
A7, B7, C7, D7, E7, F7, \
A8, B8, C8, D8, E8, F8, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['CL', 'CA']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
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_4(self):
return self.clear_boss()

View File

@ -0,0 +1,73 @@
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 .c1 import Config as ConfigBase
MAP = CampaignMap('C3')
MAP.shape = 'G7'
MAP.camera_data = ['D2', 'D5']
MAP.camera_data_spawn_point = ['D5']
MAP.map_data = """
++ ++ ME Me ME ++ --
++ MS -- ME -- MS ++
ME -- -- __ -- -- ME
Me -- SP MB SP -- Me
ME -- -- MB -- -- ME
-- MS -- MB ++ ++ ++
++ -- ME -- ME -- --
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 2, 'siren': 2},
{'battle': 1, 'enemy': 1},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
A5, B5, C5, D5, E5, F5, G5, \
A6, B6, C6, D6, E6, F6, G6, \
A7, B7, C7, D7, E7, F7, G7, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['CLpurple', 'CApurple', 'BBpurple']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
return self.battle_default()
def battle_5(self):
return self.fleet_boss.clear_boss()

View File

@ -0,0 +1,72 @@
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('D1')
MAP.shape = 'H7'
MAP.camera_data = ['D2', 'D5', 'E2', 'E5']
MAP.camera_data_spawn_point = ['E2']
MAP.map_data = """
-- Me -- ME ++ ++ SP SP
Me -- MS -- ME -- -- SP
++ ME -- -- -- -- -- --
++ ME -- -- MS -- ME ++
Me -- __ ME ++ -- -- --
MB -- -- MS ++ -- ME ME
MB MB Me -- ME -- ME --
"""
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
"""
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},
]
A1, B1, C1, D1, E1, F1, G1, H1, \
A2, B2, C2, D2, E2, F2, G2, H2, \
A3, B3, C3, D3, E3, F3, G3, H3, \
A4, B4, C4, D4, E4, F4, G4, H4, \
A5, B5, C5, D5, E5, F5, G5, H5, \
A6, B6, C6, D6, E6, F6, G6, H6, \
A7, B7, C7, D7, E7, F7, G7, H7, \
= MAP.flatten()
class Config:
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'CA', 'BB']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
return self.battle_default()
def battle_5(self):
return self.fleet_boss.clear_boss()

View File

@ -0,0 +1,90 @@
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 .d1 import Config as ConfigBase
MAP = CampaignMap('D2')
MAP.shape = 'F9'
MAP.camera_data = ['C2', 'C6', 'C7']
MAP.camera_data_spawn_point = ['C2']
MAP.map_data = """
Me ME MS MS ME Me
ME -- -- -- -- ME
++ ++ -- -- ++ ++
++ ++ SP SP Me ++
MS -- -- -- -- MS
ME -- MB MB __ ME
-- ME ++ ++ -- ME
-- Me ++ Me -- ME
-- -- ME -- -- Me
"""
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
"""
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},
]
A1, B1, C1, D1, E1, F1, \
A2, B2, C2, D2, E2, F2, \
A3, B3, C3, D3, E3, F3, \
A4, B4, C4, D4, E4, F4, \
A5, B5, C5, D5, E5, F5, \
A6, B6, C6, D6, E6, F6, \
A7, B7, C7, D7, E7, F7, \
A8, B8, C8, D8, E8, F8, \
A9, B9, C9, D9, E9, F9, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'BB', 'CV']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
return self.battle_default()
def battle_5(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(1,)):
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
def battle_6(self):
return self.fleet_boss.clear_boss()

View File

@ -0,0 +1,90 @@
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 .d1 import Config as ConfigBase
MAP = CampaignMap('D3')
MAP.shape = 'G9'
MAP.camera_data = ['D2', 'D6', 'D7']
MAP.camera_data_spawn_point = ['D6']
MAP.map_data = """
ME -- ME -- ME -- ME
++ -- -- Me -- -- ++
++ -- ++ ++ ++ -- ++
MS -- MB MB MB -- MS
Me ME -- __ -- ME Me
++ ++ SP -- SP ++ ++
++ ME -- -- -- ME ++
Me -- -- ME -- -- Me
-- MS ME -- ME MS --
"""
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
"""
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},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
A5, B5, C5, D5, E5, F5, G5, \
A6, B6, C6, D6, E6, F6, G6, \
A7, B7, C7, D7, E7, F7, G7, \
A8, B8, C8, D8, E8, F8, G8, \
A9, B9, C9, D9, E9, F9, G9, \
= MAP.flatten()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'BBpurple', 'CVpurple']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
return self.battle_default()
def battle_5(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(1,)):
return True
if self.clear_enemy(scale=(2,)):
return True
if self.clear_enemy(scale=(3,)):
return True
def battle_6(self):
return self.fleet_boss.clear_boss()

View File

@ -0,0 +1,73 @@
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('SP')
MAP.shape = 'G7'
MAP.camera_data = ['D2', 'D5']
MAP.camera_data_spawn_point = ['D2', 'D5']
MAP.map_data = """
Me ++ ME ME -- MS ME
MS ++ -- -- -- ++ ++
-- -- SP MB Me -- ME
ME -- MB __ MB -- ME
ME -- Me MB SP -- --
++ ++ -- -- -- ++ MS
ME MS -- ME ME ++ ME
"""
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
"""
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},
{'battle': 7, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, \
A2, B2, C2, D2, E2, F2, G2, \
A3, B3, C3, D3, E3, F3, G3, \
A4, B4, C4, D4, E4, F4, G4, \
A5, B5, C5, D5, E5, F5, G5, \
A6, B6, C6, D6, E6, F6, G6, \
A7, B7, C7, D7, E7, F7, G7, \
= MAP.flatten()
class Config:
# ===== Start of generated config =====
MAP_SIREN_TEMPLATE = ['SS', 'BB', 'CV']
MOVABLE_ENEMY_TURN = (2,)
MAP_HAS_SIREN = True
MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = False
MAP_HAS_FLEET_STEP = True
MAP_HAS_AMBUSH = False
STAR_REQUIRE_1 = 0
STAR_REQUIRE_2 = 0
STAR_REQUIRE_3 = 0
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
return self.battle_default()
def battle_7(self):
return self.fleet_boss.clear_boss()

View File

@ -69,10 +69,11 @@ DIC_SIREN_NAME_CHI_TO_ENG = {
'z24': 'Z24',
'niulunbao': 'Nuremberg',
'longqibing': 'Carabiniere',
'sairenquzhu_ii': 'DD',
'sairenqingxun_ii': 'CL',
'sairenzhanlie_ii': 'BB',
'sairenhangmu_ii': 'CV',
'sairenquzhu_ii': 'DDpurple',
'sairenqingxun_ii': 'CLpurple',
'sairenzhanlie_ii': 'BBpurple',
'sairenhangmu_ii': 'CVpurple',
'sairenzhongxun_ii': 'CApurple',
'qinraozhe': 'Intruder',
'xianghe': 'Shokaku',
'ruihe': 'Zuikaku',

View File

@ -30,6 +30,7 @@ dic_event = {
'复刻浮樱影华': 'event_20210624_cn',
'复刻穿越彼方的水线': 'raid_20210708',
'响彻碧海的偶像歌': 'event_20210722_cn',
'复刻微层混合': 'event_20210809_cn',
},
'en': {
'Northern_Overture': 'event_20200227_cn',
@ -60,6 +61,7 @@ dic_event = {
'Swirling_Cherry_Blossoms_Rerun': 'event_20210624_cn',
'Cross_Wave_rerun': 'raid_20210708',
'Azur_Anthem': 'event_20210722_cn',
'Microlayer_Medley_Rerun': 'event_20210809_cn',
},
'jp': {
'凍絶の北海': 'event_20200227_cn',
@ -87,6 +89,7 @@ dic_event = {
'翳りし満ちる影の華(復刻)': 'event_20210624_cn',
'交錯する新たな波 (復刻)': 'raid_20210708',
'海に響くアイドルの歌': 'event_20210722_cn',
'闇靄払う銀翼(復刻)': 'event_20210809_cn',
},
'tw': {
'特別演習埃塞克斯級': 'raid_20200624',