diff --git a/assets/cn/combat_ui/PAUSE_AzureCore.png b/assets/cn/combat_ui/PAUSE_AzureCore.png new file mode 100644 index 000000000..259c41c7b Binary files /dev/null and b/assets/cn/combat_ui/PAUSE_AzureCore.png differ diff --git a/assets/cn/commission/REWARD_1.png b/assets/cn/commission/REWARD_1.png index e29b96884..75e8a83b0 100644 Binary files a/assets/cn/commission/REWARD_1.png and b/assets/cn/commission/REWARD_1.png differ diff --git a/assets/cn/tactical/REWARD_2.BUTTON.png b/assets/cn/tactical/REWARD_2.BUTTON.png deleted file mode 100644 index b26f996be..000000000 Binary files a/assets/cn/tactical/REWARD_2.BUTTON.png and /dev/null differ diff --git a/assets/cn/tactical/REWARD_2.png b/assets/cn/tactical/REWARD_2.png index 7a5f937c6..9d76d2815 100644 Binary files a/assets/cn/tactical/REWARD_2.png and b/assets/cn/tactical/REWARD_2.png differ diff --git a/assets/cn/ui/REWARD_GOTO_COMMISSION.BUTTON.png b/assets/cn/ui/REWARD_GOTO_COMMISSION.BUTTON.png deleted file mode 100644 index 5dd5ab633..000000000 Binary files a/assets/cn/ui/REWARD_GOTO_COMMISSION.BUTTON.png and /dev/null differ diff --git a/assets/cn/ui/REWARD_GOTO_COMMISSION.png b/assets/cn/ui/REWARD_GOTO_COMMISSION.png index a4294c6e2..751b472c7 100644 Binary files a/assets/cn/ui/REWARD_GOTO_COMMISSION.png and b/assets/cn/ui/REWARD_GOTO_COMMISSION.png differ diff --git a/assets/cn/ui/REWARD_GOTO_TACTICAL.BUTTON.png b/assets/cn/ui/REWARD_GOTO_TACTICAL.BUTTON.png deleted file mode 100644 index e3297a994..000000000 Binary files a/assets/cn/ui/REWARD_GOTO_TACTICAL.BUTTON.png and /dev/null differ diff --git a/assets/cn/ui/REWARD_GOTO_TACTICAL.png b/assets/cn/ui/REWARD_GOTO_TACTICAL.png index 134865a84..9874348f0 100644 Binary files a/assets/cn/ui/REWARD_GOTO_TACTICAL.png and b/assets/cn/ui/REWARD_GOTO_TACTICAL.png differ diff --git a/assets/cn/ui_white/REWARD_1_WHITE.png b/assets/cn/ui_white/REWARD_1_WHITE.png index f98d68d47..062e764a7 100644 Binary files a/assets/cn/ui_white/REWARD_1_WHITE.png and b/assets/cn/ui_white/REWARD_1_WHITE.png differ diff --git a/assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png b/assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png index fd81af81d..27fed12c6 100644 Binary files a/assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png and b/assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png differ diff --git a/assets/en/combat/GET_ITEMS_1.png b/assets/en/combat/GET_ITEMS_1.png index 561441a09..aef97593f 100644 Binary files a/assets/en/combat/GET_ITEMS_1.png and b/assets/en/combat/GET_ITEMS_1.png differ diff --git a/assets/en/combat/GET_ITEMS_2.png b/assets/en/combat/GET_ITEMS_2.png index f47f38f25..27cb280ad 100644 Binary files a/assets/en/combat/GET_ITEMS_2.png and b/assets/en/combat/GET_ITEMS_2.png differ diff --git a/assets/jp/combat/GET_ITEMS_1.png b/assets/jp/combat/GET_ITEMS_1.png index 1c68ab63c..b321db895 100644 Binary files a/assets/jp/combat/GET_ITEMS_1.png and b/assets/jp/combat/GET_ITEMS_1.png differ diff --git a/assets/jp/combat/GET_ITEMS_2.png b/assets/jp/combat/GET_ITEMS_2.png index 91d02538b..d69a8e86f 100644 Binary files a/assets/jp/combat/GET_ITEMS_2.png and b/assets/jp/combat/GET_ITEMS_2.png differ diff --git a/assets/jp/combat/GET_ITEMS_3.png b/assets/jp/combat/GET_ITEMS_3.png index 8748a7e5b..d69a8e86f 100644 Binary files a/assets/jp/combat/GET_ITEMS_3.png and b/assets/jp/combat/GET_ITEMS_3.png differ diff --git a/module/combat/assets.py b/module/combat/assets.py index e1445f43c..740c71d07 100644 --- a/module/combat/assets.py +++ b/module/combat/assets.py @@ -29,10 +29,10 @@ EXP_INFO_B = Button(area={'cn': (332, 107, 387, 118), 'en': (332, 107, 387, 118) EXP_INFO_C = Button(area={'cn': (332, 56, 345, 107), 'en': (332, 56, 345, 107), 'jp': (332, 56, 345, 107), 'tw': (332, 56, 345, 107)}, color={'cn': (198, 208, 198), 'en': (198, 208, 198), 'jp': (198, 208, 198), 'tw': (198, 208, 198)}, button={'cn': (1133, 634, 1262, 650), 'en': (1133, 634, 1262, 650), 'jp': (1133, 634, 1262, 650), 'tw': (1133, 634, 1262, 650)}, file={'cn': './assets/cn/combat/EXP_INFO_C.png', 'en': './assets/en/combat/EXP_INFO_C.png', 'jp': './assets/jp/combat/EXP_INFO_C.png', 'tw': './assets/tw/combat/EXP_INFO_C.png'}) EXP_INFO_D = Button(area={'cn': (328, 45, 341, 119), 'en': (328, 45, 341, 119), 'jp': (328, 45, 341, 119), 'tw': (328, 45, 341, 119)}, color={'cn': (199, 208, 199), 'en': (199, 208, 199), 'jp': (199, 208, 199), 'tw': (199, 208, 199)}, button={'cn': (1133, 634, 1262, 650), 'en': (1133, 634, 1262, 650), 'jp': (1133, 634, 1262, 650), 'tw': (1133, 634, 1262, 650)}, file={'cn': './assets/cn/combat/EXP_INFO_D.png', 'en': './assets/en/combat/EXP_INFO_D.png', 'jp': './assets/jp/combat/EXP_INFO_D.png', 'tw': './assets/tw/combat/EXP_INFO_D.png'}) EXP_INFO_S = Button(area={'cn': (342, 107, 389, 119), 'en': (342, 107, 389, 119), 'jp': (342, 107, 389, 119), 'tw': (342, 107, 389, 119)}, color={'cn': (233, 242, 127), 'en': (233, 242, 127), 'jp': (233, 242, 127), 'tw': (233, 242, 127)}, button={'cn': (1133, 634, 1262, 650), 'en': (1133, 634, 1262, 650), 'jp': (1133, 634, 1262, 650), 'tw': (1133, 634, 1262, 650)}, file={'cn': './assets/cn/combat/EXP_INFO_S.png', 'en': './assets/en/combat/EXP_INFO_S.png', 'jp': './assets/jp/combat/EXP_INFO_S.png', 'tw': './assets/tw/combat/EXP_INFO_S.png'}) -GET_ITEMS_1 = Button(area={'cn': (538, 217, 741, 253), 'en': (550, 215, 739, 246), 'jp': (539, 220, 741, 252), 'tw': (539, 217, 742, 253)}, color={'cn': (160, 192, 248), 'en': (157, 187, 233), 'jp': (146, 184, 249), 'tw': (155, 190, 248)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_1.png', 'en': './assets/en/combat/GET_ITEMS_1.png', 'jp': './assets/jp/combat/GET_ITEMS_1.png', 'tw': './assets/tw/combat/GET_ITEMS_1.png'}) +GET_ITEMS_1 = Button(area={'cn': (538, 217, 741, 253), 'en': (551, 223, 736, 250), 'jp': (548, 217, 741, 253), 'tw': (539, 217, 742, 253)}, color={'cn': (160, 192, 248), 'en': (166, 194, 235), 'jp': (144, 183, 250), 'tw': (155, 190, 248)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_1.png', 'en': './assets/en/combat/GET_ITEMS_1.png', 'jp': './assets/jp/combat/GET_ITEMS_1.png', 'tw': './assets/tw/combat/GET_ITEMS_1.png'}) GET_ITEMS_1_RYZA = Button(area={'cn': (564, 217, 721, 245), 'en': (577, 211, 704, 239), 'jp': (566, 217, 719, 244), 'tw': (564, 218, 723, 246)}, color={'cn': (176, 199, 243), 'en': (172, 199, 246), 'jp': (179, 201, 243), 'tw': (173, 197, 242)}, button={'cn': (1000, 631, 1055, 689), 'en': (1000, 631, 1055, 689), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_1_RYZA.png', 'en': './assets/en/combat/GET_ITEMS_1_RYZA.png', 'jp': './assets/jp/combat/GET_ITEMS_1_RYZA.png', 'tw': './assets/tw/combat/GET_ITEMS_1_RYZA.png'}) -GET_ITEMS_2 = Button(area={'cn': (538, 146, 742, 182), 'en': (549, 140, 740, 176), 'jp': (536, 146, 741, 182), 'tw': (538, 148, 741, 182)}, color={'cn': (160, 192, 248), 'en': (152, 185, 236), 'jp': (145, 182, 249), 'tw': (155, 190, 248)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_2.png', 'en': './assets/en/combat/GET_ITEMS_2.png', 'jp': './assets/jp/combat/GET_ITEMS_2.png', 'tw': './assets/tw/combat/GET_ITEMS_2.png'}) -GET_ITEMS_3 = Button(area={'cn': (539, 143, 742, 179), 'en': (548, 136, 740, 172), 'jp': (540, 143, 742, 179), 'tw': (546, 145, 742, 178)}, color={'cn': (161, 193, 248), 'en': (152, 185, 237), 'jp': (145, 182, 248), 'tw': (156, 190, 248)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_3.png', 'en': './assets/en/combat/GET_ITEMS_3.png', 'jp': './assets/jp/combat/GET_ITEMS_3.png', 'tw': './assets/tw/combat/GET_ITEMS_3.png'}) +GET_ITEMS_2 = Button(area={'cn': (538, 146, 742, 182), 'en': (551, 149, 735, 175), 'jp': (547, 143, 742, 179), 'tw': (538, 148, 741, 182)}, color={'cn': (160, 192, 248), 'en': (167, 195, 235), 'jp': (145, 183, 250), 'tw': (155, 190, 248)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_2.png', 'en': './assets/en/combat/GET_ITEMS_2.png', 'jp': './assets/jp/combat/GET_ITEMS_2.png', 'tw': './assets/tw/combat/GET_ITEMS_2.png'}) +GET_ITEMS_3 = Button(area={'cn': (539, 143, 742, 179), 'en': (548, 136, 740, 172), 'jp': (547, 143, 742, 179), 'tw': (546, 145, 742, 178)}, color={'cn': (161, 193, 248), 'en': (152, 185, 237), 'jp': (145, 183, 250), 'tw': (156, 190, 248)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_ITEMS_3.png', 'en': './assets/en/combat/GET_ITEMS_3.png', 'jp': './assets/jp/combat/GET_ITEMS_3.png', 'tw': './assets/tw/combat/GET_ITEMS_3.png'}) GET_ITEMS_3_CHECK = Button(area={'cn': (335, 184, 947, 203), 'en': (335, 184, 947, 203), 'jp': (335, 184, 947, 203), 'tw': (335, 184, 947, 203)}, color={'cn': (84, 95, 109), 'en': (84, 95, 109), 'jp': (84, 95, 109), 'tw': (84, 95, 109)}, button={'cn': (335, 184, 947, 203), 'en': (335, 184, 947, 203), 'jp': (335, 184, 947, 203), 'tw': (335, 184, 947, 203)}, file={'cn': './assets/cn/combat/GET_ITEMS_3_CHECK.png', 'en': './assets/en/combat/GET_ITEMS_3_CHECK.png', 'jp': './assets/jp/combat/GET_ITEMS_3_CHECK.png', 'tw': './assets/tw/combat/GET_ITEMS_3_CHECK.png'}) GET_SHIP = Button(area={'cn': (1104, 610, 1110, 630), 'en': (1104, 610, 1110, 630), 'jp': (1104, 610, 1110, 630), 'tw': (1104, 610, 1110, 630)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (1000, 631, 1055, 689), 'en': (999, 630, 1047, 691), 'jp': (1000, 631, 1055, 689), 'tw': (1000, 631, 1055, 689)}, file={'cn': './assets/cn/combat/GET_SHIP.png', 'en': './assets/en/combat/GET_SHIP.png', 'jp': './assets/jp/combat/GET_SHIP.png', 'tw': './assets/tw/combat/GET_SHIP.png'}) LOADING_BAR = Button(area={'cn': (33, 676, 1247, 680), 'en': (33, 676, 1247, 680), 'jp': (33, 676, 1247, 680), 'tw': (33, 676, 1247, 680)}, color={'cn': (172, 205, 232), 'en': (172, 205, 232), 'jp': (172, 205, 232), 'tw': (172, 205, 232)}, button={'cn': (33, 676, 1247, 680), 'en': (33, 676, 1247, 680), 'jp': (33, 676, 1247, 680), 'tw': (33, 676, 1247, 680)}, file={'cn': './assets/cn/combat/LOADING_BAR.png', 'en': './assets/en/combat/LOADING_BAR.png', 'jp': './assets/jp/combat/LOADING_BAR.png', 'tw': './assets/tw/combat/LOADING_BAR.png'}) diff --git a/module/combat/combat.py b/module/combat/combat.py index 398f4a8e5..72e69d960 100644 --- a/module/combat/combat.py +++ b/module/combat/combat.py @@ -132,6 +132,8 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan return PAUSE_ElvenVine if PAUSE_GildedReverie.match_template_color(self.device.image, offset=(10, 10)): return PAUSE_GildedReverie + if PAUSE_AzureCore.match_template_color(self.device.image, offset=(10, 10)): + return PAUSE_AzureCore return False def handle_combat_quit(self, offset=(20, 20), interval=3): diff --git a/module/combat_ui/assets.py b/module/combat_ui/assets.py index 1ad0c04f1..919e57dfb 100644 --- a/module/combat_ui/assets.py +++ b/module/combat_ui/assets.py @@ -6,6 +6,7 @@ from module.base.template import Template PAUSE = Button(area={'cn': (1158, 40, 1199, 58), 'en': (1155, 38, 1216, 51), 'jp': (1232, 36, 1240, 60), 'tw': (1217, 36, 1225, 59)}, color={'cn': (189, 190, 202), 'en': (164, 169, 181), 'jp': (244, 241, 246), 'tw': (247, 243, 247)}, button={'cn': (1157, 34, 1241, 61), 'en': (1136, 26, 1270, 63), 'jp': (1141, 38, 1220, 57), 'tw': (1157, 34, 1241, 61)}, file={'cn': './assets/cn/combat_ui/PAUSE.png', 'en': './assets/en/combat_ui/PAUSE.png', 'jp': './assets/jp/combat_ui/PAUSE.png', 'tw': './assets/tw/combat_ui/PAUSE.png'}) PAUSE_Ancient = Button(area={'cn': (1228, 36, 1245, 55), 'en': (1228, 36, 1245, 55), 'jp': (1228, 36, 1245, 55), 'tw': (1228, 36, 1245, 55)}, color={'cn': (172, 161, 144), 'en': (172, 161, 144), 'jp': (172, 161, 144), 'tw': (172, 161, 144)}, button={'cn': (1228, 36, 1245, 55), 'en': (1228, 36, 1245, 55), 'jp': (1228, 36, 1245, 55), 'tw': (1228, 36, 1245, 55)}, file={'cn': './assets/cn/combat_ui/PAUSE_Ancient.png', 'en': './assets/cn/combat_ui/PAUSE_Ancient.png', 'jp': './assets/cn/combat_ui/PAUSE_Ancient.png', 'tw': './assets/cn/combat_ui/PAUSE_Ancient.png'}) +PAUSE_AzureCore = Button(area={'cn': (1220, 36, 1237, 55), 'en': (1220, 36, 1237, 55), 'jp': (1220, 36, 1237, 55), 'tw': (1220, 36, 1237, 55)}, color={'cn': (149, 133, 118), 'en': (149, 133, 118), 'jp': (149, 133, 118), 'tw': (149, 133, 118)}, button={'cn': (1220, 36, 1237, 55), 'en': (1220, 36, 1237, 55), 'jp': (1220, 36, 1237, 55), 'tw': (1220, 36, 1237, 55)}, file={'cn': './assets/cn/combat_ui/PAUSE_AzureCore.png', 'en': './assets/cn/combat_ui/PAUSE_AzureCore.png', 'jp': './assets/cn/combat_ui/PAUSE_AzureCore.png', 'tw': './assets/cn/combat_ui/PAUSE_AzureCore.png'}) PAUSE_Christmas = Button(area={'cn': (1234, 35, 1250, 56), 'en': (1234, 35, 1250, 56), 'jp': (1234, 35, 1250, 56), 'tw': (1234, 35, 1250, 56)}, color={'cn': (158, 181, 210), 'en': (158, 181, 210), 'jp': (158, 181, 210), 'tw': (158, 181, 210)}, button={'cn': (1234, 35, 1250, 56), 'en': (1234, 35, 1250, 56), 'jp': (1234, 35, 1250, 56), 'tw': (1234, 35, 1250, 56)}, file={'cn': './assets/cn/combat_ui/PAUSE_Christmas.png', 'en': './assets/cn/combat_ui/PAUSE_Christmas.png', 'jp': './assets/cn/combat_ui/PAUSE_Christmas.png', 'tw': './assets/cn/combat_ui/PAUSE_Christmas.png'}) PAUSE_Cyber = Button(area={'cn': (1231, 32, 1253, 59), 'en': (1231, 32, 1253, 59), 'jp': (1231, 32, 1253, 59), 'tw': (1231, 32, 1253, 59)}, color={'cn': (40, 140, 157), 'en': (40, 140, 157), 'jp': (40, 140, 157), 'tw': (40, 140, 157)}, button={'cn': (1231, 32, 1253, 59), 'en': (1231, 32, 1253, 59), 'jp': (1231, 32, 1253, 59), 'tw': (1231, 32, 1253, 59)}, file={'cn': './assets/cn/combat_ui/PAUSE_Cyber.png', 'en': './assets/cn/combat_ui/PAUSE_Cyber.png', 'jp': './assets/cn/combat_ui/PAUSE_Cyber.png', 'tw': './assets/cn/combat_ui/PAUSE_Cyber.png'}) PAUSE_DOUBLE_CHECK = Button(area={'cn': (1226, 35, 1231, 60), 'en': (1226, 35, 1231, 61), 'jp': (1226, 35, 1230, 60), 'tw': (1226, 35, 1231, 60)}, color={'cn': (96, 104, 136), 'en': (83, 98, 118), 'jp': (97, 102, 120), 'tw': (96, 104, 136)}, button={'cn': (1226, 35, 1231, 60), 'en': (1226, 35, 1231, 61), 'jp': (1226, 35, 1230, 60), 'tw': (1226, 35, 1231, 60)}, file={'cn': './assets/cn/combat_ui/PAUSE_DOUBLE_CHECK.png', 'en': './assets/en/combat_ui/PAUSE_DOUBLE_CHECK.png', 'jp': './assets/jp/combat_ui/PAUSE_DOUBLE_CHECK.png', 'tw': './assets/tw/combat_ui/PAUSE_DOUBLE_CHECK.png'}) diff --git a/module/commission/assets.py b/module/commission/assets.py index 32f9d3ba4..eab26216d 100644 --- a/module/commission/assets.py +++ b/module/commission/assets.py @@ -12,5 +12,5 @@ COMMISSION_START = Button(area={'cn': (1028, 322, 1156, 383), 'en': (1053, 333, COMMISSION_URGENT = Button(area={'cn': (35, 231, 68, 281), 'en': (28, 221, 76, 283), 'jp': (34, 266, 68, 279), 'tw': (35, 229, 69, 280)}, color={'cn': (215, 188, 124), 'en': (169, 138, 95), 'jp': (216, 190, 111), 'tw': (213, 186, 123)}, button={'cn': (35, 231, 68, 281), 'en': (28, 221, 76, 283), 'jp': (34, 266, 68, 279), 'tw': (35, 229, 69, 280)}, file={'cn': './assets/cn/commission/COMMISSION_URGENT.png', 'en': './assets/en/commission/COMMISSION_URGENT.png', 'jp': './assets/jp/commission/COMMISSION_URGENT.png', 'tw': './assets/tw/commission/COMMISSION_URGENT.png'}) EXP_INFO_S_REWARD = Button(area={'cn': (498, 140, 557, 154), 'en': (1138, 40, 1266, 145), 'jp': (498, 140, 557, 154), 'tw': (498, 140, 557, 154)}, color={'cn': (233, 241, 127), 'en': (89, 115, 159), 'jp': (233, 241, 127), 'tw': (233, 241, 127)}, button={'cn': (498, 140, 557, 154), 'en': (1138, 40, 1266, 145), 'jp': (498, 140, 557, 154), 'tw': (498, 140, 557, 154)}, file={'cn': './assets/cn/commission/EXP_INFO_S_REWARD.png', 'en': './assets/en/commission/EXP_INFO_S_REWARD.png', 'jp': './assets/jp/commission/EXP_INFO_S_REWARD.png', 'tw': './assets/tw/commission/EXP_INFO_S_REWARD.png'}) OIL_MAXED = Button(area={'cn': (428, 310, 534, 335), 'en': (428, 310, 534, 335), 'jp': (428, 310, 534, 335), 'tw': (428, 310, 534, 335)}, color={'cn': (106, 103, 110), 'en': (106, 103, 110), 'jp': (106, 103, 110), 'tw': (106, 103, 110)}, button={'cn': (428, 310, 534, 335), 'en': (428, 310, 534, 335), 'jp': (428, 310, 534, 335), 'tw': (428, 310, 534, 335)}, file={'cn': './assets/cn/commission/OIL_MAXED.png', 'en': './assets/cn/commission/OIL_MAXED.png', 'jp': './assets/cn/commission/OIL_MAXED.png', 'tw': './assets/cn/commission/OIL_MAXED.png'}) -REWARD_1 = Button(area={'cn': (383, 285, 503, 297), 'en': (403, 274, 504, 290), 'jp': (432, 273, 476, 294), 'tw': (383, 285, 503, 297)}, color={'cn': (238, 168, 81), 'en': (241, 198, 145), 'jp': (241, 188, 122), 'tw': (238, 168, 81)}, button={'cn': (383, 285, 503, 297), 'en': (392, 262, 515, 303), 'jp': (403, 271, 514, 303), 'tw': (383, 285, 503, 297)}, file={'cn': './assets/cn/commission/REWARD_1.png', 'en': './assets/en/commission/REWARD_1.png', 'jp': './assets/jp/commission/REWARD_1.png', 'tw': './assets/tw/commission/REWARD_1.png'}) +REWARD_1 = Button(area={'cn': (420, 277, 518, 295), 'en': (403, 274, 504, 290), 'jp': (432, 273, 476, 294), 'tw': (383, 285, 503, 297)}, color={'cn': (254, 186, 80), 'en': (241, 198, 145), 'jp': (241, 188, 122), 'tw': (238, 168, 81)}, button={'cn': (420, 277, 518, 295), 'en': (392, 262, 515, 303), 'jp': (403, 271, 514, 303), 'tw': (383, 285, 503, 297)}, file={'cn': './assets/cn/commission/REWARD_1.png', 'en': './assets/en/commission/REWARD_1.png', 'jp': './assets/jp/commission/REWARD_1.png', 'tw': './assets/tw/commission/REWARD_1.png'}) REWARD_SAVE_CLICK = Button(area={'cn': (415, 184, 496, 214), 'en': (415, 184, 496, 214), 'jp': (415, 184, 496, 214), 'tw': (415, 184, 496, 214)}, color={'cn': (152, 150, 168), 'en': (152, 150, 168), 'jp': (152, 150, 168), 'tw': (152, 150, 168)}, button={'cn': (415, 184, 496, 214), 'en': (415, 184, 496, 214), 'jp': (415, 184, 496, 214), 'tw': (415, 184, 496, 214)}, file={'cn': './assets/cn/commission/REWARD_SAVE_CLICK.png', 'en': './assets/en/commission/REWARD_SAVE_CLICK.png', 'jp': './assets/jp/commission/REWARD_SAVE_CLICK.png', 'tw': './assets/tw/commission/REWARD_SAVE_CLICK.png'}) diff --git a/module/device/platform/platform_windows.py b/module/device/platform/platform_windows.py index c7fbeb497..2a520e8a6 100644 --- a/module/device/platform/platform_windows.py +++ b/module/device/platform/platform_windows.py @@ -92,11 +92,14 @@ class PlatformWindows(PlatformBase, EmulatorManager): # NemuPlayer.exe -m nemu-12.0-x64-default self.execute(f'"{exe}" -m {instance.name}') elif instance == Emulator.MuMuPlayer12: - # MuMuPlayer.exe -v 0 - # MuMuNxMain.exe -v 0 + # MuMuManager.exe api -v 0 launch_player + # Launch via MuMuManager instead of MuMuPlayer.exe/MuMuNxMain.exe. + # MuMuNxMain.exe is a GUI singleton, if two instances get launched at the same time, + # the second launch request is handed over to a MuMuNxMain.exe that is still initializing + # and gets silently dropped, while MuMuManager queues requests in backend service. if instance.MuMuPlayer12_id is None: logger.warning(f'Cannot get MuMu instance index from name {instance.name}') - self.execute(f'"{exe}" -v {instance.MuMuPlayer12_id}') + self.execute(f'"{Emulator.single_to_console(exe)}" api -v {instance.MuMuPlayer12_id} launch_player') elif instance == Emulator.LDPlayerFamily: # ldconsole.exe launch --index 0 self.execute(f'"{Emulator.single_to_console(exe)}" launch --index {instance.LDPlayer_id}') @@ -314,9 +317,12 @@ class PlatformWindows(PlatformBase, EmulatorManager): return False # Start if self._emulator_function_wrapper(self._emulator_start): - # Success - self.emulator_start_watch() - return True + if self.emulator_start_watch(): + # Success + return True + else: + # Start command was sent but emulator didn't come online, stop and start again + continue else: # Failed to start, stop and start again if self._emulator_function_wrapper(self._emulator_stop): diff --git a/module/exercise/hp_daemon.py b/module/exercise/hp_daemon.py index deca5a098..a4c30f019 100644 --- a/module/exercise/hp_daemon.py +++ b/module/exercise/hp_daemon.py @@ -80,6 +80,7 @@ class HpDaemon(ModuleBase): PAUSE_SpringInn, PAUSE_ElvenVine, PAUSE_GildedReverie, + PAUSE_AzureCore, ]: self.attacker_hp = self._calculate_hp(image, area=ATTACKER_HP_AREA_New.area, reverse=True) self.defender_hp = self._calculate_hp(image, area=DEFENDER_HP_AREA_New.area, reverse=True) diff --git a/module/os/map.py b/module/os/map.py index c076d2f2f..013beaf91 100644 --- a/module/os/map.py +++ b/module/os/map.py @@ -838,6 +838,7 @@ class OSMap(OSFleet, Map, GlobeCamera, StorageHandler, StrategicSearchHandler): combat = self.os_auto_search_daemon(drop=drop, strategic=strategic, interrupt=interrupt) finished_combat += combat except CampaignEnd: + finished_combat += self._auto_search_battle_count logger.info('OS auto search finished') finally: backup.recover() diff --git a/module/reward/reward.py b/module/reward/reward.py index b713691f8..50a71717b 100644 --- a/module/reward/reward.py +++ b/module/reward/reward.py @@ -89,7 +89,7 @@ class Reward(UI): click_interval.reset() clicked = True continue - if self.appear(MISSION_UNFINISH, offset=(20, 20)): + if self.appear(MISSION_UNFINISH, offset=(50, 200)): return clicked def _reward_mission_claim_receive(self): diff --git a/module/tactical/assets.py b/module/tactical/assets.py index cb8c451e7..ea367189e 100644 --- a/module/tactical/assets.py +++ b/module/tactical/assets.py @@ -8,7 +8,7 @@ ADD_NEW_STUDENT = Button(area={'cn': (417, 375, 438, 398), 'en': (417, 375, 438, BOOK_EMPTY_POPUP = Button(area={'cn': (880, 180, 908, 209), 'en': (880, 180, 908, 209), 'jp': (880, 180, 908, 209), 'tw': (880, 180, 908, 209)}, color={'cn': (211, 109, 105), 'en': (211, 109, 105), 'jp': (211, 109, 105), 'tw': (211, 109, 105)}, button={'cn': (880, 180, 908, 209), 'en': (880, 180, 908, 209), 'jp': (880, 180, 908, 209), 'tw': (880, 180, 908, 209)}, file={'cn': './assets/cn/tactical/BOOK_EMPTY_POPUP.png', 'en': './assets/en/tactical/BOOK_EMPTY_POPUP.png', 'jp': './assets/jp/tactical/BOOK_EMPTY_POPUP.png', 'tw': './assets/tw/tactical/BOOK_EMPTY_POPUP.png'}) OCR_SKILL_EXP = Button(area={'cn': (771, 191, 951, 209), 'en': (771, 191, 951, 209), 'jp': (728, 189, 950, 211), 'tw': (771, 191, 951, 209)}, color={'cn': (72, 82, 83), 'en': (72, 82, 83), 'jp': (69, 78, 82), 'tw': (72, 82, 83)}, button={'cn': (771, 191, 951, 209), 'en': (771, 191, 951, 209), 'jp': (728, 189, 950, 211), 'tw': (771, 191, 951, 209)}, file={'cn': './assets/cn/tactical/OCR_SKILL_EXP.png', 'en': './assets/en/tactical/OCR_SKILL_EXP.png', 'jp': './assets/jp/tactical/OCR_SKILL_EXP.png', 'tw': './assets/tw/tactical/OCR_SKILL_EXP.png'}) RAPID_TRAINING = Button(area={'cn': (518, 566, 583, 582), 'en': (518, 568, 585, 580), 'jp': (518, 566, 584, 583), 'tw': (518, 566, 583, 582)}, color={'cn': (233, 212, 171), 'en': (229, 205, 156), 'jp': (232, 209, 165), 'tw': (233, 212, 171)}, button={'cn': (518, 566, 583, 582), 'en': (518, 568, 585, 580), 'jp': (518, 566, 584, 583), 'tw': (518, 566, 583, 582)}, file={'cn': './assets/cn/tactical/RAPID_TRAINING.png', 'en': './assets/en/tactical/RAPID_TRAINING.png', 'jp': './assets/jp/tactical/RAPID_TRAINING.png', 'tw': './assets/cn/tactical/RAPID_TRAINING.png'}) -REWARD_2 = Button(area={'cn': (418, 413, 468, 434), 'en': (403, 416, 504, 432), 'jp': (432, 415, 476, 436), 'tw': (418, 413, 468, 434)}, color={'cn': (240, 191, 120), 'en': (240, 201, 145), 'jp': (240, 191, 121), 'tw': (240, 191, 120)}, button={'cn': (383, 404, 503, 444), 'en': (392, 404, 515, 445), 'jp': (403, 415, 520, 450), 'tw': (383, 404, 503, 444)}, file={'cn': './assets/cn/tactical/REWARD_2.png', 'en': './assets/en/tactical/REWARD_2.png', 'jp': './assets/jp/tactical/REWARD_2.png', 'tw': './assets/tw/tactical/REWARD_2.png'}) +REWARD_2 = Button(area={'cn': (438, 420, 497, 447), 'en': (403, 416, 504, 432), 'jp': (432, 415, 476, 436), 'tw': (418, 413, 468, 434)}, color={'cn': (254, 195, 103), 'en': (240, 201, 145), 'jp': (240, 191, 121), 'tw': (240, 191, 120)}, button={'cn': (438, 420, 497, 447), 'en': (392, 404, 515, 445), 'jp': (403, 415, 520, 450), 'tw': (383, 404, 503, 444)}, file={'cn': './assets/cn/tactical/REWARD_2.png', 'en': './assets/en/tactical/REWARD_2.png', 'jp': './assets/jp/tactical/REWARD_2.png', 'tw': './assets/tw/tactical/REWARD_2.png'}) SKILL_CONFIRM = Button(area={'cn': (575, 563, 705, 594), 'en': (600, 558, 681, 581), 'jp': (576, 563, 705, 594), 'tw': (577, 563, 704, 593)}, color={'cn': (147, 177, 216), 'en': (167, 191, 223), 'jp': (136, 170, 213), 'tw': (161, 187, 220)}, button={'cn': (575, 563, 705, 594), 'en': (600, 558, 681, 581), 'jp': (576, 563, 705, 594), 'tw': (577, 563, 704, 593)}, file={'cn': './assets/cn/tactical/SKILL_CONFIRM.png', 'en': './assets/en/tactical/SKILL_CONFIRM.png', 'jp': './assets/jp/tactical/SKILL_CONFIRM.png', 'tw': './assets/tw/tactical/SKILL_CONFIRM.png'}) TACTICAL_CLASS_CANCEL = Button(area={'cn': (818, 591, 990, 647), 'en': (836, 591, 973, 639), 'jp': (840, 606, 969, 637), 'tw': (819, 590, 989, 647)}, color={'cn': (153, 154, 154), 'en': (163, 164, 164), 'jp': (175, 176, 176), 'tw': (152, 153, 154)}, button={'cn': (818, 591, 990, 647), 'en': (836, 591, 973, 639), 'jp': (840, 606, 969, 637), 'tw': (819, 590, 989, 647)}, file={'cn': './assets/cn/tactical/TACTICAL_CLASS_CANCEL.png', 'en': './assets/en/tactical/TACTICAL_CLASS_CANCEL.png', 'jp': './assets/jp/tactical/TACTICAL_CLASS_CANCEL.png', 'tw': './assets/tw/tactical/TACTICAL_CLASS_CANCEL.png'}) TACTICAL_CLASS_START = Button(area={'cn': (1024, 590, 1197, 648), 'en': (1045, 592, 1176, 640), 'jp': (1046, 606, 1176, 637), 'tw': (1026, 590, 1196, 647)}, color={'cn': (96, 139, 194), 'en': (95, 137, 190), 'jp': (132, 165, 208), 'tw': (101, 143, 196)}, button={'cn': (1024, 590, 1197, 648), 'en': (1045, 592, 1176, 640), 'jp': (1046, 606, 1176, 637), 'tw': (1026, 590, 1196, 647)}, file={'cn': './assets/cn/tactical/TACTICAL_CLASS_START.png', 'en': './assets/en/tactical/TACTICAL_CLASS_START.png', 'jp': './assets/jp/tactical/TACTICAL_CLASS_START.png', 'tw': './assets/tw/tactical/TACTICAL_CLASS_START.png'}) diff --git a/module/ui/assets.py b/module/ui/assets.py index 2b724268b..3e1d9a6d7 100644 --- a/module/ui/assets.py +++ b/module/ui/assets.py @@ -85,9 +85,9 @@ RESHMENU_GOTO_RESEARCH = Button(area={'cn': (308, 268, 466, 422), 'en': (308, 26 RESHMENU_GOTO_SHIPYARD = Button(area={'cn': (567, 275, 731, 397), 'en': (567, 275, 731, 397), 'jp': (567, 275, 731, 397), 'tw': (567, 275, 731, 397)}, color={'cn': (113, 126, 162), 'en': (113, 126, 162), 'jp': (113, 126, 162), 'tw': (113, 126, 162)}, button={'cn': (567, 275, 731, 397), 'en': (567, 275, 731, 397), 'jp': (567, 275, 731, 397), 'tw': (567, 275, 731, 397)}, file={'cn': './assets/cn/ui/RESHMENU_GOTO_SHIPYARD.png', 'en': './assets/en/ui/RESHMENU_GOTO_SHIPYARD.png', 'jp': './assets/jp/ui/RESHMENU_GOTO_SHIPYARD.png', 'tw': './assets/tw/ui/RESHMENU_GOTO_SHIPYARD.png'}) REWARD_CHECK = Button(area={'cn': (219, 107, 267, 158), 'en': (219, 107, 267, 158), 'jp': (219, 107, 267, 158), 'tw': (219, 107, 267, 158)}, color={'cn': (143, 116, 123), 'en': (143, 116, 123), 'jp': (143, 116, 123), 'tw': (143, 116, 123)}, button={'cn': (219, 107, 267, 158), 'en': (219, 107, 267, 158), 'jp': (219, 107, 267, 158), 'tw': (219, 107, 267, 158)}, file={'cn': './assets/cn/ui/REWARD_CHECK.png', 'en': './assets/en/ui/REWARD_CHECK.png', 'jp': './assets/jp/ui/REWARD_CHECK.png', 'tw': './assets/tw/ui/REWARD_CHECK.png'}) REWARD_GOTO_BATTLE_PASS = Button(area={'cn': (580, 117, 620, 155), 'en': (580, 117, 620, 155), 'jp': (580, 117, 620, 155), 'tw': (603, 105, 640, 141)}, color={'cn': (92, 113, 139), 'en': (92, 113, 139), 'jp': (92, 113, 139), 'tw': (81, 107, 145)}, button={'cn': (580, 117, 620, 155), 'en': (580, 117, 620, 155), 'jp': (580, 117, 620, 155), 'tw': (603, 105, 640, 141)}, file={'cn': './assets/cn/ui/REWARD_GOTO_BATTLE_PASS.png', 'en': './assets/en/ui/REWARD_GOTO_BATTLE_PASS.png', 'jp': './assets/jp/ui/REWARD_GOTO_BATTLE_PASS.png', 'tw': './assets/tw/ui/REWARD_GOTO_BATTLE_PASS.png'}) -REWARD_GOTO_COMMISSION = Button(area={'cn': (418, 271, 468, 293), 'en': (407, 274, 499, 291), 'jp': (431, 274, 476, 295), 'tw': (418, 271, 468, 293)}, color={'cn': (142, 172, 216), 'en': (158, 183, 220), 'jp': (153, 180, 219), 'tw': (142, 172, 216)}, button={'cn': (383, 262, 503, 302), 'en': (393, 262, 514, 303), 'jp': (393, 262, 514, 303), 'tw': (383, 262, 503, 302)}, file={'cn': './assets/cn/ui/REWARD_GOTO_COMMISSION.png', 'en': './assets/en/ui/REWARD_GOTO_COMMISSION.png', 'jp': './assets/jp/ui/REWARD_GOTO_COMMISSION.png', 'tw': './assets/tw/ui/REWARD_GOTO_COMMISSION.png'}) +REWARD_GOTO_COMMISSION = Button(area={'cn': (432, 279, 500, 296), 'en': (407, 274, 499, 291), 'jp': (431, 274, 476, 295), 'tw': (418, 271, 468, 293)}, color={'cn': (102, 205, 254), 'en': (158, 183, 220), 'jp': (153, 180, 219), 'tw': (142, 172, 216)}, button={'cn': (432, 279, 500, 296), 'en': (393, 262, 514, 303), 'jp': (393, 262, 514, 303), 'tw': (383, 262, 503, 302)}, file={'cn': './assets/cn/ui/REWARD_GOTO_COMMISSION.png', 'en': './assets/en/ui/REWARD_GOTO_COMMISSION.png', 'jp': './assets/jp/ui/REWARD_GOTO_COMMISSION.png', 'tw': './assets/tw/ui/REWARD_GOTO_COMMISSION.png'}) REWARD_GOTO_MAIN = Button(area={'cn': (219, 107, 267, 158), 'en': (219, 107, 267, 158), 'jp': (219, 107, 267, 158), 'tw': (219, 107, 267, 158)}, color={'cn': (143, 116, 123), 'en': (143, 116, 123), 'jp': (143, 116, 123), 'tw': (143, 116, 123)}, button={'cn': (787, 602, 867, 642), 'en': (787, 602, 867, 642), 'jp': (787, 602, 867, 642), 'tw': (787, 602, 867, 642)}, file={'cn': './assets/cn/ui/REWARD_GOTO_MAIN.png', 'en': './assets/en/ui/REWARD_GOTO_MAIN.png', 'jp': './assets/jp/ui/REWARD_GOTO_MAIN.png', 'tw': './assets/tw/ui/REWARD_GOTO_MAIN.png'}) -REWARD_GOTO_TACTICAL = Button(area={'cn': (418, 413, 468, 434), 'en': (407, 416, 499, 433), 'jp': (431, 416, 476, 437), 'tw': (418, 413, 468, 435)}, color={'cn': (143, 176, 216), 'en': (157, 185, 219), 'jp': (151, 182, 217), 'tw': (141, 175, 215)}, button={'cn': (383, 404, 503, 444), 'en': (393, 404, 514, 445), 'jp': (393, 404, 514, 445), 'tw': (383, 404, 503, 444)}, file={'cn': './assets/cn/ui/REWARD_GOTO_TACTICAL.png', 'en': './assets/en/ui/REWARD_GOTO_TACTICAL.png', 'jp': './assets/jp/ui/REWARD_GOTO_TACTICAL.png', 'tw': './assets/tw/ui/REWARD_GOTO_TACTICAL.png'}) +REWARD_GOTO_TACTICAL = Button(area={'cn': (435, 420, 498, 448), 'en': (407, 416, 499, 433), 'jp': (431, 416, 476, 437), 'tw': (418, 413, 468, 435)}, color={'cn': (101, 204, 254), 'en': (157, 185, 219), 'jp': (151, 182, 217), 'tw': (141, 175, 215)}, button={'cn': (435, 420, 498, 448), 'en': (393, 404, 514, 445), 'jp': (393, 404, 514, 445), 'tw': (383, 404, 503, 444)}, file={'cn': './assets/cn/ui/REWARD_GOTO_TACTICAL.png', 'en': './assets/en/ui/REWARD_GOTO_TACTICAL.png', 'jp': './assets/jp/ui/REWARD_GOTO_TACTICAL.png', 'tw': './assets/tw/ui/REWARD_GOTO_TACTICAL.png'}) SHIPYARD_CHECK = Button(area={'cn': (9, 131, 82, 148), 'en': (4, 126, 52, 141), 'jp': (8, 130, 82, 148), 'tw': (7, 130, 83, 150)}, color={'cn': (159, 180, 229), 'en': (133, 148, 171), 'jp': (152, 169, 202), 'tw': (142, 164, 219)}, button={'cn': (9, 131, 82, 148), 'en': (4, 126, 52, 141), 'jp': (8, 130, 82, 148), 'tw': (7, 130, 83, 150)}, file={'cn': './assets/cn/ui/SHIPYARD_CHECK.png', 'en': './assets/en/ui/SHIPYARD_CHECK.png', 'jp': './assets/jp/ui/SHIPYARD_CHECK.png', 'tw': './assets/tw/ui/SHIPYARD_CHECK.png'}) SHOP_BACK_ARROW = Button(area={'cn': (43, 35, 57, 56), 'en': (43, 35, 57, 56), 'jp': (43, 35, 57, 56), 'tw': (43, 35, 57, 56)}, color={'cn': (191, 191, 191), 'en': (191, 191, 191), 'jp': (191, 191, 191), 'tw': (191, 191, 191)}, button={'cn': (43, 35, 57, 56), 'en': (43, 35, 57, 56), 'jp': (43, 35, 57, 56), 'tw': (43, 35, 57, 56)}, file={'cn': './assets/cn/ui/SHOP_BACK_ARROW.png', 'en': './assets/cn/ui/SHOP_BACK_ARROW.png', 'jp': './assets/jp/ui/SHOP_BACK_ARROW.png', 'tw': './assets/tw/ui/SHOP_BACK_ARROW.png'}) SHOP_CHECK = Button(area={'cn': (149, 23, 192, 44), 'en': (143, 25, 199, 41), 'jp': (127, 22, 217, 42), 'tw': (149, 23, 192, 44)}, color={'cn': (107, 114, 125), 'en': (150, 155, 163), 'jp': (64, 72, 87), 'tw': (107, 114, 125)}, button={'cn': (149, 23, 192, 44), 'en': (143, 25, 199, 41), 'jp': (127, 22, 217, 42), 'tw': (149, 23, 192, 44)}, file={'cn': './assets/cn/ui/SHOP_CHECK.png', 'en': './assets/en/ui/SHOP_CHECK.png', 'jp': './assets/jp/ui/SHOP_CHECK.png', 'tw': './assets/tw/ui/SHOP_CHECK.png'}) diff --git a/module/ui_white/assets.py b/module/ui_white/assets.py index eb5681dfc..49d1087f2 100644 --- a/module/ui_white/assets.py +++ b/module/ui_white/assets.py @@ -28,7 +28,7 @@ POPUP_CANCEL_WHITE = Button(area={'cn': (487, 491, 531, 513), 'en': (471, 492, 5 POPUP_CONFIRM_WHITE = Button(area={'cn': (746, 494, 791, 515), 'en': (727, 495, 810, 515), 'jp': (743, 491, 796, 518), 'tw': (744, 491, 794, 518)}, color={'cn': (133, 216, 255), 'en': (107, 207, 255), 'jp': (109, 207, 255), 'tw': (111, 207, 249)}, button={'cn': (746, 494, 791, 515), 'en': (727, 495, 810, 515), 'jp': (743, 491, 796, 518), 'tw': (744, 491, 794, 518)}, file={'cn': './assets/cn/ui_white/POPUP_CONFIRM_WHITE.png', 'en': './assets/en/ui_white/POPUP_CONFIRM_WHITE.png', 'jp': './assets/jp/ui_white/POPUP_CONFIRM_WHITE.png', 'tw': './assets/tw/ui_white/POPUP_CONFIRM_WHITE.png'}) POPUP_CONFIRM_WHITE_BATTLEPASS = Button(area={'cn': (744, 490, 795, 513), 'en': (721, 492, 818, 510), 'jp': (739, 488, 800, 515), 'tw': (744, 490, 795, 513)}, color={'cn': (119, 211, 255), 'en': (149, 221, 255), 'jp': (103, 206, 255), 'tw': (119, 211, 255)}, button={'cn': (744, 490, 795, 513), 'en': (721, 492, 818, 510), 'jp': (739, 488, 800, 515), 'tw': (744, 490, 795, 513)}, file={'cn': './assets/cn/ui_white/POPUP_CONFIRM_WHITE_BATTLEPASS.png', 'en': './assets/en/ui_white/POPUP_CONFIRM_WHITE_BATTLEPASS.png', 'jp': './assets/jp/ui_white/POPUP_CONFIRM_WHITE_BATTLEPASS.png', 'tw': './assets/cn/ui_white/POPUP_CONFIRM_WHITE_BATTLEPASS.png'}) POPUP_SINGLE_WHITE = Button(area={'cn': (623, 493, 668, 515), 'en': (623, 493, 668, 515), 'jp': (623, 493, 668, 515), 'tw': (623, 493, 668, 515)}, color={'cn': (131, 215, 255), 'en': (131, 215, 255), 'jp': (131, 215, 255), 'tw': (131, 215, 255)}, button={'cn': (623, 493, 668, 515), 'en': (623, 493, 668, 515), 'jp': (623, 493, 668, 515), 'tw': (623, 493, 668, 515)}, file={'cn': './assets/cn/ui_white/POPUP_SINGLE_WHITE.png', 'en': './assets/cn/ui_white/POPUP_SINGLE_WHITE.png', 'jp': './assets/cn/ui_white/POPUP_SINGLE_WHITE.png', 'tw': './assets/cn/ui_white/POPUP_SINGLE_WHITE.png'}) -REWARD_1_WHITE = Button(area={'cn': (437, 278, 496, 306), 'en': (411, 283, 523, 300), 'jp': (442, 279, 491, 305), 'tw': (441, 280, 490, 306)}, color={'cn': (255, 193, 97), 'en': (255, 212, 150), 'jp': (255, 195, 101), 'tw': (255, 199, 111)}, button={'cn': (437, 278, 496, 306), 'en': (411, 283, 523, 300), 'jp': (442, 279, 491, 305), 'tw': (441, 280, 490, 306)}, file={'cn': './assets/cn/ui_white/REWARD_1_WHITE.png', 'en': './assets/en/ui_white/REWARD_1_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_1_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_1_WHITE.png'}) +REWARD_1_WHITE = Button(area={'cn': (437, 278, 496, 296), 'en': (411, 283, 523, 300), 'jp': (442, 279, 491, 305), 'tw': (441, 280, 490, 306)}, color={'cn': (255, 193, 97), 'en': (255, 212, 150), 'jp': (255, 195, 101), 'tw': (255, 199, 111)}, button={'cn': (437, 278, 496, 296), 'en': (411, 283, 523, 300), 'jp': (442, 279, 491, 305), 'tw': (441, 280, 490, 306)}, file={'cn': './assets/cn/ui_white/REWARD_1_WHITE.png', 'en': './assets/en/ui_white/REWARD_1_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_1_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_1_WHITE.png'}) REWARD_2_WHITE = Button(area={'cn': (436, 419, 497, 448), 'en': (411, 425, 523, 442), 'jp': (442, 421, 492, 446), 'tw': (439, 422, 490, 448)}, color={'cn': (255, 192, 94), 'en': (255, 212, 146), 'jp': (255, 196, 103), 'tw': (255, 198, 109)}, button={'cn': (436, 419, 497, 448), 'en': (411, 425, 523, 442), 'jp': (442, 421, 492, 446), 'tw': (439, 422, 490, 448)}, file={'cn': './assets/cn/ui_white/REWARD_2_WHITE.png', 'en': './assets/en/ui_white/REWARD_2_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_2_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_2_WHITE.png'}) -REWARD_GOTO_COMMISSION_WHITE = Button(area={'cn': (440, 278, 494, 307), 'en': (420, 283, 512, 300), 'jp': (441, 280, 491, 305), 'tw': (440, 279, 489, 306)}, color={'cn': (103, 207, 255), 'en': (149, 220, 255), 'jp': (119, 212, 255), 'tw': (113, 211, 255)}, button={'cn': (440, 278, 494, 307), 'en': (420, 283, 512, 300), 'jp': (441, 280, 491, 305), 'tw': (440, 279, 489, 306)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'en': './assets/en/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_GOTO_COMMISSION_WHITE.png'}) +REWARD_GOTO_COMMISSION_WHITE = Button(area={'cn': (440, 278, 494, 296), 'en': (420, 283, 512, 300), 'jp': (441, 280, 491, 305), 'tw': (440, 279, 489, 306)}, color={'cn': (107, 209, 255), 'en': (149, 220, 255), 'jp': (119, 212, 255), 'tw': (113, 211, 255)}, button={'cn': (440, 278, 494, 296), 'en': (420, 283, 512, 300), 'jp': (441, 280, 491, 305), 'tw': (440, 279, 489, 306)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'en': './assets/en/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_GOTO_COMMISSION_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_GOTO_COMMISSION_WHITE.png'}) REWARD_GOTO_TACTICAL_WHITE = Button(area={'cn': (442, 421, 492, 447), 'en': (420, 425, 512, 443), 'jp': (442, 421, 491, 445), 'tw': (439, 421, 489, 449)}, color={'cn': (114, 211, 255), 'en': (145, 219, 255), 'jp': (123, 214, 255), 'tw': (109, 209, 255)}, button={'cn': (442, 421, 492, 447), 'en': (420, 425, 512, 443), 'jp': (442, 421, 491, 445), 'tw': (439, 421, 489, 449)}, file={'cn': './assets/cn/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'en': './assets/en/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'jp': './assets/jp/ui_white/REWARD_GOTO_TACTICAL_WHITE.png', 'tw': './assets/tw/ui_white/REWARD_GOTO_TACTICAL_WHITE.png'})