Add: Series 7 filter

This commit is contained in:
LmeSzinc 2024-07-12 00:24:36 +08:00
parent 41e9f19780
commit 5ee7f9118e
12 changed files with 129 additions and 23 deletions

View File

@ -1237,8 +1237,8 @@
"UseCoin": "always_use",
"UsePart": "always_use",
"AllowDelay": true,
"PresetFilter": "series_6_blueprint_203",
"CustomFilter": "S5-DR0.5 > S5-PRY0.5 > S5-H0.5 > S5-Q0.5 > S5-DR2.5 > 0.5 > S5-G1.5\n> S5-Q1 > S5-DR5 > S5-DR8 > S5-G4 > S5-PRY2.5 > 1 > S5-Q2 > reset\n> S5-G2.5 > S5-PRY5 > S5-PRY8 > 1.5 > 2 > S5-Q4 > 2.5 > 3\n> Q4 > G4 > 4 > 5 > S5-C6 > C6 > 6 > S5-C8 > 8\n> S5-C12 > 12"
"PresetFilter": "series_7_blueprint_la9",
"CustomFilter": "S7-DR0.5 > S7-PRY0.5 > S7-Q0.5 > S7-H0.5 > Q0.5 > S7-DR2.5\n> S7-G1.5 > S7-Q1 > S7-DR5 > 0.5 > S7-G4 > S7-Q2 > S7-PRY2.5 > reset\n> S7-DR8 > Q1 > 1 > S7-E-315 > S7-G2.5 > G1.5 > 1.5 > S7-E-031\n> S7-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-PRY5\n> S7-PRY8 > Q4 > G4 > 4 > S7-C6 > DR5 > PRY5 > 5 > C6 > 6 > S7-C8\n> S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12"
},
"Storage": {
"Storage": {}

View File

@ -6816,9 +6816,12 @@
},
"PresetFilter": {
"type": "select",
"value": "series_6_blueprint_203",
"value": "series_7_blueprint_la9",
"option": [
"custom",
"series_7_blueprint_la9",
"series_7_blueprint_only",
"series_7_la9_only",
"series_6_blueprint_203",
"series_6_blueprint_only",
"series_6_203_only",
@ -6839,7 +6842,7 @@
},
"CustomFilter": {
"type": "textarea",
"value": "S5-DR0.5 > S5-PRY0.5 > S5-H0.5 > S5-Q0.5 > S5-DR2.5 > 0.5 > S5-G1.5\n> S5-Q1 > S5-DR5 > S5-DR8 > S5-G4 > S5-PRY2.5 > 1 > S5-Q2 > reset\n> S5-G2.5 > S5-PRY5 > S5-PRY8 > 1.5 > 2 > S5-Q4 > 2.5 > 3\n> Q4 > G4 > 4 > 5 > S5-C6 > C6 > 6 > S5-C8 > 8\n> S5-C12 > 12"
"value": "S7-DR0.5 > S7-PRY0.5 > S7-Q0.5 > S7-H0.5 > Q0.5 > S7-DR2.5\n> S7-G1.5 > S7-Q1 > S7-DR5 > 0.5 > S7-G4 > S7-Q2 > S7-PRY2.5 > reset\n> S7-DR8 > Q1 > 1 > S7-E-315 > S7-G2.5 > G1.5 > 1.5 > S7-E-031\n> S7-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-PRY5\n> S7-PRY8 > Q4 > G4 > 4 > S7-C6 > DR5 > PRY5 > 5 > C6 > 6 > S7-C8\n> S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12"
}
},
"Storage": {

View File

@ -375,9 +375,12 @@ Research:
option: [ always_use, only_05_hour, only_no_project, do_not_use ]
AllowDelay: true
PresetFilter:
value: series_6_blueprint_203
value: series_7_blueprint_la9
option:
- custom
- series_7_blueprint_la9
- series_7_blueprint_only
- series_7_la9_only
- series_6_blueprint_203
- series_6_blueprint_only
- series_6_203_only
@ -395,11 +398,12 @@ Research:
- series_2_blueprint_only
- series_2_457_only
CustomFilter: |-
S5-DR0.5 > S5-PRY0.5 > S5-H0.5 > S5-Q0.5 > S5-DR2.5 > 0.5 > S5-G1.5
> S5-Q1 > S5-DR5 > S5-DR8 > S5-G4 > S5-PRY2.5 > 1 > S5-Q2 > reset
> S5-G2.5 > S5-PRY5 > S5-PRY8 > 1.5 > 2 > S5-Q4 > 2.5 > 3
> Q4 > G4 > 4 > 5 > S5-C6 > C6 > 6 > S5-C8 > 8
> S5-C12 > 12
S7-DR0.5 > S7-PRY0.5 > S7-Q0.5 > S7-H0.5 > Q0.5 > S7-DR2.5
> S7-G1.5 > S7-Q1 > S7-DR5 > 0.5 > S7-G4 > S7-Q2 > S7-PRY2.5 > reset
> S7-DR8 > Q1 > 1 > S7-E-315 > S7-G2.5 > G1.5 > 1.5 > S7-E-031
> S7-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-PRY5
> S7-PRY8 > Q4 > G4 > 4 > S7-C6 > DR5 > PRY5 > 5 > C6 > 6 > S7-C8
> S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12
Dorm:
Collect: true
Feed: true

View File

@ -206,8 +206,8 @@ class GeneratedConfig:
Research_UseCoin = 'always_use' # always_use, only_05_hour, only_no_project, do_not_use
Research_UsePart = 'always_use' # always_use, only_05_hour, only_no_project, do_not_use
Research_AllowDelay = True
Research_PresetFilter = 'series_6_blueprint_203' # custom, series_6_blueprint_203, series_6_blueprint_only, series_6_203_only, series_5_blueprint_152, series_5_blueprint_only, series_5_152_only, series_4_blueprint_tenrai, series_4_blueprint_only, series_4_tenrai_only, series_3_blueprint_234, series_3_blueprint_only, series_3_234_only, series_2_than_3_457_234, series_2_blueprint_457, series_2_blueprint_only, series_2_457_only
Research_CustomFilter = 'S5-DR0.5 > S5-PRY0.5 > S5-H0.5 > S5-Q0.5 > S5-DR2.5 > 0.5 > S5-G1.5\n> S5-Q1 > S5-DR5 > S5-DR8 > S5-G4 > S5-PRY2.5 > 1 > S5-Q2 > reset\n> S5-G2.5 > S5-PRY5 > S5-PRY8 > 1.5 > 2 > S5-Q4 > 2.5 > 3\n> Q4 > G4 > 4 > 5 > S5-C6 > C6 > 6 > S5-C8 > 8\n> S5-C12 > 12'
Research_PresetFilter = 'series_7_blueprint_la9' # custom, series_7_blueprint_la9, series_7_blueprint_only, series_7_la9_only, series_6_blueprint_203, series_6_blueprint_only, series_6_203_only, series_5_blueprint_152, series_5_blueprint_only, series_5_152_only, series_4_blueprint_tenrai, series_4_blueprint_only, series_4_tenrai_only, series_3_blueprint_234, series_3_blueprint_only, series_3_234_only, series_2_than_3_457_234, series_2_blueprint_457, series_2_blueprint_only, series_2_457_only
Research_CustomFilter = 'S7-DR0.5 > S7-PRY0.5 > S7-Q0.5 > S7-H0.5 > Q0.5 > S7-DR2.5\n> S7-G1.5 > S7-Q1 > S7-DR5 > 0.5 > S7-G4 > S7-Q2 > S7-PRY2.5 > reset\n> S7-DR8 > Q1 > 1 > S7-E-315 > S7-G2.5 > G1.5 > 1.5 > S7-E-031\n> S7-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-PRY5\n> S7-PRY8 > Q4 > G4 > 4 > S7-C6 > DR5 > PRY5 > 5 > C6 > 6 > S7-C8\n> S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12'
# Group `Dorm`
Dorm_Collect = True

View File

@ -1393,6 +1393,9 @@
"name": "Preset Filter Select",
"help": "See research drops rates and spawn rates in https://azur-stats.lyoko.io/. People without a basic knowledge of these are recommended to use pre-optimized presets instead of writing custom filters",
"custom": "custom",
"series_7_blueprint_la9": "Series 7 Blueprints+La9",
"series_7_blueprint_only": "Series 7 Blueprints Only",
"series_7_la9_only": "Series 7 La9 Only",
"series_6_blueprint_203": "Series 6 Blueprints+203",
"series_6_blueprint_only": "Series 6 Blueprints Only",
"series_6_203_only": "Series 6 203 Only",

View File

@ -1393,6 +1393,9 @@
"name": "Research.PresetFilter.name",
"help": "Research.PresetFilter.help",
"custom": "custom",
"series_7_blueprint_la9": "series_7_blueprint_la9",
"series_7_blueprint_only": "series_7_blueprint_only",
"series_7_la9_only": "series_7_la9_only",
"series_6_blueprint_203": "series_6_blueprint_203",
"series_6_blueprint_only": "series_6_blueprint_only",
"series_6_203_only": "series_6_203_only",

View File

@ -1393,6 +1393,9 @@
"name": "科研过滤器",
"help": "科研掉落和项目刷新见 https://azur-stats.lyoko.io/,对这些没有基本了解的人不建议编写自定义过滤器,建议使用预优化科研过滤器",
"custom": "自定义",
"series_7_blueprint_la9": "七期 蓝图+La9",
"series_7_blueprint_only": "七期 仅蓝图",
"series_7_la9_only": "七期 仅La9",
"series_6_blueprint_203": "六期 蓝图+203",
"series_6_blueprint_only": "六期 仅蓝图",
"series_6_203_only": "六期 仅203",

View File

@ -1393,6 +1393,9 @@
"name": "科研過濾器",
"help": "科研掉落和項目刷新見 https://azur-stats.lyoko.io/,對這些沒有基本了解的人不建議編寫自定義過濾器,建議使用預優化科研過濾器",
"custom": "自定義",
"series_7_blueprint_la9": "七期 藍圖+La9",
"series_7_blueprint_only": "七期 僅藍圖",
"series_7_la9_only": "七期 僅La9",
"series_6_blueprint_203": "六期 藍圖+203",
"series_6_blueprint_only": "六期 僅藍圖",
"series_6_203_only": "六期 僅203",

View File

@ -1,6 +1,72 @@
FILTER_STRING_SHORTEST = '0.5 > 1 > 1.5 > 2 > 2.5 > 3 > 4 > 5 > 6 > 8 > 10 > 12'
FILTER_STRING_CHEAPEST = 'Q1 > Q2 > T3 > T4 > Q4 > C6 > T6 > C8 > C12 > G1.5 > D2.5 > G2.5 > D5 > Q0.5 > G4 > D8 > H1 > H2 > H0.5 > D0.5 > H4'
DICT_FILTER_PRESET = {
# Goal: DR_blurprint=0, PRY_blueprint=0, tanrai_blueprint=150
# Average time cost: 153.41706666666678
# Average rewards: [238.69016631 238.37881965 529.71190834 528.92520834 528.39586667 150.07973333]
'series_7_la9_only_cube': """
S7-Q0.5 > S7-DR0.5 > S7-PRY0.5 > Q0.5 > S7-Q4 > S7-Q2 > S7-Q1 > 0.5
> S7-E-315 > S7-G1.5 > S7-G4 > Q1 > reset > S7-H1 > H1 > 1 > S7-E-031
> S7-DR2.5 > S7-PRY2.5 > S7-G2.5 > G1.5 > 1.5 > Q2 > E2 > S7-H2 > H2
> 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-DR5 > S7-PRY5 > Q4 > G4
> S7-H4 > H4 > 4 > S7-C6 > DR5 > PRY5 > 5 > S7-DR8 > S7-PRY8 > S7-C8
> C6 > 6 > S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12
""",
# Goal: DR_blurprint=0, PRY_blueprint=0, tanrai_blueprint=150
# Average time cost: 161.37177965277806
# Average rewards: [241.92774575 241.13046242 421.82134358 421.04494941 420.46893024 150.07799978]
'series_7_la9_only': """
S7-Q0.5 > S7-PRY0.5 > S7-DR0.5 > Q0.5 > S7-Q4 > S7-Q2 > S7-Q1 > 0.5
> S7-E-315 > S7-G4 > S7-G1.5 > Q1 > 1 > S7-E-031 > S7-DR2.5 > reset
> S7-G2.5 > S7-PRY2.5 > G1.5 > 1.5 > Q2 > E2 > 2 > DR2.5 > PRY2.5
> G2.5 > 2.5 > S7-DR5 > S7-PRY5 > Q4 > G4 > 4 > S7-C6 > DR5 > PRY5
> 5 > S7-DR8 > S7-PRY8 > S7-C8 > C6 > 6 > DR8 > PRY8 > C8 > 8
> S7-C12 > C12 > 12
""",
# Goal: DR_blurprint=513, PRY_blueprint=343, tanrai_blueprint=100
# Average time cost: 124.67622465277958
# Average rewards: [531.93022864 529.81919864 510.27473326 510.18530159 510.11215826 100.8088164]
'series_7_blueprint_la9_cube': """
S7-DR0.5 > S7-Q0.5 > S7-PRY0.5 > 0.5 > S7-DR2.5 > S7-Q1 > S7-Q2
> S7-H1 > S7-E-315 > S7-G1.5 > reset > S7-Q4 > S7-G4 > S7-H2 > Q1
> H1 > 1 > S7-G2.5 > S7-DR5 > S7-PRY2.5 > G1.5 > 1.5 > S7-E-031
> S7-DR8 > Q2 > E2 > H2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-H4
> S7-PRY5 > Q4 > G4 > H4 > 4 > S7-C6 > S7-PRY8 > DR5 > PRY5 > 5 > C6
> 6 > S7-C8 > DR8 > PRY8 > C8 > 8 > S7-C12 > C12 > 12
""",
# Goal: DR_blurprint=513, PRY_blueprint=343, tanrai_blueprint=100
# Average time cost: 143.56399131945145
# Average rewards: [520.06195858 519.19883191 392.86544828 392.64870495 392.49383995 102.2368499]
'series_7_blueprint_la9': """
S7-DR0.5 > S7-PRY0.5 > S7-Q0.5 > S7-H0.5 > Q0.5 > S7-DR2.5
> S7-G1.5 > S7-Q1 > S7-DR5 > 0.5 > S7-G4 > S7-Q2 > S7-PRY2.5 > reset
> S7-DR8 > Q1 > 1 > S7-E-315 > S7-G2.5 > G1.5 > 1.5 > S7-E-031
> S7-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-PRY5
> S7-PRY8 > Q4 > G4 > 4 > S7-C6 > DR5 > PRY5 > 5 > C6 > 6 > S7-C8
> S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12
""",
# Goal: DR_blurprint=513, PRY_blueprint=343, tanrai_blueprint=0
# Average time cost: 82.0121088194467
# Average rewards: [519.0311752 514.64003687 653.77171198 653.72126532 653.66129615 26.97694791]
'series_7_blueprint_only_cube': """
S7-DR0.5 > S7-PRY0.5 > S7-H0.5 > S7-H1 > S7-H2 > S7-DR2.5 > S7-DR5
> 0.5 > S7-DR8 > reset > S7-H4 > S7-Q1 > Q1 > H1 > 1 > S7-G1.5 > G1.5
> 1.5 > S7-G2.5 > S7-Q2 > S7-E-315 > S7-E-031 > Q2 > E2 > H2 > 2
> S7-PRY2.5 > S7-G4 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-Q4 > Q4 > G4
> H4 > 4 > S7-PRY5 > S7-PRY8 > S7-C6 > DR5 > PRY5 > 5 > C6 > 6
> S7-C8 > S7-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12
""",
# Goal: DR_blurprint=513, PRY_blueprint=343, tanrai_blueprint=0
# Average time cost: 124.71616166666873
# Average rewards: [514.96354877 514.70099977 355.58865468 354.96831385 354.66888635 56.48432238]
'series_7_blueprint_only': """
S7-DR0.5 > S7-H0.5 > S7-PRY0.5 > S7-DR8 > S7-DR5 > S7-DR2.5
> S7-G1.5 > S7-PRY2.5 > 0.5 > S7-G2.5 > S7-G4 > reset > S7-Q1 > Q1
> 1 > S7-PRY5 > G1.5 > 1.5 > S7-Q2 > S7-E-031 > S7-E-315 > Q2 > E2
> 2 > S7-PRY8 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S7-Q4 > Q4 > G4 > 4
> S7-C6 > DR5 > PRY5 > 5 > C6 > 6 > S7-C8 > DR8 > PRY8 > C8 > 8
> S7-C12 > C12 > 12
""",
# Goal: DR_blurprint=0, PRY_blueprint=0, tanrai_blueprint=150
# Average time cost: 153.41706666666678
# Average rewards: [238.69016631 238.37881965 529.71190834 528.92520834 528.39586667 150.07973333]

View File

@ -80,6 +80,8 @@ def translate(string: str, target='series_4_tenrai_only_cube', for_simulate=Fals
def convert_name(name, series):
name = re.sub(r'series_\d', f'series_{series}', name)
if 'series_7' in name:
name = name.replace('tenrai', 'la9')
if 'series_6' in name:
name = name.replace('tenrai', '203')
if 'series_5' in name:
@ -100,7 +102,7 @@ if __name__ == '__main__':
Value(
FILTER_STRING_CHEAPEST='Q1 > Q2 > T3 > T4 > Q4 > C6 > T6 > C8 > C12 > G1.5 > D2.5 > G2.5 > D5 > Q0.5 > G4 > D8 > H1 > H2 > H0.5 > D0.5 > H4')
with Dict('DICT_FILTER_PRESET'):
for series in [6, 5, 4, 3, 2]:
for series in [7, 6, 5, 4, 3, 2]:
def new_filter(**kwargs):
for k, v in kwargs.items():
k = convert_name(k, series)

View File

@ -400,9 +400,17 @@ class ResearchProject:
'|gascogne|champagne|cheshire|drake|mainz|odin'
'|anchorage|hakuryu|agir|august|marcopolo'
'|plymouth|rupprecht|harbin|chkalov|brest'
'|kearsarge|hindenburg|shimanto|schultz|flandre)')
'|kearsarge|hindenburg|shimanto|schultz|flandre'
'|napoli|nakhimov|halford|bayard|daisen)')
REGEX_INPUT = re.compile('(coin|cube|part)')
REGEX_DR_SHIP = re.compile('azuma|friedrich|drake|hakuryu|agir|plymouth|brest|kearsarge|hindenburg')
REGEX_DR_SHIP = re.compile(
'azuma|friedrich'
'|drake'
'|hakuryu|agir'
'|plymouth|brest'
'|kearsarge|hindenburg'
'|napoli|nakhimov'
)
# Generate with:
"""
out = []
@ -419,10 +427,12 @@ class ResearchProject:
'779', '794', '305', '312', '346', '357', '379', '394', '721', '722', '772', '777', '795', '321', '322', '372',
'377', '395', '708', '763', '775', '782', '768', '308', '363', '375', '382', '368', '719', '778', '786', '788',
'793', '319', '378', '386', '388', '393', '783', '713', '739', '771', '796', '383', '313', '339', '371', '396',
'418', '431', '444', '459', '474', '492', '018', '031', '044', '059', '074', '092', '405', '412', '446', '457',
'479', '494', '005', '012', '046', '057', '079', '094', '421', '422', '472', '477', '495', '021', '022', '072',
'077', '095', '408', '463', '475', '482', '468', '008', '063', '075', '082', '068', '419', '478', '486', '488',
'493', '019', '078', '086', '088', '093', '483', '413', '439', '471', '496', '083', '013', '039', '071', '096']
'703', '758', '766', '790', '797', '303', '358', '366', '390', '397', '418', '431', '444', '459', '474', '492',
'018', '031', '044', '059', '074', '092', '405', '412', '446', '457', '479', '494', '005', '012', '046', '057',
'079', '094', '421', '422', '472', '477', '495', '021', '022', '072', '077', '095', '408', '463', '475', '482',
'468', '008', '063', '075', '082', '068', '419', '478', '486', '488', '493', '019', '078', '086', '088', '093',
'483', '413', '439', '471', '496', '083', '013', '039', '071', '096', '403', '458', '466', '490', '497', '003',
'058', '066', '090', '097']
def __init__(self, name, series):
"""
@ -608,8 +618,16 @@ class ResearchProjectJp:
SHIP_S4 = ['anchorage', 'hakuryu', 'agir', 'august', 'marcopolo']
SHIP_S5 = ['plymouth', 'rupprecht', 'harbin', 'chkalov', 'brest']
SHIP_S6 = ['kearsarge', 'hindenburg', 'shimanto', 'schultz', 'flandre']
SHIP_ALL = SHIP_S1 + SHIP_S2 + SHIP_S3 + SHIP_S4 + SHIP_S5 + SHIP_S6
DR_SHIP = ['azuma', 'friedrich', 'drake', 'hakuryu', 'agir', 'plymouth', 'brest', 'kearsarge', 'hindenburg']
SHIP_S7 = ['napoli', 'nakhimov', 'halford', 'bayard', 'daisen']
SHIP_ALL = SHIP_S1 + SHIP_S2 + SHIP_S3 + SHIP_S4 + SHIP_S5 + SHIP_S6 + SHIP_S7
DR_SHIP = [
'azuma', 'friedrich',
'drake',
'hakuryu', 'agir',
'plymouth', 'brest',
'kearsarge', 'hindenburg',
'napoli', 'nakhimov',
]
def __init__(self):
self.valid = True

View File

@ -12,14 +12,15 @@ from module.research.project import research_detect, research_jp_detect
from module.research.ui import ResearchUI
RESEARCH_ENTRANCE = [ENTRANCE_1, ENTRANCE_2, ENTRANCE_3, ENTRANCE_4, ENTRANCE_5]
FILTER_REGEX = re.compile('(s[123456])?'
FILTER_REGEX = re.compile('(s[1234567])?'
'-?'
'(neptune|monarch|ibuki|izumo|roon|saintlouis'
'|seattle|georgia|kitakaze|azuma|friedrich'
'|gascogne|champagne|cheshire|drake|mainz|odin'
'|anchorage|hakuryu|agir|august|marcopolo'
'|plymouth|rupprecht|harbin|chkalov|brest'
'|kearsarge|hindenburg|shimanto|schultz|flandre)?'
'|kearsarge|hindenburg|shimanto|schultz|flandre'
'|napoli|nakhimov|halford|bayard|daisen)?'
'(dr|pry)?'
'([bcdeghqt])?'
'-?'