Skip to content

Commit 81bbfcb

Browse files
authored
Merge pull request #1768 from LmeSzinc/bug_fix
Bug fix
2 parents 814cd0c + f49e4c2 commit 81bbfcb

File tree

17 files changed

+328
-25
lines changed

17 files changed

+328
-25
lines changed
10.3 KB
Loading
10.7 KB
Loading
-14.1 KB
Loading

config/template.maa.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@
172172
"ServerUpdate": "04:00"
173173
},
174174
"MaaRoguelike": {
175+
"Theme": "Phantom",
175176
"Mode": 0,
176177
"StartsCount": 9999999,
177178
"InvestmentsCount": 9999999,

module/handler/assets.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@
7272
STRATEGY_OPENED = Button(area={'cn': (1176, 366, 1275, 393), 'en': (1176, 366, 1276, 393), 'jp': (1178, 367, 1273, 391), 'tw': (1176, 366, 1275, 392)}, color={'cn': (128, 155, 218), 'en': (108, 139, 210), 'jp': (156, 176, 223), 'tw': (126, 153, 218)}, button={'cn': (1060, 406, 1092, 485), 'en': (1060, 406, 1092, 485), 'jp': (1060, 406, 1092, 485), 'tw': (1060, 406, 1092, 485)}, file={'cn': './assets/cn/handler/STRATEGY_OPENED.png', 'en': './assets/en/handler/STRATEGY_OPENED.png', 'jp': './assets/jp/handler/STRATEGY_OPENED.png', 'tw': './assets/tw/handler/STRATEGY_OPENED.png'})
7373
SUBMARINE_HUNT_OFF = Button(area={'cn': (1200, 415, 1262, 477), 'en': (1200, 415, 1262, 477), 'jp': (1200, 415, 1262, 477), 'tw': (1200, 415, 1262, 477)}, color={'cn': (125, 127, 132), 'en': (125, 127, 132), 'jp': (125, 127, 132), 'tw': (125, 127, 132)}, button={'cn': (1200, 415, 1262, 477), 'en': (1200, 415, 1262, 477), 'jp': (1200, 415, 1262, 477), 'tw': (1200, 415, 1262, 477)}, file={'cn': './assets/cn/handler/SUBMARINE_HUNT_OFF.png', 'en': './assets/en/handler/SUBMARINE_HUNT_OFF.png', 'jp': './assets/jp/handler/SUBMARINE_HUNT_OFF.png', 'tw': './assets/tw/handler/SUBMARINE_HUNT_OFF.png'})
7474
SUBMARINE_HUNT_ON = Button(area={'cn': (1200, 415, 1262, 477), 'en': (1200, 415, 1262, 477), 'jp': (1200, 415, 1262, 477), 'tw': (1200, 415, 1262, 477)}, color={'cn': (124, 125, 132), 'en': (124, 125, 132), 'jp': (124, 125, 132), 'tw': (124, 125, 132)}, button={'cn': (1200, 415, 1262, 477), 'en': (1200, 415, 1262, 477), 'jp': (1200, 415, 1262, 477), 'tw': (1200, 415, 1262, 477)}, file={'cn': './assets/cn/handler/SUBMARINE_HUNT_ON.png', 'en': './assets/en/handler/SUBMARINE_HUNT_ON.png', 'jp': './assets/jp/handler/SUBMARINE_HUNT_ON.png', 'tw': './assets/tw/handler/SUBMARINE_HUNT_ON.png'})
75-
SUBMARINE_MOVE_CANCEL = Button(area={'cn': (891, 647, 1005, 673), 'en': (911, 650, 984, 667), 'jp': (889, 645, 1008, 675), 'tw': (891, 647, 1005, 673)}, color={'cn': (219, 172, 167), 'en': (211, 162, 158), 'jp': (198, 141, 133), 'tw': (219, 172, 167)}, button={'cn': (891, 647, 1005, 673), 'en': (911, 650, 984, 667), 'jp': (889, 645, 1008, 675), 'tw': (891, 647, 1005, 673)}, file={'cn': './assets/cn/handler/SUBMARINE_MOVE_CANCEL.png', 'en': './assets/en/handler/SUBMARINE_MOVE_CANCEL.png', 'jp': './assets/jp/handler/SUBMARINE_MOVE_CANCEL.png', 'tw': './assets/cn/handler/SUBMARINE_MOVE_CANCEL.png'})
76-
SUBMARINE_MOVE_CONFIRM = Button(area={'cn': (1103, 646, 1218, 674), 'en': (1101, 650, 1222, 667), 'jp': (1101, 645, 1220, 675), 'tw': (1103, 646, 1218, 674)}, color={'cn': (157, 185, 222), 'en': (163, 184, 219), 'jp': (131, 172, 218), 'tw': (157, 185, 222)}, button={'cn': (1103, 646, 1218, 674), 'en': (1101, 650, 1222, 667), 'jp': (1101, 645, 1220, 675), 'tw': (1103, 646, 1218, 674)}, file={'cn': './assets/cn/handler/SUBMARINE_MOVE_CONFIRM.png', 'en': './assets/en/handler/SUBMARINE_MOVE_CONFIRM.png', 'jp': './assets/jp/handler/SUBMARINE_MOVE_CONFIRM.png', 'tw': './assets/cn/handler/SUBMARINE_MOVE_CONFIRM.png'})
75+
SUBMARINE_MOVE_CANCEL = Button(area={'cn': (891, 647, 1005, 673), 'en': (911, 650, 984, 667), 'jp': (889, 645, 1008, 675), 'tw': (889, 646, 1006, 674)}, color={'cn': (219, 172, 167), 'en': (211, 162, 158), 'jp': (198, 141, 133), 'tw': (215, 164, 161)}, button={'cn': (891, 647, 1005, 673), 'en': (911, 650, 984, 667), 'jp': (889, 645, 1008, 675), 'tw': (889, 646, 1006, 674)}, file={'cn': './assets/cn/handler/SUBMARINE_MOVE_CANCEL.png', 'en': './assets/en/handler/SUBMARINE_MOVE_CANCEL.png', 'jp': './assets/jp/handler/SUBMARINE_MOVE_CANCEL.png', 'tw': './assets/tw/handler/SUBMARINE_MOVE_CANCEL.png'})
76+
SUBMARINE_MOVE_CONFIRM = Button(area={'cn': (1103, 646, 1218, 674), 'en': (1101, 650, 1222, 667), 'jp': (1101, 645, 1220, 675), 'tw': (1102, 646, 1220, 674)}, color={'cn': (157, 185, 222), 'en': (163, 184, 219), 'jp': (131, 172, 218), 'tw': (156, 182, 220)}, button={'cn': (1103, 646, 1218, 674), 'en': (1101, 650, 1222, 667), 'jp': (1101, 645, 1220, 675), 'tw': (1102, 646, 1220, 674)}, file={'cn': './assets/cn/handler/SUBMARINE_MOVE_CONFIRM.png', 'en': './assets/en/handler/SUBMARINE_MOVE_CONFIRM.png', 'jp': './assets/jp/handler/SUBMARINE_MOVE_CONFIRM.png', 'tw': './assets/tw/handler/SUBMARINE_MOVE_CONFIRM.png'})
7777
SUBMARINE_MOVE_ENTER = Button(area={'cn': (1109, 511, 1169, 571), 'en': (1109, 511, 1169, 571), 'jp': (1109, 511, 1169, 571), 'tw': (1109, 511, 1169, 571)}, color={'cn': (106, 107, 114), 'en': (106, 107, 114), 'jp': (106, 107, 114), 'tw': (106, 107, 114)}, button={'cn': (1109, 511, 1169, 571), 'en': (1109, 511, 1169, 571), 'jp': (1109, 511, 1169, 571), 'tw': (1109, 511, 1169, 571)}, file={'cn': './assets/cn/handler/SUBMARINE_MOVE_ENTER.png', 'en': './assets/en/handler/SUBMARINE_MOVE_ENTER.png', 'jp': './assets/jp/handler/SUBMARINE_MOVE_ENTER.png', 'tw': './assets/tw/handler/SUBMARINE_MOVE_ENTER.png'})
7878
SUBMARINE_VIEW_OFF = Button(area={'cn': (1140, 435, 1170, 468), 'en': (1140, 435, 1170, 468), 'jp': (1140, 435, 1170, 468), 'tw': (1140, 435, 1170, 468)}, color={'cn': (156, 156, 158), 'en': (156, 156, 158), 'jp': (156, 156, 158), 'tw': (156, 156, 158)}, button={'cn': (1140, 435, 1170, 468), 'en': (1140, 435, 1170, 468), 'jp': (1140, 435, 1170, 468), 'tw': (1140, 435, 1170, 468)}, file={'cn': './assets/cn/handler/SUBMARINE_VIEW_OFF.png', 'en': './assets/en/handler/SUBMARINE_VIEW_OFF.png', 'jp': './assets/jp/handler/SUBMARINE_VIEW_OFF.png', 'tw': './assets/tw/handler/SUBMARINE_VIEW_OFF.png'})
7979
SUBMARINE_VIEW_ON = Button(area={'cn': (1140, 435, 1170, 468), 'en': (1140, 435, 1170, 468), 'jp': (1140, 435, 1170, 468), 'tw': (1140, 435, 1170, 468)}, color={'cn': (177, 178, 179), 'en': (177, 178, 179), 'jp': (177, 178, 179), 'tw': (177, 178, 179)}, button={'cn': (1140, 435, 1170, 468), 'en': (1140, 435, 1170, 468), 'jp': (1140, 435, 1170, 468), 'tw': (1140, 435, 1170, 468)}, file={'cn': './assets/cn/handler/SUBMARINE_VIEW_ON.png', 'en': './assets/en/handler/SUBMARINE_VIEW_ON.png', 'jp': './assets/jp/handler/SUBMARINE_VIEW_ON.png', 'tw': './assets/tw/handler/SUBMARINE_VIEW_ON.png'})

module/os_ash/ash.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,13 @@ def handle_battle_preparation(self):
6262
if self.appear(BEACON_EMPTY, offset=(20, 20)):
6363
logger.info("Ash beacon already empty.")
6464
raise AshBeaconFinished
65+
if self.appear(ASH_SHOWDOWN, offset=(20, 20)):
66+
logger.info("Ash beacon already at ASH_SHOWDOWN.")
67+
raise AshBeaconFinished
6568

6669
return False
6770

6871
def combat(self, *args, expected_end=None, **kwargs):
69-
end = expected_end
70-
if end is not None and callable(end):
71-
def expected_end():
72-
if end():
73-
logger.info('Meta combat finished and in correct page.')
74-
return True
75-
if self.appear(BATTLE_PREPARATION, offset=(30, 30), interval=2):
76-
logger.info('Wrong click into battle preparation page')
77-
self.device.click(BACK_ARROW)
78-
return False
7972
try:
8073
super().combat(*args, expected_end=expected_end, **kwargs)
8174
except AshBeaconFinished:

module/os_ash/meta.py

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,19 @@ def _make_an_attack(self):
119119
out: in_meta, ASH_START or BEACON_REWARD
120120
"""
121121
logger.hr('Begin meta combat', level=2)
122+
123+
def expected_end():
124+
if self.appear(BATTLE_PREPARATION, offset=(30, 30), interval=2):
125+
logger.info('Wrong click into battle preparation page')
126+
self.device.click(BACK_ARROW)
127+
return False
128+
if self._in_meta_page():
129+
logger.info('Meta combat finished and in correct page.')
130+
return True
131+
122132
# Attack
123133
combat = AshCombat(config=self.config, device=self.device)
124-
combat.combat(expected_end=self._in_meta_page, save_get_items=False, emotion_reduce=False)
134+
combat.combat(expected_end=expected_end, save_get_items=False, emotion_reduce=False)
125135

126136
def _handle_ash_beacon_reward(self, skip_first_screenshot=True):
127137
"""
@@ -427,9 +437,25 @@ def _make_an_attack(self):
427437
out: in_meta_assist
428438
"""
429439
logger.hr('Begin meta assist combat', level=2)
440+
441+
def expected_end():
442+
if self.appear(BATTLE_PREPARATION, offset=(30, 30), interval=2):
443+
logger.info('Wrong click into battle preparation page')
444+
self.device.click(BACK_ARROW)
445+
return False
446+
# AL redirects to unfinished self beacon after assist, so switch back
447+
if self.appear_then_click(BEACON_LIST, offset=(-20, -5, 300, 5), interval=2):
448+
return False
449+
if self.appear(ASH_SHOWDOWN, offset=(30, 30), interval=2):
450+
logger.info('Meta combat finished at ASH_SHOWDOWN.')
451+
self.device.click(META_MAIN_BEACON_ENTRANCE)
452+
if self._in_meta_assist_page():
453+
logger.info('Meta combat finished and in correct page.')
454+
return True
455+
430456
# Attack
431457
combat = AshCombat(config=self.config, device=self.device)
432-
combat.combat(expected_end=self._in_meta_assist_page, save_get_items=False, emotion_reduce=False)
458+
combat.combat(expected_end=expected_end, save_get_items=False, emotion_reduce=False)
433459

434460
def _ensure_meta_level(self):
435461
"""
@@ -461,9 +487,6 @@ def _ensure_meta_level(self):
461487
logger.info('Find a beacon in level:' + str(current))
462488

463489
def _in_meta_assist_page(self):
464-
# AL redirects to unfinished self beacon after assist, so switch back
465-
if self.appear_then_click(BEACON_LIST, offset=(-20, -5, 300, 5), interval=2):
466-
return False
467490
return self.appear(BEACON_MY, offset=(20, 20))
468491

469492
def _ensure_meta_assist_page(self, skip_first_screenshot=True):
@@ -481,7 +504,7 @@ def _ensure_meta_assist_page(self, skip_first_screenshot=True):
481504
continue
482505
if self.appear_then_click(META_ENTRANCE, offset=(20, 300), interval=2):
483506
continue
484-
if self.appear(ASH_SHOWDOWN, offset=(20, 20)):
507+
if self.appear(ASH_SHOWDOWN, offset=(20, 20), interval=2):
485508
self.device.click(META_MAIN_BEACON_ENTRANCE)
486509
logger.info('In meta page main')
487510
continue

module/research/assets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
RESEARCH_RUNNING = Button(area={'cn': (313, 556, 362, 619), 'en': (313, 556, 362, 619), 'jp': (313, 556, 362, 619), 'tw': (313, 556, 362, 619)}, color={'cn': (124, 126, 131), 'en': (124, 126, 131), 'jp': (124, 126, 131), 'tw': (124, 126, 131)}, button={'cn': (313, 556, 362, 619), 'en': (313, 556, 362, 619), 'jp': (313, 556, 362, 619), 'tw': (313, 556, 362, 619)}, file={'cn': './assets/cn/research/RESEARCH_RUNNING.png', 'en': './assets/en/research/RESEARCH_RUNNING.png', 'jp': './assets/jp/research/RESEARCH_RUNNING.png', 'tw': './assets/tw/research/RESEARCH_RUNNING.png'})
4545
RESEARCH_START = Button(area={'cn': (445, 569, 568, 597), 'en': (459, 571, 556, 591), 'jp': (423, 556, 596, 608), 'tw': (444, 566, 569, 597)}, color={'cn': (173, 211, 242), 'en': (140, 188, 231), 'jp': (109, 163, 219), 'tw': (175, 212, 242)}, button={'cn': (445, 569, 568, 597), 'en': (459, 571, 556, 591), 'jp': (423, 556, 596, 608), 'tw': (444, 566, 569, 597)}, file={'cn': './assets/cn/research/RESEARCH_START.png', 'en': './assets/en/research/RESEARCH_START.png', 'jp': './assets/jp/research/RESEARCH_START.png', 'tw': './assets/tw/research/RESEARCH_START.png'})
4646
RESEARCH_STOP = Button(area={'cn': (329, 561, 485, 602), 'en': (349, 574, 464, 592), 'jp': (333, 561, 488, 604), 'tw': (327, 560, 488, 604)}, color={'cn': (228, 138, 117), 'en': (231, 152, 141), 'jp': (225, 138, 117), 'tw': (227, 141, 118)}, button={'cn': (329, 561, 485, 602), 'en': (349, 574, 464, 592), 'jp': (333, 561, 488, 604), 'tw': (327, 560, 488, 604)}, file={'cn': './assets/cn/research/RESEARCH_STOP.png', 'en': './assets/en/research/RESEARCH_STOP.png', 'jp': './assets/jp/research/RESEARCH_STOP.png', 'tw': './assets/tw/research/RESEARCH_STOP.png'})
47-
RESEARCH_UNAVAILABLE = Button(area={'cn': (509, 569, 568, 597), 'en': (459, 572, 556, 591), 'jp': (449, 569, 566, 596), 'tw': (440, 565, 576, 601)}, color={'cn': (185, 191, 194), 'en': (152, 178, 200), 'jp': (169, 184, 208), 'tw': (156, 181, 203)}, button={'cn': (509, 569, 568, 597), 'en': (459, 572, 556, 591), 'jp': (449, 569, 566, 596), 'tw': (440, 565, 576, 601)}, file={'cn': './assets/cn/research/RESEARCH_UNAVAILABLE.png', 'en': './assets/en/research/RESEARCH_UNAVAILABLE.png', 'jp': './assets/jp/research/RESEARCH_UNAVAILABLE.png', 'tw': './assets/tw/research/RESEARCH_UNAVAILABLE.png'})
47+
RESEARCH_UNAVAILABLE = Button(area={'cn': (509, 569, 568, 597), 'en': (459, 572, 556, 591), 'jp': (449, 569, 566, 596), 'tw': (444, 566, 569, 596)}, color={'cn': (185, 191, 194), 'en': (152, 178, 200), 'jp': (169, 184, 208), 'tw': (179, 190, 210)}, button={'cn': (509, 569, 568, 597), 'en': (459, 572, 556, 591), 'jp': (449, 569, 566, 596), 'tw': (444, 566, 569, 596)}, file={'cn': './assets/cn/research/RESEARCH_UNAVAILABLE.png', 'en': './assets/en/research/RESEARCH_UNAVAILABLE.png', 'jp': './assets/jp/research/RESEARCH_UNAVAILABLE.png', 'tw': './assets/tw/research/RESEARCH_UNAVAILABLE.png'})
4848
RESET_AVAILABLE = Button(area={'cn': (1153, 662, 1227, 679), 'en': (1099, 648, 1238, 693), 'jp': (1101, 650, 1236, 690), 'tw': (1102, 651, 1235, 691)}, color={'cn': (101, 118, 152), 'en': (62, 84, 110), 'jp': (74, 88, 121), 'tw': (67, 82, 116)}, button={'cn': (1153, 662, 1227, 679), 'en': (1099, 648, 1238, 693), 'jp': (1101, 650, 1236, 690), 'tw': (1102, 651, 1235, 691)}, file={'cn': './assets/cn/research/RESET_AVAILABLE.png', 'en': './assets/en/research/RESET_AVAILABLE.png', 'jp': './assets/jp/research/RESET_AVAILABLE.png', 'tw': './assets/tw/research/RESET_AVAILABLE.png'})
4949
SERIES_1 = Button(area={'cn': (86, 154, 113, 173), 'en': (86, 154, 113, 173), 'jp': (86, 154, 113, 173), 'tw': (86, 154, 113, 173)}, color={'cn': (197, 108, 91), 'en': (197, 108, 91), 'jp': (197, 108, 91), 'tw': (197, 108, 91)}, button={'cn': (86, 154, 113, 173), 'en': (86, 154, 113, 173), 'jp': (86, 154, 113, 173), 'tw': (86, 154, 113, 173)}, file={'cn': './assets/cn/research/SERIES_1.png', 'en': './assets/en/research/SERIES_1.png', 'jp': './assets/jp/research/SERIES_1.png', 'tw': './assets/tw/research/SERIES_1.png'})
5050
SERIES_2 = Button(area={'cn': (301, 122, 332, 144), 'en': (301, 122, 332, 144), 'jp': (301, 122, 332, 144), 'tw': (301, 122, 332, 144)}, color={'cn': (199, 112, 96), 'en': (199, 112, 96), 'jp': (199, 112, 96), 'tw': (199, 112, 96)}, button={'cn': (301, 122, 332, 144), 'en': (301, 122, 332, 144), 'jp': (301, 122, 332, 144), 'tw': (301, 122, 332, 144)}, file={'cn': './assets/cn/research/SERIES_2.png', 'en': './assets/en/research/SERIES_2.png', 'jp': './assets/jp/research/SERIES_2.png', 'tw': './assets/tw/research/SERIES_2.png'})

submodule/AlasMaaBridge/module/config/argument/args.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,14 @@
584584
}
585585
},
586586
"MaaRoguelike": {
587+
"Theme": {
588+
"type": "select",
589+
"value": "Phantom",
590+
"option": [
591+
"Phantom",
592+
"Mizuki"
593+
]
594+
},
587595
"Mode": {
588596
"type": "select",
589597
"value": 0,
@@ -608,6 +616,9 @@
608616
"type": "select",
609617
"value": "指挥分队",
610618
"option": [
619+
"心胜于物分队",
620+
"物尽其用分队",
621+
"以人为本分队",
611622
"指挥分队",
612623
"集群分队",
613624
"后勤分队",

submodule/AlasMaaBridge/module/config/argument/argument.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ MaaMall:
102102
type: textarea
103103

104104
MaaRoguelike:
105+
Theme:
106+
value: Phantom
107+
option: [Phantom, Mizuki]
105108
Mode:
106109
value: 0
107110
option: [0, 1]
@@ -110,7 +113,7 @@ MaaRoguelike:
110113
StopWhenInvestmentFull: false
111114
Squad:
112115
value: 指挥分队
113-
option: [指挥分队, 集群分队, 后勤分队, 矛头分队, 突击战术分队, 堡垒战术分队, 远程战术分队, 破坏战术分队, 研究分队, 高规格分队]
116+
option: [心胜于物分队, 物尽其用分队, 以人为本分队, 指挥分队, 集群分队, 后勤分队, 矛头分队, 突击战术分队, 堡垒战术分队, 远程战术分队, 破坏战术分队, 研究分队, 高规格分队]
114117
Roles:
115118
value: 取长补短
116119
option: [先手必胜, 稳扎稳打, 取长补短, 随心所欲]

0 commit comments

Comments
 (0)