diff --git a/assets/cn/combat_ui/PAUSE_GildedReverie.png b/assets/cn/combat_ui/PAUSE_GildedReverie.png new file mode 100644 index 000000000..b1ecbd407 Binary files /dev/null and b/assets/cn/combat_ui/PAUSE_GildedReverie.png differ diff --git a/assets/cn/combat_ui/QUIT_GildedReverie.png b/assets/cn/combat_ui/QUIT_GildedReverie.png new file mode 100644 index 000000000..564b395af Binary files /dev/null and b/assets/cn/combat_ui/QUIT_GildedReverie.png differ diff --git a/module/combat/combat.py b/module/combat/combat.py index c6f21836b..398f4a8e5 100644 --- a/module/combat/combat.py +++ b/module/combat/combat.py @@ -130,6 +130,8 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan return PAUSE_SpringInn if PAUSE_ElvenVine.match_template_color(self.device.image, offset=(10, 10)): return PAUSE_ElvenVine + if PAUSE_GildedReverie.match_template_color(self.device.image, offset=(10, 10)): + return PAUSE_GildedReverie return False def handle_combat_quit(self, offset=(20, 20), interval=3): @@ -185,6 +187,10 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan self.device.click(QUIT_SpringInn) timer.reset() return True + if QUIT_GildedReverie.match_luma(self.device.image, offset=offset): + self.device.click(QUIT_GildedReverie) + timer.reset() + return True return False def handle_combat_quit_reconfirm(self, interval=2): diff --git a/module/combat_ui/assets.py b/module/combat_ui/assets.py index 79da853a0..1ad0c04f1 100644 --- a/module/combat_ui/assets.py +++ b/module/combat_ui/assets.py @@ -11,6 +11,7 @@ PAUSE_Cyber = Button(area={'cn': (1231, 32, 1253, 59), 'en': (1231, 32, 1253, 59 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'}) PAUSE_Devil = Button(area={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, color={'cn': (193, 98, 108), 'en': (193, 98, 108), 'jp': (193, 98, 108), 'tw': (193, 98, 108)}, button={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_Devil.png', 'en': './assets/cn/combat_ui/PAUSE_Devil.png', 'jp': './assets/cn/combat_ui/PAUSE_Devil.png', 'tw': './assets/cn/combat_ui/PAUSE_Devil.png'}) PAUSE_ElvenVine = Button(area={'cn': (1229, 32, 1253, 55), 'en': (1229, 32, 1253, 55), 'jp': (1229, 32, 1253, 55), 'tw': (1229, 32, 1253, 55)}, color={'cn': (152, 189, 166), 'en': (152, 189, 166), 'jp': (152, 189, 166), 'tw': (152, 189, 166)}, button={'cn': (1229, 32, 1253, 55), 'en': (1229, 32, 1253, 55), 'jp': (1229, 32, 1253, 55), 'tw': (1229, 32, 1253, 55)}, file={'cn': './assets/cn/combat_ui/PAUSE_ElvenVine.png', 'en': './assets/cn/combat_ui/PAUSE_ElvenVine.png', 'jp': './assets/cn/combat_ui/PAUSE_ElvenVine.png', 'tw': './assets/cn/combat_ui/PAUSE_ElvenVine.png'}) +PAUSE_GildedReverie = Button(area={'cn': (1225, 34, 1245, 50), 'en': (1225, 34, 1245, 50), 'jp': (1225, 34, 1245, 50), 'tw': (1225, 34, 1245, 50)}, color={'cn': (166, 154, 127), 'en': (166, 154, 127), 'jp': (166, 154, 127), 'tw': (166, 154, 127)}, button={'cn': (1225, 34, 1245, 50), 'en': (1225, 34, 1245, 50), 'jp': (1225, 34, 1245, 50), 'tw': (1225, 34, 1245, 50)}, file={'cn': './assets/cn/combat_ui/PAUSE_GildedReverie.png', 'en': './assets/cn/combat_ui/PAUSE_GildedReverie.png', 'jp': './assets/cn/combat_ui/PAUSE_GildedReverie.png', 'tw': './assets/cn/combat_ui/PAUSE_GildedReverie.png'}) PAUSE_HolyLight = Button(area={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, color={'cn': (54, 40, 27), 'en': (54, 40, 27), 'jp': (54, 40, 27), 'tw': (54, 40, 27)}, button={'cn': (1233, 35, 1250, 57), 'en': (1233, 35, 1250, 57), 'jp': (1233, 35, 1250, 57), 'tw': (1233, 35, 1250, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_HolyLight.png', 'en': './assets/cn/combat_ui/PAUSE_HolyLight.png', 'jp': './assets/cn/combat_ui/PAUSE_HolyLight.png', 'tw': './assets/cn/combat_ui/PAUSE_HolyLight.png'}) PAUSE_Iridescent_Fantasy = Button(area={'cn': (1232, 33, 1252, 57), 'en': (1232, 33, 1252, 57), 'jp': (1232, 33, 1252, 57), 'tw': (1232, 33, 1252, 57)}, color={'cn': (124, 139, 190), 'en': (124, 139, 190), 'jp': (124, 139, 190), 'tw': (124, 139, 190)}, button={'cn': (1232, 33, 1252, 57), 'en': (1232, 33, 1252, 57), 'jp': (1232, 33, 1252, 57), 'tw': (1232, 33, 1252, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_Iridescent_Fantasy.png', 'en': './assets/en/combat_ui/PAUSE_Iridescent_Fantasy.png', 'jp': './assets/jp/combat_ui/PAUSE_Iridescent_Fantasy.png', 'tw': './assets/tw/combat_ui/PAUSE_Iridescent_Fantasy.png'}) PAUSE_MaidCafe = Button(area={'cn': (1230, 35, 1248, 54), 'en': (1230, 35, 1248, 54), 'jp': (1230, 35, 1248, 54), 'tw': (1230, 35, 1248, 54)}, color={'cn': (159, 145, 139), 'en': (159, 145, 139), 'jp': (159, 145, 139), 'tw': (159, 145, 139)}, button={'cn': (1230, 35, 1248, 54), 'en': (1230, 35, 1248, 54), 'jp': (1230, 35, 1248, 54), 'tw': (1230, 35, 1248, 54)}, file={'cn': './assets/cn/combat_ui/PAUSE_MaidCafe.png', 'en': './assets/cn/combat_ui/PAUSE_MaidCafe.png', 'jp': './assets/cn/combat_ui/PAUSE_MaidCafe.png', 'tw': './assets/cn/combat_ui/PAUSE_MaidCafe.png'}) @@ -26,6 +27,7 @@ PAUSE_Star = Button(area={'cn': (1234, 36, 1250, 57), 'en': (1234, 36, 1250, 57) QUIT = Button(area={'cn': (420, 490, 593, 548), 'en': (473, 508, 567, 532), 'jp': (433, 490, 606, 547), 'tw': (433, 490, 606, 547)}, color={'cn': (199, 122, 114), 'en': (216, 168, 164), 'jp': (196, 120, 113), 'tw': (200, 126, 118)}, button={'cn': (420, 490, 593, 548), 'en': (473, 508, 567, 532), 'jp': (433, 490, 606, 547), 'tw': (433, 490, 606, 547)}, file={'cn': './assets/cn/combat_ui/QUIT.png', 'en': './assets/en/combat_ui/QUIT.png', 'jp': './assets/jp/combat_ui/QUIT.png', 'tw': './assets/tw/combat_ui/QUIT.png'}) QUIT_Christmas = Button(area={'cn': (400, 506, 477, 525), 'en': (410, 507, 469, 524), 'jp': (400, 506, 477, 525), 'tw': (400, 506, 477, 525)}, color={'cn': (195, 139, 166), 'en': (207, 166, 185), 'jp': (195, 139, 166), 'tw': (195, 139, 166)}, button={'cn': (400, 506, 477, 525), 'en': (410, 507, 469, 524), 'jp': (400, 506, 477, 525), 'tw': (400, 506, 477, 525)}, file={'cn': './assets/cn/combat_ui/QUIT_Christmas.png', 'en': './assets/en/combat_ui/QUIT_Christmas.png', 'jp': './assets/cn/combat_ui/QUIT_Christmas.png', 'tw': './assets/cn/combat_ui/QUIT_Christmas.png'}) QUIT_Cyber = Button(area={'cn': (393, 506, 470, 524), 'en': (393, 506, 470, 524), 'jp': (393, 506, 470, 524), 'tw': (393, 506, 470, 524)}, color={'cn': (255, 198, 190), 'en': (255, 198, 190), 'jp': (255, 198, 190), 'tw': (255, 198, 190)}, button={'cn': (393, 506, 470, 524), 'en': (393, 506, 470, 524), 'jp': (393, 506, 470, 524), 'tw': (393, 506, 470, 524)}, file={'cn': './assets/cn/combat_ui/QUIT_Cyber.png', 'en': './assets/cn/combat_ui/QUIT_Cyber.png', 'jp': './assets/cn/combat_ui/QUIT_Cyber.png', 'tw': './assets/tw/combat_ui/QUIT_Cyber.png'}) +QUIT_GildedReverie = Button(area={'cn': (422, 553, 500, 572), 'en': (422, 553, 500, 572), 'jp': (422, 553, 500, 572), 'tw': (422, 553, 500, 572)}, color={'cn': (122, 128, 167), 'en': (122, 128, 167), 'jp': (122, 128, 167), 'tw': (122, 128, 167)}, button={'cn': (422, 553, 500, 572), 'en': (422, 553, 500, 572), 'jp': (422, 553, 500, 572), 'tw': (422, 553, 500, 572)}, file={'cn': './assets/cn/combat_ui/QUIT_GildedReverie.png', 'en': './assets/cn/combat_ui/QUIT_GildedReverie.png', 'jp': './assets/cn/combat_ui/QUIT_GildedReverie.png', 'tw': './assets/cn/combat_ui/QUIT_GildedReverie.png'}) QUIT_Iridescent_Fantasy = Button(area={'cn': (391, 522, 464, 540), 'en': (402, 507, 460, 523), 'jp': (391, 522, 464, 540), 'tw': (391, 522, 464, 540)}, color={'cn': (121, 73, 79), 'en': (255, 174, 164), 'jp': (108, 60, 70), 'tw': (121, 73, 79)}, button={'cn': (391, 522, 464, 540), 'en': (402, 507, 460, 523), 'jp': (391, 522, 464, 540), 'tw': (391, 522, 464, 540)}, file={'cn': './assets/cn/combat_ui/QUIT_Iridescent_Fantasy.png', 'en': './assets/en/combat_ui/QUIT_Iridescent_Fantasy.png', 'jp': './assets/jp/combat_ui/QUIT_Iridescent_Fantasy.png', 'tw': './assets/cn/combat_ui/QUIT_Iridescent_Fantasy.png'}) QUIT_MaidCafe = Button(area={'cn': (423, 549, 501, 568), 'en': (423, 549, 501, 568), 'jp': (423, 549, 501, 568), 'tw': (423, 549, 501, 568)}, color={'cn': (168, 142, 133), 'en': (168, 142, 133), 'jp': (168, 142, 133), 'tw': (168, 142, 133)}, button={'cn': (423, 549, 501, 568), 'en': (423, 549, 501, 568), 'jp': (423, 549, 501, 568), 'tw': (423, 549, 501, 568)}, file={'cn': './assets/cn/combat_ui/QUIT_MaidCafe.png', 'en': './assets/cn/combat_ui/QUIT_MaidCafe.png', 'jp': './assets/cn/combat_ui/QUIT_MaidCafe.png', 'tw': './assets/cn/combat_ui/QUIT_MaidCafe.png'}) QUIT_New = Button(area={'cn': (394, 506, 467, 524), 'en': (404, 506, 463, 523), 'jp': (394, 506, 467, 524), 'tw': (393, 505, 471, 524)}, color={'cn': (255, 180, 171), 'en': (255, 195, 187), 'jp': (255, 180, 171), 'tw': (255, 200, 193)}, button={'cn': (394, 506, 467, 524), 'en': (404, 506, 463, 523), 'jp': (394, 506, 467, 524), 'tw': (393, 505, 471, 524)}, file={'cn': './assets/cn/combat_ui/QUIT_New.png', 'en': './assets/en/combat_ui/QUIT_New.png', 'jp': './assets/cn/combat_ui/QUIT_New.png', 'tw': './assets/tw/combat_ui/QUIT_New.png'}) diff --git a/module/exercise/hp_daemon.py b/module/exercise/hp_daemon.py index 3320d1fa4..deca5a098 100644 --- a/module/exercise/hp_daemon.py +++ b/module/exercise/hp_daemon.py @@ -79,6 +79,7 @@ class HpDaemon(ModuleBase): PAUSE_Ancient, PAUSE_SpringInn, PAUSE_ElvenVine, + PAUSE_GildedReverie, ]: 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)