1
0
mirror of https://github.com/sui-feng-cb/AzurLaneAutoScript1.git synced 2026-07-15 03:31:44 +08:00
This commit is contained in:
GH Action - Upstream Sync
2026-07-13 08:22:33 +00:00
9 changed files with 160 additions and 17 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,129 @@
from module.logger import logger
from module.map.map_base import CampaignMap
from module.map.map_grids import RoadGrids, SelectedGrids
from campaign.campaign_main.campaign_14_base import CampaignBase
from campaign.campaign_main.campaign_14_base import Config as ConfigBase
MAP = CampaignMap('14-4')
MAP.shape = 'K9'
MAP.camera_data = ['D2', 'D6', 'D7', 'H2', 'H6', 'H7']
MAP.camera_data_spawn_point = ['H2']
MAP.map_covered = ['A4']
MAP.map_data = """
ME -- ++ ++ -- ME ME ME ++ ++ ++
-- ME ME ME ME ME ME -- SP SP --
MB -- __ -- -- -- -- -- ME -- --
MB ME -- Me Me -- Me ++ ++ -- ME
MM -- Me ME -- Me -- MA ++ -- ME
++ ME ME -- ++ -- ME -- ME -- --
++ -- ME Me Me ME -- -- -- -- ++
-- ME -- -- -- __ -- ME ME -- ME
-- -- ++ MB MB ++ ++ MM ME ME ME
"""
MAP.map_data_loop = """
ME -- ++ ++ -- ME ME ME ++ ++ ++
-- ME ME ME ME ME ME -- SP SP --
MB -- __ -- -- -- -- -- ME -- --
MB ME -- Me Me -- Me ++ ++ -- ME
MM -- Me ME -- Me -- MA ++ -- ME
++ ME ME -- ++ -- ME -- ME -- --
++ -- ME Me Me ME -- -- -- -- ++
-- -- -- -- -- __ -- ME ME -- ME
-- -- ++ MB MB ++ ++ MM ME ME ME
"""
MAP.weight_data = """
40 40 40 40 50 50 50 50 50 50 50
40 40 40 40 50 50 50 50 50 50 50
40 40 40 40 50 50 50 50 50 50 50
40 40 40 40 50 50 50 50 50 50 50
40 40 40 40 50 50 50 50 50 50 50
40 40 40 40 50 50 50 50 50 50 50
40 40 40 40 50 50 50 50 50 50 50
50 10 50 50 50 50 50 40 40 50 50
50 50 50 50 50 50 50 50 50 40 50
"""
MAP.spawn_data = [
{'battle': 0, 'enemy': 4},
{'battle': 1, 'enemy': 3},
{'battle': 2, 'enemy': 2},
{'battle': 3, 'enemy': 2},
{'battle': 4, 'enemy': 1},
{'battle': 5, 'enemy': 1},
{'battle': 6},
{'battle': 7, 'boss': 1},
]
MAP.spawn_data_loop = [
{'battle': 0, 'boss': 1},
]
A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, \
A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, \
A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, \
A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, \
A5, B5, C5, D5, E5, F5, G5, H5, I5, J5, K5, \
A6, B6, C6, D6, E6, F6, G6, H6, I6, J6, K6, \
A7, B7, C7, D7, E7, F7, G7, H7, I7, J7, K7, \
A8, B8, C8, D8, E8, F8, G8, H8, I8, J8, K8, \
A9, B9, C9, D9, E9, F9, G9, H9, I9, J9, K9, \
= MAP.flatten()
road_A8 = RoadGrids([B8])
road_H9 = RoadGrids([[H8, I8, J9], ])
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_0(self):
self.pick_up_light_house(A9)
if self.clear_roadblocks([road_A8, road_H9], weakest=False):
return True
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True
return self.battle_default()
def battle_3(self):
self.pick_up_light_house(A9)
self.pick_up_ammo()
self.pick_up_flare(H9)
if self.clear_roadblocks([road_A8, road_H9], weakest=False):
return True
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=1):
return True
return self.battle_default()
def battle_6(self):
self.pick_up_light_house(A9)
self.pick_up_ammo()
self.pick_up_flare(H9)
if self.clear_roadblocks([road_A8, road_H9], weakest=False):
return True
if self.clear_filter_enemy(self.ENEMY_FILTER, preserve=0):
return True
return self.battle_default()
def battle_7(self):
self.fleet_boss.pick_up_flare(A5)
return self.fleet_boss.clear_boss()

