From 5ee7f9118e07d1cc0ab6da23b2f29845dbbf248c Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Fri, 12 Jul 2024 00:24:36 +0800 Subject: [PATCH] Add: Series 7 filter --- config/template.json | 4 +- module/config/argument/args.json | 7 ++- module/config/argument/argument.yaml | 16 ++++--- module/config/config_generated.py | 4 +- module/config/i18n/en-US.json | 3 ++ module/config/i18n/ja-JP.json | 3 ++ module/config/i18n/zh-CN.json | 3 ++ module/config/i18n/zh-TW.json | 3 ++ module/research/preset.py | 66 ++++++++++++++++++++++++++++ module/research/preset_generator.py | 4 +- module/research/project.py | 34 ++++++++++---- module/research/selector.py | 5 ++- 12 files changed, 129 insertions(+), 23 deletions(-) diff --git a/config/template.json b/config/template.json index b9cf7f3f0..f88dfc4a8 100644 --- a/config/template.json +++ b/config/template.json @@ -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": {} diff --git a/module/config/argument/args.json b/module/config/argument/args.json index fb4abf33c..c8256acb2 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -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": { diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 59cab0349..5a0a675bc 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -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 diff --git a/module/config/config_generated.py b/module/config/config_generated.py index c790347cf..89febe56c 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -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 diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 402d9d587..56ee7c832 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -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", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 74fc85eca..c112afd7e 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -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", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 89eb3ad00..e3f49ba7f 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -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", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index b1e427154..2548f67d2 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -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", diff --git a/module/research/preset.py b/module/research/preset.py index 9f56c1a88..15865fd28 100644 --- a/module/research/preset.py +++ b/module/research/preset.py @@ -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] diff --git a/module/research/preset_generator.py b/module/research/preset_generator.py index 07ab92395..94d238dc4 100644 --- a/module/research/preset_generator.py +++ b/module/research/preset_generator.py @@ -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) diff --git a/module/research/project.py b/module/research/project.py index a7e8a8d92..3b4f0d7f8 100644 --- a/module/research/project.py +++ b/module/research/project.py @@ -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 diff --git a/module/research/selector.py b/module/research/selector.py index b8149df44..110f12369 100644 --- a/module/research/selector.py +++ b/module/research/selector.py @@ -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])?' '-?'