diff --git a/assets/cn/combat_ui/PAUSE_SpringInn.png b/assets/cn/combat_ui/PAUSE_SpringInn.png new file mode 100644 index 000000000..2eb3b3a46 Binary files /dev/null and b/assets/cn/combat_ui/PAUSE_SpringInn.png differ diff --git a/assets/cn/combat_ui/QUIT_SpringInn.png b/assets/cn/combat_ui/QUIT_SpringInn.png new file mode 100644 index 000000000..867d21ad7 Binary files /dev/null and b/assets/cn/combat_ui/QUIT_SpringInn.png differ diff --git a/module/combat/combat.py b/module/combat/combat.py index 818d3de9b..342aa9e71 100644 --- a/module/combat/combat.py +++ b/module/combat/combat.py @@ -126,6 +126,8 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan return PAUSE_MaidCafe if PAUSE_Ancient.match_template_color(self.device.image, offset=(10, 10)): return PAUSE_Ancient + if PAUSE_SpringInn.match_template_color(self.device.image, offset=(10, 10)): + return PAUSE_SpringInn return False def handle_combat_quit(self, offset=(20, 20), interval=3): @@ -177,6 +179,10 @@ class Combat(Level, HPBalancer, Retirement, SubmarineCall, CombatAuto, CombatMan self.device.click(QUIT_MaidCafe) timer.reset() return True + if QUIT_SpringInn.match_luma(self.device.image, offset=offset): + self.device.click(QUIT_SpringInn) + 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 cf309cd15..e8de38bc1 100644 --- a/module/combat_ui/assets.py +++ b/module/combat_ui/assets.py @@ -20,6 +20,7 @@ PAUSE_Nurse = Button(area={'cn': (1236, 33, 1251, 50), 'en': (1236, 33, 1251, 50 PAUSE_Pharaoh = Button(area={'cn': (1229, 55, 1259, 62), 'en': (1229, 55, 1259, 62), 'jp': (1229, 55, 1259, 62), 'tw': (1229, 55, 1259, 62)}, color={'cn': (164, 119, 78), 'en': (164, 119, 78), 'jp': (164, 119, 78), 'tw': (164, 119, 78)}, button={'cn': (1229, 55, 1259, 62), 'en': (1229, 55, 1259, 62), 'jp': (1229, 55, 1259, 62), 'tw': (1229, 55, 1259, 62)}, file={'cn': './assets/cn/combat_ui/PAUSE_Pharaoh.png', 'en': './assets/cn/combat_ui/PAUSE_Pharaoh.png', 'jp': './assets/cn/combat_ui/PAUSE_Pharaoh.png', 'tw': './assets/cn/combat_ui/PAUSE_Pharaoh.png'}) PAUSE_Seaside = Button(area={'cn': (1214, 31, 1239, 59), 'en': (1214, 31, 1239, 59), 'jp': (1214, 31, 1239, 59), 'tw': (1214, 31, 1239, 59)}, color={'cn': (172, 196, 212), 'en': (172, 196, 212), 'jp': (172, 196, 212), 'tw': (172, 196, 212)}, button={'cn': (1214, 31, 1239, 59), 'en': (1214, 31, 1239, 59), 'jp': (1214, 31, 1239, 59), 'tw': (1214, 31, 1239, 59)}, file={'cn': './assets/cn/combat_ui/PAUSE_Seaside.png', 'en': './assets/cn/combat_ui/PAUSE_Seaside.png', 'jp': './assets/cn/combat_ui/PAUSE_Seaside.png', 'tw': './assets/cn/combat_ui/PAUSE_Seaside.png'}) PAUSE_ShadowPuppetry = Button(area={'cn': (1216, 37, 1234, 55), 'en': (1216, 37, 1234, 55), 'jp': (1216, 37, 1234, 55), 'tw': (1216, 37, 1234, 55)}, color={'cn': (139, 112, 72), 'en': (139, 112, 72), 'jp': (139, 112, 72), 'tw': (139, 112, 72)}, button={'cn': (1216, 37, 1234, 55), 'en': (1216, 37, 1234, 55), 'jp': (1216, 37, 1234, 55), 'tw': (1216, 37, 1234, 55)}, file={'cn': './assets/cn/combat_ui/PAUSE_ShadowPuppetry.png', 'en': './assets/cn/combat_ui/PAUSE_ShadowPuppetry.png', 'jp': './assets/cn/combat_ui/PAUSE_ShadowPuppetry.png', 'tw': './assets/cn/combat_ui/PAUSE_ShadowPuppetry.png'}) +PAUSE_SpringInn = Button(area={'cn': (1212, 37, 1235, 61), 'en': (1212, 37, 1235, 61), 'jp': (1212, 37, 1235, 61), 'tw': (1212, 37, 1235, 61)}, color={'cn': (201, 91, 78), 'en': (201, 91, 78), 'jp': (201, 91, 78), 'tw': (201, 91, 78)}, button={'cn': (1212, 37, 1235, 61), 'en': (1212, 37, 1235, 61), 'jp': (1212, 37, 1235, 61), 'tw': (1212, 37, 1235, 61)}, file={'cn': './assets/cn/combat_ui/PAUSE_SpringInn.png', 'en': './assets/cn/combat_ui/PAUSE_SpringInn.png', 'jp': './assets/cn/combat_ui/PAUSE_SpringInn.png', 'tw': './assets/cn/combat_ui/PAUSE_SpringInn.png'}) PAUSE_Star = Button(area={'cn': (1234, 36, 1250, 57), 'en': (1234, 36, 1250, 57), 'jp': (1234, 36, 1250, 57), 'tw': (1234, 36, 1250, 57)}, color={'cn': (169, 179, 179), 'en': (169, 179, 179), 'jp': (169, 179, 179), 'tw': (169, 179, 179)}, button={'cn': (1234, 36, 1250, 57), 'en': (1234, 36, 1250, 57), 'jp': (1234, 36, 1250, 57), 'tw': (1234, 36, 1250, 57)}, file={'cn': './assets/cn/combat_ui/PAUSE_Star.png', 'en': './assets/cn/combat_ui/PAUSE_Star.png', 'jp': './assets/cn/combat_ui/PAUSE_Star.png', 'tw': './assets/cn/combat_ui/PAUSE_Star.png'}) 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'}) @@ -31,3 +32,4 @@ QUIT_Ninja = Button(area={'cn': (398, 509, 477, 528), 'en': (398, 509, 477, 528) QUIT_Nurse = Button(area={'cn': (400, 507, 477, 525), 'en': (400, 507, 477, 525), 'jp': (400, 507, 477, 525), 'tw': (400, 507, 477, 525)}, color={'cn': (254, 193, 170), 'en': (254, 193, 170), 'jp': (254, 193, 170), 'tw': (254, 193, 170)}, button={'cn': (400, 507, 477, 525), 'en': (400, 507, 477, 525), 'jp': (400, 507, 477, 525), 'tw': (400, 507, 477, 525)}, file={'cn': './assets/cn/combat_ui/QUIT_Nurse.png', 'en': './assets/cn/combat_ui/QUIT_Nurse.png', 'jp': './assets/cn/combat_ui/QUIT_Nurse.png', 'tw': './assets/cn/combat_ui/QUIT_Nurse.png'}) QUIT_Pharaoh = Button(area={'cn': (400, 507, 477, 525), 'en': (400, 507, 477, 525), 'jp': (400, 507, 477, 525), 'tw': (400, 507, 477, 525)}, color={'cn': (204, 132, 108), 'en': (204, 132, 108), 'jp': (204, 132, 108), 'tw': (204, 132, 108)}, button={'cn': (400, 507, 477, 525), 'en': (400, 507, 477, 525), 'jp': (400, 507, 477, 525), 'tw': (400, 507, 477, 525)}, file={'cn': './assets/cn/combat_ui/QUIT_Pharaoh.png', 'en': './assets/cn/combat_ui/QUIT_Pharaoh.png', 'jp': './assets/cn/combat_ui/QUIT_Pharaoh.png', 'tw': './assets/cn/combat_ui/QUIT_Pharaoh.png'}) QUIT_Seaside = Button(area={'cn': (398, 509, 476, 528), 'en': (398, 509, 476, 528), 'jp': (398, 509, 476, 528), 'tw': (398, 509, 476, 528)}, color={'cn': (247, 208, 188), 'en': (247, 208, 188), 'jp': (247, 208, 188), 'tw': (247, 208, 188)}, button={'cn': (398, 509, 476, 528), 'en': (398, 509, 476, 528), 'jp': (398, 509, 476, 528), 'tw': (398, 509, 476, 528)}, file={'cn': './assets/cn/combat_ui/QUIT_Seaside.png', 'en': './assets/cn/combat_ui/QUIT_Seaside.png', 'jp': './assets/cn/combat_ui/QUIT_Seaside.png', 'tw': './assets/cn/combat_ui/QUIT_Seaside.png'}) +QUIT_SpringInn = Button(area={'cn': (396, 559, 478, 584), 'en': (396, 559, 478, 584), 'jp': (396, 559, 478, 584), 'tw': (396, 559, 478, 584)}, color={'cn': (145, 88, 80), 'en': (145, 88, 80), 'jp': (145, 88, 80), 'tw': (145, 88, 80)}, button={'cn': (396, 559, 478, 584), 'en': (396, 559, 478, 584), 'jp': (396, 559, 478, 584), 'tw': (396, 559, 478, 584)}, file={'cn': './assets/cn/combat_ui/QUIT_SpringInn.png', 'en': './assets/cn/combat_ui/QUIT_SpringInn.png', 'jp': './assets/cn/combat_ui/QUIT_SpringInn.png', 'tw': './assets/cn/combat_ui/QUIT_SpringInn.png'}) diff --git a/module/exercise/hp_daemon.py b/module/exercise/hp_daemon.py index 321a88d24..0170498b4 100644 --- a/module/exercise/hp_daemon.py +++ b/module/exercise/hp_daemon.py @@ -77,6 +77,7 @@ class HpDaemon(ModuleBase): PAUSE_ShadowPuppetry, PAUSE_MaidCafe, PAUSE_Ancient, + PAUSE_SpringInn, ]: 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)