View File

@@ -21,6 +21,7 @@ EQUIPMENT_PREVIEW = list([
class EquipmentCodeHandler(StorageHandler):
last_code: str = None
FASTINPUT_IME = 'com.github.uiautomator/.FastInputIME'
def equipment_code_supported(self):
method = self.config.Emulator_ControlMethod
@@ -161,10 +162,21 @@ class EquipmentCodeHandler(StorageHandler):
def set_fastinput_ime(self):
d = self.device.u2
failed = False
try:
d.set_fastinput_ime(True)
except Exception:
logger.warning("FastInputIME not enabled, trying to enable it")
for command in ('enable', 'set'):
result = d.shell(['ime', command, self.FASTINPUT_IME])
exit_code = getattr(result, 'exit_code', 0)
output = getattr(result, 'output', result)
if exit_code:
failed = True
logger.warning(f"Unable to {command} FastInputIME: {output.strip()}")
except Exception as e:
failed = True
logger.warning(f"Unable to set FastInputIME: {e}")
if failed:
logger.warning("FastInputIME not enabled by adb shell, trying to enable it in settings")
self.fastinput_ime_enable()
def _code_input(self, code):
@@ -174,7 +186,7 @@ class EquipmentCodeHandler(StorageHandler):
for _ in self.loop():
name, shown = d.current_ime()
if shown:
if name != 'com.github.uiautomator/.FastInputIME':
if name != self.FASTINPUT_IME:
self.set_fastinput_ime()
continue
else:

View File

@@ -20,7 +20,7 @@ MAIL_SELECT_GEMS = Button(area={'cn': (442, 441, 462, 461), 'en': (442, 441, 462
MAIL_SELECT_MERIT = Button(area={'cn': (802, 401, 822, 421), 'en': (802, 401, 822, 421), 'jp': (802, 410, 822, 430), 'tw': (802, 401, 822, 421)}, color={'cn': (87, 87, 88), 'en': (87, 87, 88), 'jp': (239, 239, 239), 'tw': (87, 87, 88)}, button={'cn': (802, 401, 822, 421), 'en': (802, 401, 822, 421), 'jp': (802, 410, 822, 430), 'tw': (802, 401, 822, 421)}, file={'cn': './assets/cn/freebies/MAIL_SELECT_MERIT.png', 'en': './assets/en/freebies/MAIL_SELECT_MERIT.png', 'jp': './assets/jp/freebies/MAIL_SELECT_MERIT.png', 'tw': './assets/tw/freebies/MAIL_SELECT_MERIT.png'})
MAIL_SELECT_OIL = Button(area={'cn': (682, 401, 702, 421), 'en': (682, 401, 702, 421), 'jp': (682, 410, 702, 430), 'tw': (682, 401, 702, 421)}, color={'cn': (241, 240, 241), 'en': (241, 240, 241), 'jp': (239, 239, 239), 'tw': (241, 240, 241)}, button={'cn': (682, 401, 702, 421), 'en': (682, 401, 702, 421), 'jp': (682, 410, 702, 430), 'tw': (682, 401, 702, 421)}, file={'cn': './assets/cn/freebies/MAIL_SELECT_OIL.png', 'en': './assets/en/freebies/MAIL_SELECT_OIL.png', 'jp': './assets/jp/freebies/MAIL_SELECT_OIL.png', 'tw': './assets/tw/freebies/MAIL_SELECT_OIL.png'})
MAIL_WHITE_EMPTY = Button(area={'cn': (178, 375, 266, 400), 'en': (236, 365, 371, 404), 'jp': (178, 375, 266, 400), 'tw': (178, 375, 266, 400)}, color={'cn': (131, 141, 158), 'en': (148, 160, 177), 'jp': (131, 141, 158), 'tw': (131, 141, 158)}, button={'cn': (178, 375, 266, 400), 'en': (236, 365, 371, 404), 'jp': (178, 375, 266, 400), 'tw': (178, 375, 266, 400)}, file={'cn': './assets/cn/freebies/MAIL_WHITE_EMPTY.png', 'en': './assets/en/freebies/MAIL_WHITE_EMPTY.png', 'jp': './assets/jp/freebies/MAIL_WHITE_EMPTY.png', 'tw': './assets/cn/freebies/MAIL_WHITE_EMPTY.png'})
OCR_DATA_KEY = Button(area={'cn': (132, 42, 233, 70), 'en': (132, 42, 233, 70), 'jp': (132, 42, 233, 70), 'tw': (132, 42, 233, 70)}, color={'cn': (74, 75, 86), 'en': (74, 75, 86), 'jp': (74, 75, 86), 'tw': (74, 75, 86)}, button={'cn': (132, 42, 233, 70), 'en': (132, 42, 233, 70), 'jp': (132, 42, 233, 70), 'tw': (132, 42, 233, 70)}, file={'cn': './assets/cn/freebies/OCR_DATA_KEY.png', 'en': './assets/en/freebies/OCR_DATA_KEY.png', 'jp': './assets/jp/freebies/OCR_DATA_KEY.png', 'tw': './assets/tw/freebies/OCR_DATA_KEY.png'})
OCR_DATA_KEY = Button(area={'cn': (133, 39, 250, 72), 'en': (133, 39, 250, 72), 'jp': (133, 39, 250, 72), 'tw': (133, 39, 250, 72)}, color={'cn': (82, 80, 91), 'en': (82, 80, 91), 'jp': (82, 80, 91), 'tw': (82, 80, 91)}, button={'cn': (133, 39, 250, 72), 'en': (133, 39, 250, 72), 'jp': (133, 39, 250, 72), 'tw': (133, 39, 250, 72)}, file={'cn': './assets/cn/freebies/OCR_DATA_KEY.png', 'en': './assets/en/freebies/OCR_DATA_KEY.png', 'jp': './assets/jp/freebies/OCR_DATA_KEY.png', 'tw': './assets/tw/freebies/OCR_DATA_KEY.png'})
PURCHASE_POPUP = Button(area={'cn': (907, 204, 934, 229), 'en': (907, 204, 934, 229), 'jp': (907, 204, 934, 229), 'tw': (907, 204, 934, 229)}, color={'cn': (176, 130, 110), 'en': (176, 130, 110), 'jp': (176, 130, 110), 'tw': (176, 130, 110)}, button={'cn': (907, 204, 934, 229), 'en': (907, 204, 934, 229), 'jp': (907, 204, 934, 229), 'tw': (907, 204, 934, 229)}, file={'cn': './assets/cn/freebies/PURCHASE_POPUP.png', 'en': './assets/en/freebies/PURCHASE_POPUP.png', 'jp': './assets/jp/freebies/PURCHASE_POPUP.png', 'tw': './assets/tw/freebies/PURCHASE_POPUP.png'})
REWARD_RECEIVE = Button(area={'cn': (1192, 520, 1255, 536), 'en': (1192, 522, 1254, 534), 'jp': (1186, 518, 1259, 536), 'tw': (1192, 520, 1255, 536)}, color={'cn': (191, 178, 163), 'en': (195, 182, 168), 'jp': (208, 197, 183), 'tw': (191, 178, 163)}, button={'cn': (1192, 520, 1255, 536), 'en': (1192, 522, 1254, 534), 'jp': (1186, 518, 1259, 536), 'tw': (1192, 520, 1255, 536)}, file={'cn': './assets/cn/freebies/REWARD_RECEIVE.png', 'en': './assets/en/freebies/REWARD_RECEIVE.png', 'jp': './assets/jp/freebies/REWARD_RECEIVE.png', 'tw': './assets/cn/freebies/REWARD_RECEIVE.png'})
REWARD_RECEIVE_SP = Button(area={'cn': (1105, 579, 1184, 597), 'en': (1090, 580, 1197, 596), 'jp': (1091, 599, 1171, 618), 'tw': (1105, 579, 1184, 597)}, color={'cn': (178, 143, 126), 'en': (168, 129, 111), 'jp': (168, 127, 109), 'tw': (178, 143, 126)}, button={'cn': (1105, 579, 1184, 597), 'en': (1090, 580, 1197, 596), 'jp': (1091, 599, 1171, 618), 'tw': (1105, 579, 1184, 597)}, file={'cn': './assets/cn/freebies/REWARD_RECEIVE_SP.png', 'en': './assets/en/freebies/REWARD_RECEIVE_SP.png', 'jp': './assets/jp/freebies/REWARD_RECEIVE_SP.png', 'tw': './assets/cn/freebies/REWARD_RECEIVE_SP.png'})

View File

@@ -6,7 +6,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [238.69016631 238.37881965 529.71190834 528.92520834 528.39586667 150.07973333]
'series_9_ta152_only_cube': """
S9-Q0.5 > S9-DR0.5 > S9-PRY0.5 > Q0.5 > S9-Q4 > S9-Q2 > S9-Q1 > 0.5
> S9-E-315 > S9-G1.5 > S9-G4 > Q1 > reset > S9-H1 > H1 > 1 > S9-E-031
> S9-E-315 > S9-G1.5 > S9-G4 > Q1 > S8-E-880 > S8-E-180 > reset > S9-H1 > H1 > 1 > S9-E-031
> S9-DR2.5 > S9-PRY2.5 > S9-G2.5 > G1.5 > 1.5 > Q2 > E2 > S9-H2 > H2
> 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-DR5 > S9-PRY5 > Q4 > G4
> S9-H4 > H4 > 4 > S9-C6 > DR5 > PRY5 > 5 > S9-DR8 > S9-PRY8 > S9-C8
@@ -17,7 +17,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [241.92774575 241.13046242 421.82134358 421.04494941 420.46893024 150.07799978]
'series_9_ta152_only': """
S9-Q0.5 > S9-PRY0.5 > S9-DR0.5 > Q0.5 > S9-Q4 > S9-Q2 > S9-Q1 > 0.5
> S9-E-315 > S9-G4 > S9-G1.5 > Q1 > 1 > S9-E-031 > S9-DR2.5 > reset
> S9-E-315 > S9-G4 > S9-G1.5 > Q1 > 1 > S9-E-031 > S9-DR2.5 > S8-E-880 > S8-E-180 > reset
> S9-G2.5 > S9-PRY2.5 > G1.5 > 1.5 > Q2 > E2 > 2 > DR2.5 > PRY2.5
> G2.5 > 2.5 > S9-DR5 > S9-PRY5 > Q4 > G4 > 4 > S9-C6 > DR5 > PRY5
> 5 > S9-DR8 > S9-PRY8 > S9-C8 > C6 > 6 > DR8 > PRY8 > C8 > 8
@@ -28,7 +28,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [531.93022864 529.81919864 510.27473326 510.18530159 510.11215826 100.8088164]
'series_9_blueprint_ta152_cube': """
S9-DR0.5 > S9-Q0.5 > S9-PRY0.5 > 0.5 > S9-DR2.5 > S9-Q1 > S9-Q2
> S9-H1 > S9-E-315 > S9-G1.5 > reset > S9-Q4 > S9-G4 > S9-H2 > Q1
> S9-H1 > S9-E-315 > S9-G1.5 > S8-E-880 > S8-E-180 > reset > S9-Q4 > S9-G4 > S9-H2 > Q1
> H1 > 1 > S9-G2.5 > S9-DR5 > S9-PRY2.5 > G1.5 > 1.5 > S9-E-031
> S9-DR8 > Q2 > E2 > H2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-H4
> S9-PRY5 > Q4 > G4 > H4 > 4 > S9-C6 > S9-PRY8 > DR5 > PRY5 > 5 > C6
@@ -39,7 +39,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [520.06195858 519.19883191 392.86544828 392.64870495 392.49383995 102.2368499]
'series_9_blueprint_ta152': """
S9-DR0.5 > S9-PRY0.5 > S9-Q0.5 > S9-H0.5 > Q0.5 > S9-DR2.5
> S9-G1.5 > S9-Q1 > S9-DR5 > 0.5 > S9-G4 > S9-Q2 > S9-PRY2.5 > reset
> S9-G1.5 > S9-Q1 > S9-DR5 > 0.5 > S9-G4 > S9-Q2 > S9-PRY2.5 > S8-E-880 > S8-E-180 > reset
> S9-DR8 > Q1 > 1 > S9-E-315 > S9-G2.5 > G1.5 > 1.5 > S9-E-031
> S9-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-PRY5
> S9-PRY8 > Q4 > G4 > 4 > S9-C6 > DR5 > PRY5 > 5 > C6 > 6 > S9-C8
@@ -50,7 +50,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [519.0311752 514.64003687 653.77171198 653.72126532 653.66129615 26.97694791]
'series_9_blueprint_only_cube': """
S9-DR0.5 > S9-PRY0.5 > S9-H0.5 > S9-H1 > S9-H2 > S9-DR2.5 > S9-DR5
> 0.5 > S9-DR8 > reset > S9-H4 > S9-Q1 > Q1 > H1 > 1 > S9-G1.5 > G1.5
> 0.5 > S9-DR8 > S8-E-880 > S8-E-180 > reset > S9-H4 > S9-Q1 > Q1 > H1 > 1 > S9-G1.5 > G1.5
> 1.5 > S9-G2.5 > S9-Q2 > S9-E-315 > S9-E-031 > Q2 > E2 > H2 > 2
> S9-PRY2.5 > S9-G4 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-Q4 > Q4 > G4
> H4 > 4 > S9-PRY5 > S9-PRY8 > S9-C6 > DR5 > PRY5 > 5 > C6 > 6
@@ -61,7 +61,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [514.96354877 514.70099977 355.58865468 354.96831385 354.66888635 56.48432238]
'series_9_blueprint_only': """
S9-DR0.5 > S9-H0.5 > S9-PRY0.5 > S9-DR8 > S9-DR5 > S9-DR2.5
> S9-G1.5 > S9-PRY2.5 > 0.5 > S9-G2.5 > S9-G4 > reset > S9-Q1 > Q1
> S9-G1.5 > S9-PRY2.5 > 0.5 > S9-G2.5 > S9-G4 > S8-E-880 > S8-E-180 > reset > S9-Q1 > Q1
> 1 > S9-PRY5 > G1.5 > 1.5 > S9-Q2 > S9-E-031 > S9-E-315 > Q2 > E2
> 2 > S9-PRY8 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-Q4 > Q4 > G4 > 4
> S9-C6 > DR5 > PRY5 > 5 > C6 > 6 > S9-C8 > DR8 > PRY8 > C8 > 8
@@ -72,7 +72,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [238.69016631 238.37881965 529.71190834 528.92520834 528.39586667 150.07973333]
'series_8_305_only_cube': """
S8-Q0.5 > S8-DR0.5 > S8-PRY0.5 > Q0.5 > S8-Q4 > S8-Q2 > S8-Q1 > 0.5
> S8-E-315 > S8-G1.5 > S8-G4 > Q1 > reset > S8-H1 > H1 > 1 > S8-E-031
> S8-E-880 > S8-E-180 > S8-E-315 > S8-G1.5 > S8-G4 > Q1 > reset > S8-H1 > H1 > 1 > S8-E-031
> S8-DR2.5 > S8-PRY2.5 > S8-G2.5 > G1.5 > 1.5 > Q2 > E2 > S8-H2 > H2
> 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-DR5 > S8-PRY5 > Q4 > G4
> S8-H4 > H4 > 4 > S8-C6 > DR5 > PRY5 > 5 > S8-DR8 > S8-PRY8 > S8-C8
@@ -83,7 +83,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [241.92774575 241.13046242 421.82134358 421.04494941 420.46893024 150.07799978]
'series_8_305_only': """
S8-Q0.5 > S8-PRY0.5 > S8-DR0.5 > Q0.5 > S8-Q4 > S8-Q2 > S8-Q1 > 0.5
> S8-E-315 > S8-G4 > S8-G1.5 > Q1 > 1 > S8-E-031 > S8-DR2.5 > reset
> S8-E-880 > S8-E-180 > S8-E-315 > S8-G4 > S8-G1.5 > Q1 > 1 > S8-E-031 > S8-DR2.5 > reset
> S8-G2.5 > S8-PRY2.5 > G1.5 > 1.5 > Q2 > E2 > 2 > DR2.5 > PRY2.5
> G2.5 > 2.5 > S8-DR5 > S8-PRY5 > Q4 > G4 > 4 > S8-C6 > DR5 > PRY5
> 5 > S8-DR8 > S8-PRY8 > S8-C8 > C6 > 6 > DR8 > PRY8 > C8 > 8
@@ -94,7 +94,7 @@ DICT_FILTER_PRESET = {
# Average rewards: [531.93022864 529.81919864 510.27473326 510.18530159 510.11215826 100.8088164]
'series_8_blueprint_305_cube': """
S8-DR0.5 > S8-Q0.5 > S8-PRY0.5 > 0.5 > S8-DR2.5 > S8-Q1 > S8-Q2
> S8-H1 > S8-E-315 > S8-G1.5 > reset > S8-Q4 > S8-G4 > S8-H2 > Q1
> S8-H1 > S8-E-880 > S8-E-180 > S8-E-315 > S8-G1.5 > reset > S8-Q4 > S8-G4 > S8-H2 > Q1
> H1 > 1 > S8-G2.5 > S8-DR5 > S8-PRY2.5 > G1.5 > 1.5 > S8-E-031
> S8-DR8 > Q2 > E2 > H2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-H4
> S8-PRY5 > Q4 > G4 > H4 > 4 > S8-C6 > S8-PRY8 > DR5 > PRY5 > 5 > C6
@@ -106,7 +106,7 @@ DICT_FILTER_PRESET = {
'series_8_blueprint_305': """
S8-DR0.5 > S8-PRY0.5 > S8-Q0.5 > S8-H0.5 > Q0.5 > S8-DR2.5
> S8-G1.5 > S8-Q1 > S8-DR5 > 0.5 > S8-G4 > S8-Q2 > S8-PRY2.5 > reset
> S8-DR8 > Q1 > 1 > S8-E-315 > S8-G2.5 > G1.5 > 1.5 > S8-E-031
> S8-DR8 > Q1 > 1 > S8-E-880 > S8-E-180 > S8-E-315 > S8-G2.5 > G1.5 > 1.5 > S8-E-031
> S8-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-PRY5
> S8-PRY8 > Q4 > G4 > 4 > S8-C6 > DR5 > PRY5 > 5 > C6 > 6 > S8-C8
> S8-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12
@@ -117,7 +117,7 @@ DICT_FILTER_PRESET = {
'series_8_blueprint_only_cube': """
S8-DR0.5 > S8-PRY0.5 > S8-H0.5 > S8-H1 > S8-H2 > S8-DR2.5 > S8-DR5
> 0.5 > S8-DR8 > reset > S8-H4 > S8-Q1 > Q1 > H1 > 1 > S8-G1.5 > G1.5
> 1.5 > S8-G2.5 > S8-Q2 > S8-E-315 > S8-E-031 > Q2 > E2 > H2 > 2
> 1.5 > S8-G2.5 > S8-Q2 > S8-E-880 > S8-E-180 > S8-E-315 > S8-E-031 > Q2 > E2 > H2 > 2
> S8-PRY2.5 > S8-G4 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-Q4 > Q4 > G4
> H4 > 4 > S8-PRY5 > S8-PRY8 > S8-C6 > DR5 > PRY5 > 5 > C6 > 6
> S8-C8 > S8-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12
@@ -128,7 +128,7 @@ DICT_FILTER_PRESET = {
'series_8_blueprint_only': """
S8-DR0.5 > S8-H0.5 > S8-PRY0.5 > S8-DR8 > S8-DR5 > S8-DR2.5
> S8-G1.5 > S8-PRY2.5 > 0.5 > S8-G2.5 > S8-G4 > reset > S8-Q1 > Q1
> 1 > S8-PRY5 > G1.5 > 1.5 > S8-Q2 > S8-E-031 > S8-E-315 > Q2 > E2
> 1 > S8-PRY5 > G1.5 > 1.5 > S8-Q2 > S8-E-880 > S8-E-180 > S8-E-031 > S8-E-315 > Q2 > E2
> 2 > S8-PRY8 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-Q4 > Q4 > G4 > 4
> S8-C6 > DR5 > PRY5 > 5 > C6 > 6 > S8-C8 > DR8 > PRY8 > C8 > 8
> S8-C12 > C12 > 12

View File

@@ -47,6 +47,8 @@ class Setting:
if isinstance(option_buttons, ButtonGrid):
option_buttons = option_buttons.buttons
for option, option_name in zip(option_buttons, option_names):
if option_name == 'not_available':
continue
self.settings[(setting, option_name)] = option
if option_default not in option_names: