StarRailCopilot/campaign/event_20200521_en/d2.py
kyO The NinjA c491fe7ec5 Add: [EN] New B2 battle logic thanks @justtesting
Add: [EN] New C1 battle logic
Add: [EN] New B3 battle logic
Add: [EN] New D3 battle logic
Add: [EN] New assets
2020-05-30 05:41:06 -03:00

81 lines
2.0 KiB
Python

from module.campaign.campaign_base import CampaignBase
from module.map.map_base import CampaignMap
MAP = CampaignMap('d2')
MAP.shape = 'I7'
MAP.camera_data = ['D2', 'D5', 'F3', 'F5']
MAP.map_data = '''
SP -- -- -- -- -- ME ++ MB
-- ME -- MS ME -- -- ++ --
-- -- ME ++ ++ ++ -- -- --
ME __ -- ME ME ME -- MS --
ME MS -- ++ ++ ++ -- -- --
-- ME -- ME -- -- -- ++ --
SP -- -- -- -- 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 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 10 10 10
10 10 10 10 10 10 10 10 10
'''
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': 1},
{'battle': 5},
{'battle': 6, 'boss': 1},
]
class Config:
SUBMARINE = 0
FLEET_BOSS = 0
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_SIREN_COUNT = 3
INTERNAL_LINES_HOUGHLINES_THRESHOLD = 50
EDGE_LINES_HOUGHLINES_THRESHOLD = 50
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,
'wlen': 1000
}
class Campaign(CampaignBase):
MAP = MAP
def battle_0(self):
if self.clear_siren():
return True
if self.clear_enemy(scale=(2, 3)):
return True
return self.battle_default()
def battle_5(self):
if self.clear_enemy(scale=(1,)):
return True
if self.clear_enemy(scale=(2,)):
return True
return self.battle_default()
def battle_6(self):
return self.fleet_2.clear_boss()