Add: War Archives The Solomon Ranger

This commit is contained in:
guoh064 2024-03-11 22:47:32 +08:00
parent 0ddd253514
commit 4ba1d50ec7
12 changed files with 197 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -24,6 +24,7 @@ To add a new event, add a new row in here, and run `python -m module.config.conf
| 20180607 | war archives 20180607 cn | Ink Stained Steel Sakura | 墨染的钢铁之花 | Ink Stained Steel Sakura | 墨染まりし鋼の桜 | 墨染的鋼鐵之花 |
| 20180717 | war archives 20190314 en | Prelude under the Moon | 月光下的序曲 | Prelude under the Moon | 月夜の開幕曲 | 月光下的序曲 |
| 20180726 | war archives 20180726 cn | Iris of Light and Dark | 光与影的鸢尾之华 | Iris of Light and Dark | 光と影のアイリス | 光與影的鳶尾之華 |
| 20200312 | war archives 20200312 cn | The Solomon Ranger | 斯图尔特的硝烟 | The Solomon Ranger | 南洋に靡く硝煙 | 斯圖爾特的硝煙 |
| 20210121 | war archives 20181227 cn | Crimson Echoes | 苍红的回响 | Crimson Echoes | 縹映る深緋の残響 | 蒼紅的迴響 |
| 20210513 | war archives 20200820 cn | Scherzo of Iron and Blood | 铁血音符誓言 | Scherzo of Iron and Blood | 黒鉄の楽章 誓いの海 | 鐵血音符誓言 |
| 20211014 | war archives 20211014 cn | Crescendo of Polaris | 激奏的Polaris | Crescendo of Polaris | 激奏のポラリス | 激奏的Polaris |

View File

@ -0,0 +1,59 @@
from ..campaign_war_archives.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('SP1')
MAP.shape = 'H5'
MAP.camera_data = ['D2', 'D3', 'E2', 'E3']
MAP.camera_data_spawn_point = ['D3', 'D2']
MAP.map_data = """
++ ++ ++ -- ME ME MB ++
SP -- -- Me __ ME -- --
-- ME ++ -- Me ++ MB --
-- Me -- ME -- ++ -- ME
SP -- -- -- -- -- -- --
"""
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
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 3},
{'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, 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, \
= MAP.flatten()
class Config:
# ===== Start of generated config =====
MAP_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = False
MAP_HAS_AMBUSH = True
MAP_HAS_MYSTERY = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
def battle_0(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True
return self.battle_default()
def battle_4(self):
return self.clear_boss()

View File

@ -0,0 +1,66 @@
from ..campaign_war_archives.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 .sp1 import Config as ConfigBase
MAP = CampaignMap('SP2')
MAP.shape = 'G7'
MAP.camera_data = ['D2', 'D5']
MAP.camera_data_spawn_point = ['D5']
MAP.map_data = """
++ ++ -- ME -- ME MB
-- ++ -- -- -- -- MB
ME -- Me -- ++ ++ ++
-- -- Me __ -- ME MB
-- ME ++ -- ++ ME --
SP -- -- -- ++ -- ME
++ SP -- 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': 3, 'mystery': 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_HAS_MAP_STORY = True
MAP_HAS_FLEET_STEP = False
MAP_HAS_AMBUSH = True
MAP_HAS_MYSTERY = True
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
def battle_0(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True
return self.battle_default()
def battle_4(self):
return self.clear_boss()

View File

@ -0,0 +1,64 @@
from ..campaign_war_archives.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 .sp1 import Config as ConfigBase
MAP = CampaignMap('SP3')
MAP.shape = 'I6'
MAP.camera_data = ['D2', 'D4', 'F2', 'F4']
MAP.camera_data_spawn_point = ['F2', 'D4']
MAP.map_data = """
++ MB -- ME -- Me -- ++ ++
MB -- -- -- ++ -- ME ++ ++
MB ME __ -- -- ME -- ME SP
++ ++ ++ -- -- -- -- ++ --
MB -- ME Me -- ++ -- Me --
-- ME -- -- SP ++ -- -- --
"""
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},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'enemy': 1, '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()
class Config(ConfigBase):
# ===== Start of generated config =====
MAP_HAS_MAP_STORY = False
MAP_HAS_FLEET_STEP = False
MAP_HAS_AMBUSH = True
MAP_HAS_MYSTERY = False
# ===== End of generated config =====
class Campaign(CampaignBase):
MAP = MAP
ENEMY_FILTER = '1L > 1M > 1E > 1C > 2L > 2M > 2E > 2C > 3L > 3M > 3E > 3C'
def battle_0(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True
return self.battle_default()
def battle_5(self):
return self.fleet_boss.clear_boss()

View File

@ -3377,6 +3377,7 @@
"war_archives_20190911_cn",
"war_archives_20191010_en",
"war_archives_20191031_en",
"war_archives_20200312_cn",
"war_archives_20200603_cn",
"war_archives_20200806_cn",
"war_archives_20200820_cn",

View File

@ -732,6 +732,7 @@
"war_archives_20190911_cn": "archives Empyreal Tragicomedy",
"war_archives_20191010_en": "archives Encircling Graf Spee",
"war_archives_20191031_en": "archives Divergent Chessboard",
"war_archives_20200312_cn": "archives The Solomon Ranger",
"war_archives_20200603_cn": "archives Counterattack Within the Fjord",
"war_archives_20200806_cn": "archives The Enigma and the Shark",
"war_archives_20200820_cn": "archives Scherzo of Iron and Blood",

View File

@ -732,6 +732,7 @@
"war_archives_20190911_cn": "檔案 悲歎せし焔海の詩",
"war_archives_20191010_en": "檔案 アドミラル・グラーフ・シュペー追撃戦",
"war_archives_20191031_en": "檔案 鏡写されし異色",
"war_archives_20200312_cn": "檔案 南洋に靡く硝煙",
"war_archives_20200603_cn": "檔案 峡湾間の反撃",
"war_archives_20200806_cn": "檔案 鉄血鮫とエニグマ",
"war_archives_20200820_cn": "檔案 黒鉄の楽章 誓いの海",

View File

@ -732,6 +732,7 @@
"war_archives_20190911_cn": "档案 神圣的悲喜剧",
"war_archives_20191010_en": "档案 围剿斯佩伯爵",
"war_archives_20191031_en": "档案 异色格",
"war_archives_20200312_cn": "档案 斯图尔特的硝烟",
"war_archives_20200603_cn": "档案 峡湾间的反击",
"war_archives_20200806_cn": "档案 最重要的宝物",
"war_archives_20200820_cn": "档案 铁血音符誓言",

View File

@ -732,6 +732,7 @@
"war_archives_20190911_cn": "檔案 神聖的悲喜劇",
"war_archives_20191010_en": "檔案 圍剿斯佩伯爵",
"war_archives_20191031_en": "檔案 異色格",
"war_archives_20200312_cn": "檔案 斯圖爾特的硝煙",
"war_archives_20200603_cn": "檔案 峽灣間的反擊",
"war_archives_20200806_cn": "檔案 最重要的寶物",
"war_archives_20200820_cn": "檔案 鐵血音符誓言",

View File

@ -30,6 +30,7 @@ TEMPLATE_STARS_OF_THE_SHIMMERING_FJORD = Template(file={'cn': './assets/cn/war_a
TEMPLATE_STRIVE_WISH_AND_STRATEGIZE = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png', 'en': './assets/en/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png', 'jp': './assets/jp/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png', 'tw': './assets/tw/war_archives/TEMPLATE_STRIVE_WISH_AND_STRATEGIZE.png'})
TEMPLATE_SWIRLING_CHERRY_BLOSSOMS = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_SWIRLING_CHERRY_BLOSSOMS.png', 'en': './assets/en/war_archives/TEMPLATE_SWIRLING_CHERRY_BLOSSOMS.png', 'jp': './assets/cn/war_archives/TEMPLATE_SWIRLING_CHERRY_BLOSSOMS.png', 'tw': './assets/cn/war_archives/TEMPLATE_SWIRLING_CHERRY_BLOSSOMS.png'})
TEMPLATE_THE_ENIGMA_AND_THE_SHARK = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_THE_ENIGMA_AND_THE_SHARK.png', 'en': './assets/en/war_archives/TEMPLATE_THE_ENIGMA_AND_THE_SHARK.png', 'jp': './assets/cn/war_archives/TEMPLATE_THE_ENIGMA_AND_THE_SHARK.png', 'tw': './assets/cn/war_archives/TEMPLATE_THE_ENIGMA_AND_THE_SHARK.png'})
TEMPLATE_THE_SOLOMON_RANGER = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_THE_SOLOMON_RANGER.png', 'en': './assets/en/war_archives/TEMPLATE_THE_SOLOMON_RANGER.png', 'jp': './assets/cn/war_archives/TEMPLATE_THE_SOLOMON_RANGER.png', 'tw': './assets/cn/war_archives/TEMPLATE_THE_SOLOMON_RANGER.png'})
TEMPLATE_UNIVERSE_IN_UNISON = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_UNIVERSE_IN_UNISON.png', 'en': './assets/en/war_archives/TEMPLATE_UNIVERSE_IN_UNISON.png', 'jp': './assets/jp/war_archives/TEMPLATE_UNIVERSE_IN_UNISON.png', 'tw': './assets/cn/war_archives/TEMPLATE_UNIVERSE_IN_UNISON.png'})
TEMPLATE_VISITORS_DYED_IN_RED = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png', 'en': './assets/en/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png', 'jp': './assets/jp/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png', 'tw': './assets/tw/war_archives/TEMPLATE_VISITORS_DYED_IN_RED.png'})
TEMPLATE_WINTERS_CROWN = Template(file={'cn': './assets/cn/war_archives/TEMPLATE_WINTERS_CROWN.png', 'en': './assets/en/war_archives/TEMPLATE_WINTERS_CROWN.png', 'jp': './assets/jp/war_archives/TEMPLATE_WINTERS_CROWN.png', 'tw': './assets/tw/war_archives/TEMPLATE_WINTERS_CROWN.png'})

View File

@ -29,4 +29,5 @@ dic_archives_template = {
'war_archives_20210225_cn': TEMPLATE_KHOROVOD_OF_DAWNS_RIME,
'war_archives_20200603_cn': TEMPLATE_COUNTERATTACK_WITHIN_THE_FJORD,
'war_archives_20190314_en': TEMPLATE_PRELUDE_UNDER_THE_MOON,
'war_archives_20200312_cn': TEMPLATE_THE_SOLOMON_RANGER,
}