diff --git a/assets/cn/research/TEMPLATE_S9.png b/assets/cn/research/TEMPLATE_S9.png new file mode 100644 index 000000000..210648beb Binary files /dev/null and b/assets/cn/research/TEMPLATE_S9.png differ diff --git a/assets/research_blueprint/duncan.png b/assets/research_blueprint/duncan.png new file mode 100644 index 000000000..470e9916a Binary files /dev/null and b/assets/research_blueprint/duncan.png differ diff --git a/assets/research_blueprint/maximmelmann.png b/assets/research_blueprint/maximmelmann.png new file mode 100644 index 000000000..5a1f9ee07 Binary files /dev/null and b/assets/research_blueprint/maximmelmann.png differ diff --git a/assets/research_blueprint/orage.png b/assets/research_blueprint/orage.png new file mode 100644 index 000000000..9939c55cd Binary files /dev/null and b/assets/research_blueprint/orage.png differ diff --git a/assets/research_blueprint/takahashi.png b/assets/research_blueprint/takahashi.png new file mode 100644 index 000000000..2822de41c Binary files /dev/null and b/assets/research_blueprint/takahashi.png differ diff --git a/assets/research_blueprint/valparaiso.png b/assets/research_blueprint/valparaiso.png new file mode 100644 index 000000000..16be32d28 Binary files /dev/null and b/assets/research_blueprint/valparaiso.png differ diff --git a/config/template.json b/config/template.json index a0331255e..c0c6f42b2 100644 --- a/config/template.json +++ b/config/template.json @@ -1437,8 +1437,8 @@ "UseCoin": "always_use", "UsePart": "always_use", "AllowDelay": true, - "PresetFilter": "series_8_blueprint_305", - "CustomFilter": "S8-DR0.5 > S8-PRY0.5 > S8-Q0.5 > S8-H0.5 > Q0.5 > S8-DR2.5\n> S8-G1.5 > S8-Q1 > S8-DR5 > 0.5 > S8-G4 > S8-Q2 > S8-PRY2.5 > reset\n> S8-DR8 > Q1 > 1 > S8-E-315 > S8-G2.5 > G1.5 > 1.5 > S8-E-031\n> S8-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-PRY5\n> S8-PRY8 > Q4 > G4 > 4 > S8-C6 > DR5 > PRY5 > 5 > C6 > 6 > S8-C8\n> S8-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12" + "PresetFilter": "series_9_blueprint_ta152", + "CustomFilter": "S9-DR0.5 > S9-PRY0.5 > S9-Q0.5 > S9-H0.5 > Q0.5 > S9-DR2.5\n> S9-G1.5 > S9-Q1 > S9-DR5 > 0.5 > S9-G4 > S9-Q2 > S9-PRY2.5 > reset\n> S9-DR8 > Q1 > 1 > S9-E-315 > S9-G2.5 > G1.5 > 1.5 > S9-E-031\n> S9-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-PRY5\n> S9-PRY8 > Q4 > G4 > 4 > S9-C6 > DR5 > PRY5 > 5 > C6 > 6 > S9-C8\n> S9-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12" }, "Storage": { "Storage": {} diff --git a/dev_tools/research_extractor.py b/dev_tools/research_extractor.py index 54a525baa..be28270b0 100644 --- a/dev_tools/research_extractor.py +++ b/dev_tools/research_extractor.py @@ -55,6 +55,11 @@ DIC_TRANSLATION = { '蓝图:埃吉尔': 'Blueprint - Ägir', '蓝图:奥古斯特·冯·帕塞瓦尔': 'Blueprint - August von Parseval', '蓝图:马可波罗': 'Blueprint - Marco Polo', + '蓝图:瓦尔帕莱索': 'Blueprint - Valparaíso', + '蓝图:{namecode:565}': 'Blueprint - Max Immelmann', + '蓝图:邓肯': 'Blueprint - Duncan', + '蓝图:{namecode:313}': 'Blueprint - Takahashi', + '蓝图:暴风雨': 'Blueprint - Orage', } @@ -139,7 +144,7 @@ Arguments: FILE: Path to AzurLaneData, '/AzurLaneData' SAVE: File to save, 'module/research/project_data.py' """ -FOLDER = '' +FOLDER = '../AzurLaneLuaScripts' SAVE = 'module/research/project_data.py' TechnologyTemplate().write(SAVE) diff --git a/module/config/argument/args.json b/module/config/argument/args.json index df4ad0496..56eafe89e 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -7486,9 +7486,12 @@ }, "PresetFilter": { "type": "select", - "value": "series_8_blueprint_305", + "value": "series_9_blueprint_ta152", "option": [ "custom", + "series_9_blueprint_ta152", + "series_9_blueprint_only", + "series_9_ta152_only", "series_8_blueprint_305", "series_8_blueprint_only", "series_8_305_only", @@ -7515,7 +7518,7 @@ }, "CustomFilter": { "type": "textarea", - "value": "S8-DR0.5 > S8-PRY0.5 > S8-Q0.5 > S8-H0.5 > Q0.5 > S8-DR2.5\n> S8-G1.5 > S8-Q1 > S8-DR5 > 0.5 > S8-G4 > S8-Q2 > S8-PRY2.5 > reset\n> S8-DR8 > Q1 > 1 > S8-E-315 > S8-G2.5 > G1.5 > 1.5 > S8-E-031\n> S8-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-PRY5\n> S8-PRY8 > Q4 > G4 > 4 > S8-C6 > DR5 > PRY5 > 5 > C6 > 6 > S8-C8\n> S8-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12" + "value": "S9-DR0.5 > S9-PRY0.5 > S9-Q0.5 > S9-H0.5 > Q0.5 > S9-DR2.5\n> S9-G1.5 > S9-Q1 > S9-DR5 > 0.5 > S9-G4 > S9-Q2 > S9-PRY2.5 > reset\n> S9-DR8 > Q1 > 1 > S9-E-315 > S9-G2.5 > G1.5 > 1.5 > S9-E-031\n> S9-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-PRY5\n> S9-PRY8 > Q4 > G4 > 4 > S9-C6 > DR5 > PRY5 > 5 > C6 > 6 > S9-C8\n> S9-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12" } }, "Storage": { diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 896fac529..a368aa565 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -418,9 +418,12 @@ Research: option: [ always_use, only_05_hour, only_no_project, do_not_use ] AllowDelay: true PresetFilter: - value: series_8_blueprint_305 + value: series_9_blueprint_ta152 option: - custom + - series_9_blueprint_ta152 + - series_9_blueprint_only + - series_9_ta152_only - series_8_blueprint_305 - series_8_blueprint_only - series_8_305_only @@ -444,12 +447,12 @@ Research: - series_2_blueprint_only - series_2_457_only CustomFilter: |- - 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-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 + 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-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 + > S9-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 dad9fee48..b534a1774 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -231,8 +231,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_8_blueprint_305' # custom, series_8_blueprint_305, series_8_blueprint_only, series_8_305_only, 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 = 'S8-DR0.5 > S8-PRY0.5 > S8-Q0.5 > S8-H0.5 > Q0.5 > S8-DR2.5\n> S8-G1.5 > S8-Q1 > S8-DR5 > 0.5 > S8-G4 > S8-Q2 > S8-PRY2.5 > reset\n> S8-DR8 > Q1 > 1 > S8-E-315 > S8-G2.5 > G1.5 > 1.5 > S8-E-031\n> S8-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S8-PRY5\n> S8-PRY8 > Q4 > G4 > 4 > S8-C6 > DR5 > PRY5 > 5 > C6 > 6 > S8-C8\n> S8-C12 > DR8 > PRY8 > C8 > 8 > C12 > 12' + Research_PresetFilter = 'series_9_blueprint_ta152' # custom, series_9_blueprint_ta152, series_9_blueprint_only, series_9_ta152_only, series_8_blueprint_305, series_8_blueprint_only, series_8_305_only, 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 = 'S9-DR0.5 > S9-PRY0.5 > S9-Q0.5 > S9-H0.5 > Q0.5 > S9-DR2.5\n> S9-G1.5 > S9-Q1 > S9-DR5 > 0.5 > S9-G4 > S9-Q2 > S9-PRY2.5 > reset\n> S9-DR8 > Q1 > 1 > S9-E-315 > S9-G2.5 > G1.5 > 1.5 > S9-E-031\n> S9-Q4 > Q2 > E2 > 2 > DR2.5 > PRY2.5 > G2.5 > 2.5 > S9-PRY5\n> S9-PRY8 > Q4 > G4 > 4 > S9-C6 > DR5 > PRY5 > 5 > C6 > 6 > S9-C8\n> S9-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 08cf19040..9e46a6595 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -1590,6 +1590,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_9_blueprint_ta152": "Series 9 Blueprints+Ta152", + "series_9_blueprint_only": "Series 9 Blueprints Only", + "series_9_ta152_only": "Series 9 Ta152 Only", "series_8_blueprint_305": "Series 8 Blueprints+305", "series_8_blueprint_only": "Series 8 Blueprints Only", "series_8_305_only": "Series 8 305 Only", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 56ef011d6..88db48d9b 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -1590,6 +1590,9 @@ "name": "Research.PresetFilter.name", "help": "Research.PresetFilter.help", "custom": "custom", + "series_9_blueprint_ta152": "Series 9 Blueprints+Ta152", + "series_9_blueprint_only": "Series 9 Blueprints Only", + "series_9_ta152_only": "Series 9 Ta152 Only", "series_8_blueprint_305": "Series 8 Blueprints+305", "series_8_blueprint_only": "Series 8 Blueprints Only", "series_8_305_only": "Series 8 305 Only", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 34112ba25..923c65eb3 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -1590,6 +1590,9 @@ "name": "科研过滤器", "help": "科研掉落和项目刷新见 https://azur-stats.lyoko.io/,对这些没有基本了解的人不建议编写自定义过滤器,建议使用预优化科研过滤器", "custom": "自定义", + "series_9_blueprint_ta152": "九期 蓝图+Ta152", + "series_9_blueprint_only": "九期 仅蓝图", + "series_9_ta152_only": "九期 仅Ta152", "series_8_blueprint_305": "八期 蓝图+305", "series_8_blueprint_only": "八期 仅蓝图", "series_8_305_only": "八期 仅305", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index a98b2fe59..f23f635c0 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -1590,6 +1590,9 @@ "name": "科研過濾器", "help": "科研掉落和項目刷新見 https://azur-stats.lyoko.io/,對這些沒有基本了解的人不建議編寫自定義過濾器,建議使用預優化科研過濾器", "custom": "自定義", + "series_9_blueprint_ta152": "九期 藍圖+Ta152", + "series_9_blueprint_only": "九期 僅藍圖", + "series_9_ta152_only": "九期 僅Ta152", "series_8_blueprint_305": "八期 藍圖+305", "series_8_blueprint_only": "八期 僅藍圖", "series_8_305_only": "八期 僅305", diff --git a/module/research/assets.py b/module/research/assets.py index c828bae42..e07460263 100644 --- a/module/research/assets.py +++ b/module/research/assets.py @@ -70,4 +70,5 @@ TEMPLATE_S5 = Template(file={'cn': './assets/cn/research/TEMPLATE_S5.png', 'en': TEMPLATE_S6 = Template(file={'cn': './assets/cn/research/TEMPLATE_S6.png', 'en': './assets/en/research/TEMPLATE_S6.png', 'jp': './assets/jp/research/TEMPLATE_S6.png', 'tw': './assets/tw/research/TEMPLATE_S6.png'}) TEMPLATE_S7 = Template(file={'cn': './assets/cn/research/TEMPLATE_S7.png', 'en': './assets/en/research/TEMPLATE_S7.png', 'jp': './assets/jp/research/TEMPLATE_S7.png', 'tw': './assets/tw/research/TEMPLATE_S7.png'}) TEMPLATE_S8 = Template(file={'cn': './assets/cn/research/TEMPLATE_S8.png', 'en': './assets/cn/research/TEMPLATE_S8.png', 'jp': './assets/cn/research/TEMPLATE_S8.png', 'tw': './assets/cn/research/TEMPLATE_S8.png'}) +TEMPLATE_S9 = Template(file={'cn': './assets/cn/research/TEMPLATE_S9.png', 'en': './assets/cn/research/TEMPLATE_S9.png', 'jp': './assets/cn/research/TEMPLATE_S9.png', 'tw': './assets/cn/research/TEMPLATE_S9.png'}) TEMPLATE_WAITING = Template(file={'cn': './assets/cn/research/TEMPLATE_WAITING.png', 'en': './assets/en/research/TEMPLATE_WAITING.png', 'jp': './assets/jp/research/TEMPLATE_WAITING.png', 'tw': './assets/tw/research/TEMPLATE_WAITING.png'}) diff --git a/module/research/preset.py b/module/research/preset.py index 9d607e1fa..794e32330 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_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-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 + > C6 > 6 > S9-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_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-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 + > S9-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_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 + > 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 + > 6 > S9-C8 > DR8 > PRY8 > C8 > 8 > S9-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_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-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 + > S9-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_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 + > 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 + > S9-C8 > S9-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_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 + > 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 + > S9-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 a7d61edcf..480d1969f 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_9' in name: + name = name.replace('tenrai', 'ta152') if 'series_8' in name: name = name.replace('tenrai', '305') if 'series_7' in name: @@ -104,7 +106,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 [8, 7, 6, 5, 4, 3, 2]: + for series in [9, 8, 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 bc6a93e00..c7b54dcb4 100644 --- a/module/research/project.py +++ b/module/research/project.py @@ -408,6 +408,7 @@ class ResearchProject: '|kearsarge|hindenburg|shimanto|schultz|flandre' '|napoli|nakhimov|halford|bayard|daisen' '|goudenleeuw|mecklenburg|dmitri|kansas|vittorio' + '|valparaiso|maximmelmann|duncan|takahashi|orage' ')') REGEX_INPUT = re.compile('(coin|cube|part)') REGEX_DR_SHIP = re.compile( @@ -418,6 +419,7 @@ class ResearchProject: '|kearsarge|hindenburg' '|napoli|nakhimov' '|goudenleeuw|mecklenburg' + '|valparaiso|maximmelmann' ) # Generate with: """ @@ -436,12 +438,13 @@ class ResearchProject: '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', '703', '758', '766', '790', '797', '303', '358', '366', '390', '397', '780', '736', '787', '711', '764', '380', - '336', '387', '311', '364', '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', '480', '436', - '487', '411', '464', '080', '036', '087', '011', '064'] + '336', '387', '311', '364', '737', '781', '732', '740', '747', '337', '381', '332', '340', '347', '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', '480', '436', '487', '411', '464', '080', '036', '087', + '011', '064', '437', '481', '432', '440', '447', '037', '081', '032', '040', '047'] def __init__(self, name, series): """ @@ -633,7 +636,8 @@ class ResearchProjectJp: SHIP_S6 = ['kearsarge', 'hindenburg', 'shimanto', 'schultz', 'flandre'] SHIP_S7 = ['napoli', 'nakhimov', 'halford', 'bayard', 'daisen'] SHIP_S8 = ['goudenleeuw', 'mecklenburg', 'dmitri', 'kansas', 'vittorio'] - SHIP_ALL = SHIP_S1 + SHIP_S2 + SHIP_S3 + SHIP_S4 + SHIP_S5 + SHIP_S6 + SHIP_S7 + SHIP_S8 + SHIP_S9 = ['valparaiso', 'maximmelmann', 'duncan', 'takahashi', 'orage'] + SHIP_ALL = SHIP_S1 + SHIP_S2 + SHIP_S3 + SHIP_S4 + SHIP_S5 + SHIP_S6 + SHIP_S7 + SHIP_S8 + SHIP_S9 DR_SHIP = [ 'azuma', 'friedrich', 'drake', @@ -642,6 +646,7 @@ class ResearchProjectJp: 'kearsarge', 'hindenburg', 'napoli', 'nakhimov', 'goudenleeuw', 'mecklenburg', + 'valparaiso', 'maximmelmann', ] def __init__(self): diff --git a/module/research/project_data.py b/module/research/project_data.py index 9d7579029..4b9368af7 100644 --- a/module/research/project_data.py +++ b/module/research/project_data.py @@ -372,6 +372,11 @@ LIST_RESEARCH_PROJECT = [ {'name': 'T-249-MI', 'series': 8, 'time': 21600, 'task': 'Complete 6 commissions.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, {'name': 'E-031-MI', 'series': 8, 'time': 7200, 'task': 'Scrap 8 pieces of gear.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, {'name': 'E-315-MI', 'series': 8, 'time': 7200, 'task': 'Scrap 15 pieces of gear.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'E-180-MI', 'series': 8, 'time': 21600, 'task': '', 'input': [{'name': 'T3 Iron Blood Tech Pack', 'amount': 15}], 'output': [{'name': '试作型四联装305mmSKC39主炮T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-136-MI', 'series': 8, 'time': 21600, 'task': '', 'input': [{'name': 'T3 Iron Blood Tech Pack', 'amount': 15}], 'output': [{'name': '试作型三联装283mm/54.5主炮T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-111-MI', 'series': 8, 'time': 21600, 'task': '', 'input': [{'name': 'T3 Eagle Tech Pack', 'amount': 15}], 'output': [{'name': '试作型三联装406mm/45主炮Mk7T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-164-MI', 'series': 8, 'time': 21600, 'task': '', 'input': [{'name': 'T3 Iron Blood Tech Pack', 'amount': 15}], 'output': [{'name': '试作型六联装Scotti20mm机炮Model1941T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-187-MI', 'series': 8, 'time': 21600, 'task': '', 'input': [{'name': 'T3 Eagle Tech Pack', 'amount': 15}], 'output': [{'name': '试作型B-1-P\xa0三联装180mm主炮Model1932改T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, {'name': 'G-412-MI', 'series': 8, 'time': 5400, 'task': '', 'input': [{'name': 'Coins', 'amount': 1500}], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, {'name': 'G-236-MI', 'series': 8, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, {'name': 'G-531-MI', 'series': 8, 'time': 14400, 'task': '', 'input': [{'name': 'Coins', 'amount': 6000}], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, @@ -402,6 +407,51 @@ LIST_RESEARCH_PROJECT = [ {'name': 'Q-089-MI', 'series': 8, 'time': 14400, 'task': '', 'input': [{'name': 'T3 Aircraft Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, {'name': 'H-387-MI', 'series': 8, 'time': 3600, 'task': '', 'input': [{'name': 'Wisdom Cube', 'amount': 3}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T1 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, {'name': 'H-339-MI', 'series': 8, 'time': 7200, 'task': '', 'input': [{'name': 'Wisdom Cube', 'amount': 6}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T2 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, + {'name': 'C-153-MI', 'series': 9, 'time': 21600, 'task': '', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'C-185-MI', 'series': 9, 'time': 28800, 'task': '', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'B-622-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 3 or onward stages for 6 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'B-636-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 4 or onward stages for 6 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'B-654-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 5 or onward stages for 6 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'B-682-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 6 or onward stages for 6 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'B-235-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 7 or onward stages for 5 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'B-268-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 8 or onward stages for 5 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'B-128-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 9 or onward stages for 4 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'B-164-MI', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 10 or onward stages for 4 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'T-018-MI', 'series': 9, 'time': 10800, 'task': 'Complete 2 commissions.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'T-384-MI', 'series': 9, 'time': 14400, 'task': 'Complete 4 commissions.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'T-249-MI', 'series': 9, 'time': 21600, 'task': 'Complete 6 commissions.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-031-MI', 'series': 9, 'time': 7200, 'task': 'Scrap 8 pieces of gear.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'E-315-MI', 'series': 9, 'time': 7200, 'task': 'Scrap 15 pieces of gear.', 'input': [], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'G-412-MI', 'series': 9, 'time': 5400, 'task': '', 'input': [{'name': 'Coins', 'amount': 1500}], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'G-236-MI', 'series': 9, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'G-531-MI', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'Coins', 'amount': 6000}], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-737-MI', 'series': 9, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Blueprint - Valparaíso'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'D-781-MI', 'series': 9, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Blueprint - Max Immelmann'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'D-732-MI', 'series': 9, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Blueprint - Duncan'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'D-740-MI', 'series': 9, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Blueprint - Takahashi'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'D-747-MI', 'series': 9, 'time': 9000, 'task': '', 'input': [{'name': 'Coins', 'amount': 3000}], 'output': [{'name': 'Blueprint - Orage'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}]}, + {'name': 'D-337-MI', 'series': 9, 'time': 18000, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}], 'output': [{'name': 'Blueprint - Valparaíso'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-381-MI', 'series': 9, 'time': 18000, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}], 'output': [{'name': 'Blueprint - Max Immelmann'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-332-MI', 'series': 9, 'time': 18000, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}], 'output': [{'name': 'Blueprint - Duncan'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-340-MI', 'series': 9, 'time': 18000, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}], 'output': [{'name': 'Blueprint - Takahashi'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-347-MI', 'series': 9, 'time': 18000, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}], 'output': [{'name': 'Blueprint - Orage'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'Q-302-MI', 'series': 9, 'time': 3600, 'task': '', 'input': [{'name': 'T1 General Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-310-MI', 'series': 9, 'time': 3600, 'task': '', 'input': [{'name': 'T1 Main Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-351-MI', 'series': 9, 'time': 3600, 'task': '', 'input': [{'name': 'T1 Torpedo Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-368-MI', 'series': 9, 'time': 3600, 'task': '', 'input': [{'name': 'T1 Anti-Air Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-389-MI', 'series': 9, 'time': 3600, 'task': '', 'input': [{'name': 'T1 Aircraft Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-202-MI', 'series': 9, 'time': 7200, 'task': '', 'input': [{'name': 'T2 General Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-210-MI', 'series': 9, 'time': 7200, 'task': '', 'input': [{'name': 'T2 Main Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-251-MI', 'series': 9, 'time': 7200, 'task': '', 'input': [{'name': 'T2 Torpedo Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-268-MI', 'series': 9, 'time': 7200, 'task': '', 'input': [{'name': 'T2 Anti-Air Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-289-MI', 'series': 9, 'time': 7200, 'task': '', 'input': [{'name': 'T2 Aircraft Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T2'}, {'name': 'Coins'}]}, + {'name': 'Q-002-MI', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'T3 General Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'Q-010-MI', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'T3 Main Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'Q-051-MI', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'T3 Torpedo Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'Q-068-MI', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'T3 Anti-Air Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'Q-089-MI', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'T3 Aircraft Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'H-387-MI', 'series': 9, 'time': 3600, 'task': '', 'input': [{'name': 'Wisdom Cube', 'amount': 3}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T1 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, + {'name': 'H-339-MI', 'series': 9, 'time': 7200, 'task': '', 'input': [{'name': 'Wisdom Cube', 'amount': 6}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T2 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, {'name': 'C-038-RF', 'series': 1, 'time': 43200, 'task': '', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, {'name': 'B-351-RF', 'series': 1, 'time': 14400, 'task': 'Clear Chapter 11 or onward stages for 3 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, {'name': 'B-397-RF', 'series': 1, 'time': 14400, 'task': 'Clear Chapter 12 or onward stages for 3 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, @@ -599,4 +649,29 @@ LIST_RESEARCH_PROJECT = [ {'name': 'Q-068-UL', 'series': 8, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 Anti-Air Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, {'name': 'Q-089-UL', 'series': 8, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 Aircraft Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, {'name': 'H-063-UL', 'series': 8, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}, {'name': 'Wisdom Cube', 'amount': 3}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T3 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, + {'name': 'E-880-MI', 'series': 8, 'time': 7200, 'task': '', 'input': [{'name': 'T3 Triple 283mm Main Gun (SK C/34) Design', 'amount': 45}], 'output': [{'name': '试作型四联装305mmSKC39主炮T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-836-MI', 'series': 8, 'time': 7200, 'task': '', 'input': [{'name': 'T3 Triple 283mm Main Gun (SK C/28) Design', 'amount': 45}], 'output': [{'name': '试作型三联装283mm/54.5主炮T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-811-MI', 'series': 8, 'time': 7200, 'task': '', 'input': [{'name': 'T3 Triple 406mm MK6 Main Gun Design', 'amount': 45}], 'output': [{'name': '试作型三联装406mm/45主炮Mk7T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-864-MI', 'series': 8, 'time': 7200, 'task': '', 'input': [{'name': 'Twin 37mm AA Gun (M1932) T3 Design', 'amount': 45}], 'output': [{'name': '试作型六联装Scotti20mm机炮Model1941T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'E-887-MI', 'series': 8, 'time': 7200, 'task': '', 'input': [{'name': 'T3 Single 130mm Main Gun Design', 'amount': 45}], 'output': [{'name': '试作型B-1-P\xa0三联装180mm主炮Model1932改T0设计图'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'C-038-RF', 'series': 9, 'time': 43200, 'task': '', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}, {'name': 'Coins'}]}, + {'name': 'B-351-RF', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 11 or onward stages for 3 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'B-397-RF', 'series': 9, 'time': 14400, 'task': 'Clear Chapter 12 or onward stages for 3 times on Normal Mode ', 'input': [], 'output': [{'name': 'Random Blueprint'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-437-RF', 'series': 9, 'time': 28800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}], 'output': [{'name': 'Blueprint - Valparaíso'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-481-RF', 'series': 9, 'time': 28800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}], 'output': [{'name': 'Blueprint - Max Immelmann'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-432-RF', 'series': 9, 'time': 28800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}], 'output': [{'name': 'Blueprint - Duncan'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-440-RF', 'series': 9, 'time': 28800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}], 'output': [{'name': 'Blueprint - Takahashi'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-447-RF', 'series': 9, 'time': 28800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}], 'output': [{'name': 'Blueprint - Orage'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'H-207-RF', 'series': 9, 'time': 14400, 'task': '', 'input': [{'name': 'Wisdom Cube', 'amount': 10}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T3 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, + {'name': 'D-037-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'Wisdom Cube', 'amount': 5}], 'output': [{'name': 'Blueprint - Valparaíso'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-081-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'Wisdom Cube', 'amount': 5}], 'output': [{'name': 'Blueprint - Max Immelmann'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-032-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'Wisdom Cube', 'amount': 5}], 'output': [{'name': 'Blueprint - Duncan'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-040-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'Wisdom Cube', 'amount': 5}], 'output': [{'name': 'Blueprint - Takahashi'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'D-047-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'Wisdom Cube', 'amount': 5}], 'output': [{'name': 'Blueprint - Orage'}, {'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'Q-002-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 General Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'Q-010-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 Main Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'Q-051-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 Torpedo Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'Q-068-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 Anti-Air Gun Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'Q-089-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 5000}, {'name': 'T3 Aircraft Part', 'amount': 20}], 'output': [{'name': 'Random Gear Design'}, {'name': 'Random Gear Design T3'}]}, + {'name': 'H-063-UL', 'series': 9, 'time': 1800, 'task': '', 'input': [{'name': 'Coins', 'amount': 8000}, {'name': 'Wisdom Cube', 'amount': 3}], 'output': [{'name': 'Random Blueprint'}, {'name': 'T3 Mystery Retrofit Blueprint'}, {'name': 'Cognitive Chips'}]}, ] diff --git a/module/research/selector.py b/module/research/selector.py index 0e94dc36d..05146c330 100644 --- a/module/research/selector.py +++ b/module/research/selector.py @@ -12,7 +12,7 @@ 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[12345678])?' +FILTER_REGEX = re.compile('(s[123456789])?' '-?' '(neptune|monarch|ibuki|izumo|roon|saintlouis' '|seattle|georgia|kitakaze|azuma|friedrich' @@ -21,7 +21,8 @@ FILTER_REGEX = re.compile('(s[12345678])?' '|plymouth|rupprecht|harbin|chkalov|brest' '|kearsarge|hindenburg|shimanto|schultz|flandre' '|napoli|nakhimov|halford|bayard|daisen' - '|goudenleeuw|mecklenburg|dmitri|kansas|vittorio)?' + '|goudenleeuw|mecklenburg|dmitri|kansas|vittorio' + '|valparaiso|maximmelmann|duncan|takahashi|orage)?' '(dr|pry)?' '([bcdeghqt])?' '-?' diff --git a/module/research/series.py b/module/research/series.py index 479996d3d..89e534c45 100644 --- a/module/research/series.py +++ b/module/research/series.py @@ -14,6 +14,8 @@ RESEARCH_SCALING = [ def match_series(image, scaling): image = rgb2gray(image) + if TEMPLATE_S9.match(image, scaling=scaling): + return 9 if TEMPLATE_S8.match(image, scaling=scaling): return 8 if TEMPLATE_S7.match(image, scaling=scaling):