Skip to content

Commit

Permalink
Merge pull request #3679 from LmeSzinc/dev
Browse files Browse the repository at this point in the history
Add event Heart-Linking Harmony and W15
  • Loading branch information
LmeSzinc authored Apr 26, 2024
2 parents 1b71236 + a9068bb commit 698cb75
Show file tree
Hide file tree
Showing 149 changed files with 2,267 additions and 405 deletions.
Binary file removed assets/cn/equipment/EQUIPPING_ON.BUTTON.png
Binary file not shown.
Binary file modified assets/cn/equipment/EQUIPPING_ON.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/cn/equipment/EQUIP_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/cn/equipment/EQUIP_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/cn/equipment/EQUIP_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/equipment/FLEET_DETAIL.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/equipment/FLEET_DETAIL_CHECK.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/equipment/FLEET_DETAIL_ENTER.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/cn/equipment/FLEET_ENTER_FLAGSHIP.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/cn/exercise/EQUIP_ENTER.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/handler/MOB_MOVE_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/handler/MOB_MOVE_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/handler/MOB_MOVE_CANCEL.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/template/TEMPLATE_MOB_MOVE_ICON.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/template/TEMPLATE_SIREN_DidoIdol2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/template/TEMPLATE_SIREN_Elizabeth3.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/template/TEMPLATE_SIREN_Laffey6.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/template/TEMPLATE_SIREN_RoonIdol2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/cn/template/TEMPLATE_SIREN_SheffieldIdol.png
Binary file not shown.
Binary file added assets/cn/template/TEMPLATE_SIREN_TaihouIdol.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cn/template/TEMPLATE_SIREN_Z23_5.gif
Binary file added assets/en/equipment/FLEET_DETAIL.png
Binary file added assets/en/equipment/FLEET_DETAIL_CHECK.png
Binary file added assets/en/equipment/FLEET_DETAIL_ENTER.png
Binary file modified assets/en/equipment/FLEET_ENTER_FLAGSHIP.png
Binary file modified assets/en/exercise/EQUIP_ENTER.png
Binary file added assets/en/handler/MOB_MOVE_1.png
Binary file added assets/en/handler/MOB_MOVE_2.png
Binary file added assets/en/template/TEMPLATE_SIREN_DidoIdol2.gif
Binary file added assets/en/template/TEMPLATE_SIREN_Elizabeth3.gif
Binary file added assets/en/template/TEMPLATE_SIREN_Laffey6.gif
Binary file added assets/en/template/TEMPLATE_SIREN_RoonIdol2.gif
Binary file removed assets/en/template/TEMPLATE_SIREN_SheffieldIdol.png
Diff not rendered.
Binary file added assets/en/template/TEMPLATE_SIREN_TaihouIdol.gif
Binary file added assets/en/template/TEMPLATE_SIREN_Z23_5.gif
Binary file removed assets/jp/equipment/EQUIPPING_ON.BUTTON.png
Diff not rendered.
Binary file modified assets/jp/equipment/EQUIPPING_ON.png
Binary file added assets/jp/equipment/FLEET_DETAIL.png
Binary file added assets/jp/equipment/FLEET_DETAIL_CHECK.png
Binary file added assets/jp/equipment/FLEET_DETAIL_ENTER.png
Binary file modified assets/jp/equipment/FLEET_ENTER_FLAGSHIP.png
Binary file modified assets/jp/exercise/EQUIP_ENTER.png
Binary file added assets/jp/handler/MOB_MOVE_1.png
Binary file added assets/jp/handler/MOB_MOVE_2.png
Binary file added assets/jp/handler/MOB_MOVE_CANCEL.png
Binary file added assets/jp/template/TEMPLATE_SIREN_DidoIdol2.gif
Binary file added assets/jp/template/TEMPLATE_SIREN_Elizabeth3.gif
Binary file added assets/jp/template/TEMPLATE_SIREN_Laffey6.gif
Binary file added assets/jp/template/TEMPLATE_SIREN_RoonIdol2.gif
Binary file added assets/jp/template/TEMPLATE_SIREN_TaihouIdol.gif
Binary file added assets/jp/template/TEMPLATE_SIREN_Z23_5.gif
Binary file added assets/mask/MASK_MAP_UI_W15.png
Binary file removed assets/tw/equipment/EQUIPPING_ON.BUTTON.png
Diff not rendered.
Binary file modified assets/tw/equipment/EQUIPPING_ON.png
Binary file added assets/tw/equipment/FLEET_DETAIL.png
Binary file added assets/tw/equipment/FLEET_DETAIL_CHECK.png
Binary file added assets/tw/equipment/FLEET_DETAIL_ENTER.png
Binary file modified assets/tw/equipment/FLEET_ENTER_FLAGSHIP.png
Binary file modified assets/tw/exercise/EQUIP_ENTER.png
Binary file added assets/tw/handler/MOB_MOVE_1.png
Binary file added assets/tw/handler/MOB_MOVE_2.png
Binary file added assets/tw/template/TEMPLATE_SIREN_DidoIdol2.gif
Binary file added assets/tw/template/TEMPLATE_SIREN_Elizabeth3.gif
Binary file added assets/tw/template/TEMPLATE_SIREN_Laffey6.gif
Binary file added assets/tw/template/TEMPLATE_SIREN_RoonIdol2.gif
Binary file added assets/tw/template/TEMPLATE_SIREN_TaihouIdol.gif
Binary file added assets/tw/template/TEMPLATE_SIREN_Z23_5.gif
4 changes: 3 additions & 1 deletion campaign/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,4 +190,6 @@ To add a new event, add a new row in here, and run `python -m module.config.conf
| 20240321 | raid 20230629 | Reflections of the Oasis | - | - | - | 綠洲往事 |
| 20240328 | raid 20240328 | From Zero to Hero | 从零开始的魔王讨伐之旅 | From Zero to Hero | ゼロから頑張る魔王討伐 | - |
| 20240403 | event 20211111 cn | The Flame-Touched Dagger | - | - | - | 復刻杰諾瓦的焰火 |
| 20240411 | event 20220224 cn | Abyssal Refrain Rerun | 复刻深度回音 | Abyssal Refrain Rerun | 鳴動せし星霜の淵(復刻) | - |
| 20240411 | event 20220224 cn | Abyssal Refrain Rerun | 复刻深度回音 | Abyssal Refrain Rerun | 鳴動せし星霜の淵(復刻) | - |
| 20240425 | event 20230817 cn | The Fool's Scales | - | - | - | 愚者的天平 |
| 20240425 | event 20240425 cn | Heart-Linking Harmony | 共鸣的PASSION | Heart-Linking Harmony | - | - |
104 changes: 104 additions & 0 deletions campaign/campaign_main/campaign_15_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
from module.logger import logger
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids

from .campaign_15_base import CampaignBase
from .campaign_15_base import Config as ConfigBase

MAP = CampaignMap('15-1')
MAP.shape = 'H7'
MAP.camera_data = ['C2', 'C5', 'E2', 'E5']
MAP.camera_data_spawn_point = ['C5']
MAP.camera_sight = (-2, -1, 3, 2)
MAP.map_data = """
Me Me ME ++ ME MB ++ ++
ME ME Me ME Me -- MB ++
++ Me ME -- Me -- -- MB
++ ME -- -- -- __ Me --
-- ME -- ME ME Me -- ME
ME -- -- ME ++ -- ME --
-- SP 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 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 5},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3},
{'battle': 4},
{'battle': 5},
{'battle': 6, '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(ConfigBase):
# ===== Start of generated config =====
# MAP_SIREN_TEMPLATE = ['0']
# MOVABLE_ENEMY_TURN = (2,)
# MAP_HAS_SIREN = True
# MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = False
MAP_HAS_FLEET_STEP = False
MAP_HAS_AMBUSH = True
# MAP_HAS_MYSTERY = True
# ===== End of generated config =====

MAP_WALK_USE_CURRENT_FLEET = True


class Campaign(CampaignBase):
MAP = MAP

def battle_function(self):
if self.config.MAP_CLEAR_ALL_THIS_TIME \
and self.battle_count == 0 and not self.map_is_clear_mode:
func = self.FUNCTION_NAME_BASE + str(self.battle_count)
logger.info(f'Using function: {func}')
func = self.__getattribute__(func)
result = func()
return result

return super().battle_function()

def battle_0(self):
if not self.map_is_clear_mode and self.map_has_mob_move:
self.mob_move(B3, C3)
if B1.is_accessible:
self.clear_chosen_enemy(B1)
return True

if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_1(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_5(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True

return self.battle_default()

def battle_6(self):
return self.fleet_boss.clear_boss()
106 changes: 106 additions & 0 deletions campaign/campaign_main/campaign_15_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
from module.logger import logger
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids

from .campaign_15_base import CampaignBase
from .campaign_15_base import Config as ConfigBase

MAP = CampaignMap('15-2')
MAP.shape = 'I8'
MAP.camera_data = ['C2', 'C6', 'F2', 'F6']
MAP.camera_data_spawn_point = ['F2']
MAP.camera_sight = (-2, -1, 3, 2)
MAP.map_data = """
ME -- ME ME Me -- ++ ++ ++
ME -- -- ++ ME ME ME SP SP
-- ME ME Me -- -- -- -- --
-- -- -- -- -- ME ME Me --
ME -- ++ ME Me -- ME ME --
Me -- ME __ ME ++ ++ ++ Me
++ MB -- ME ME ++ Me MB --
++ MB 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
50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 6},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3},
{'battle': 4},
{'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, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, \
= MAP.flatten()


class Config(ConfigBase):
# ===== Start of generated config =====
# MAP_SIREN_TEMPLATE = ['0']
# MOVABLE_ENEMY_TURN = (2,)
# MAP_HAS_SIREN = True
# MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = False
MAP_HAS_FLEET_STEP = False
MAP_HAS_AMBUSH = True
# MAP_HAS_MYSTERY = True
# ===== End of generated config =====


class Campaign(CampaignBase):
MAP = MAP

def battle_function(self):
if self.config.MAP_CLEAR_ALL_THIS_TIME \
and self.battle_count == 0 and not self.map_is_clear_mode:
func = self.FUNCTION_NAME_BASE + str(self.battle_count)
logger.info(f'Using function: {func}')
func = self.__getattribute__(func)
result = func()
return result

return super().battle_function()

def battle_0(self):
if not self.map_is_clear_mode and self.map_has_mob_move:
self.mob_move(I6, I7)
self.mob_move(I7, H7)
if G7.is_accessible:
self.clear_chosen_enemy(G7)
return True

if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_1(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_5(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True

return self.battle_default()

def battle_6(self):
return self.fleet_boss.clear_boss()
119 changes: 119 additions & 0 deletions campaign/campaign_main/campaign_15_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
from module.logger import logger
from module.map.map_base import CampaignMap
from module.map.map_grids import SelectedGrids, RoadGrids

from .campaign_15_base import CampaignBase, W15GridInfo
from .campaign_15_base import Config as ConfigBase

MAP = CampaignMap('15-3')
MAP.grid_class = W15GridInfo
MAP.shape = 'J8'
MAP.camera_data = ['C2', 'C6', 'G2', 'G6']
MAP.camera_data_spawn_point = ['G6']
MAP.camera_sight = (-2, -1, 3, 2)
MAP.map_data = """
Me -- ++ ME ME ME -- ME -- ME
-- ME ++ Me -- Me ME Me ME --
ME Me ME ME Me -- ++ MB -- ME
++ -- -- ME ME Me ++ ++ __ ME
Me ME -- ++ Me -- ME MS -- Me
ME ME -- -- ME ME ME -- -- ME
Me -- __ -- -- ME -- -- ++ ++
++ ++ ++ Me -- -- SP 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 50 50 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': 5},
{'battle': 1, 'enemy': 2},
{'battle': 2, 'enemy': 1},
{'battle': 3, 'enemy': 1, 'siren': 1},
{'battle': 4, 'enemy': 2},
{'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()


class Config(ConfigBase):
# ===== Start of generated config =====
# MAP_SIREN_TEMPLATE = ['BOSS']
# MOVABLE_ENEMY_TURN = (2,)
# MAP_HAS_SIREN = True
# MAP_HAS_MOVABLE_ENEMY = True
MAP_HAS_MAP_STORY = False
MAP_HAS_FLEET_STEP = False
MAP_HAS_AMBUSH = True
# MAP_HAS_MYSTERY = True
# ===== End of generated config =====


class Campaign(CampaignBase):
MAP = MAP

def battle_function(self):
if not self.config.MAP_CLEAR_ALL_THIS_TIME:
return super().battle_function()

if self.battle_count == 3 \
or (self.battle_count == 0 and not self.map_is_clear_mode):
func = self.FUNCTION_NAME_BASE + str(self.battle_count)
logger.info(f'Using function: {func}')
func = self.__getattribute__(func)
result = func()
return result

return super().battle_function()

def battle_0(self):
if not self.map_is_clear_mode and self.map_has_mob_move:
self.mob_move(B3, B4)
if A1.is_accessible:
self.clear_chosen_enemy(A1)
return True

if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_1(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_3(self):
self.clear_chosen_enemy(H5, expected='siren')
return True

def battle_4(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True

return self.battle_default()

def battle_5(self):
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True

return self.battle_default()

def battle_6(self):
return self.fleet_boss.clear_boss()
Loading

0 comments on commit 698cb75

Please sign in to comment.