diff --git a/.gitignore b/.gitignore index 33906ca..36b3f5a 100644 --- a/.gitignore +++ b/.gitignore @@ -168,3 +168,4 @@ schedule_lite.py test_quarry.py test.py tmp.png +resources/screenshot.py \ No newline at end of file diff --git a/UI.ui b/UI.ui index f5d5a2e..4cfd264 100644 --- a/UI.ui +++ b/UI.ui @@ -450,7 +450,7 @@ li.checked::marker { content: "\2612"; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#ffaa00;">为主号刷助战奖励</span><span style=" font-size:8pt;">:(助战奖励只有4w,蚊子腿)确保当前使用为</span><span style=" font-size:8pt; color:#ff0000;">小号</span><span style=" font-size:8pt;">,至少通过了一次</span><span style=" font-size:8pt; color:#ff0000;">虚影阿瑞斯</span><span style=" font-size:8pt;">,且小号只有主号</span><span style=" font-size:8pt; color:#ff0000;">一个好友</span><span style=" font-size:8pt;">,同时一号队伍留有</span><span style=" font-size:8pt; color:#ff0000;">2x2的位置</span><span style=" font-size:8pt; color:#000000;">。</span><span style=" font-size:8pt;">关于双倍助战:助战奖励分割时间为</span><span style=" font-size:8pt; color:#ff0000;">每天凌晨3点</span><span style=" font-size:8pt; color:#000000;">,在3点之前进行20次助战,3点过后进行20次助战,3点后到第二次刷助战期间主号</span><span style=" font-size:8pt; color:#ff0000;">不要登录</span><span style=" font-size:8pt; color:#000000;">,次日双倍助战奖励</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#ffaa00;">检索交付当前订单</span><span style=" font-size:8pt; color:#000000;">:</span><span style=" font-size:8pt;">仅只检索当前订单并自动交付,若</span><span style=" font-size:8pt; color:#ff0000;">没有</span><span style=" font-size:8pt;">在订单页则前往</span><span style=" font-size:8pt; color:#ff0000;">交易所</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#ffaa00;">停止所有任务</span><span style=" font-size:8pt;">:无视所有情况,强制停止脚本任务</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#ffaa00;">保存用户配置</span><span style=" font-size:8pt;">:使用手动修改方式并不会触发自动保存,推荐修改配置项后手动保存配置</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#ffaa00;">保存用户配置</span><span style=" font-size:8pt;">:使用手动修改方式并不会触发自动保存(仅ADB路径与矿场结算时间),推荐修改配置项后手动保存配置</span></p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> @@ -807,8 +807,8 @@ QPushButton:pressed, QPushButton:checked { 0 0 - 169 - 162 + 171 + 164 diff --git a/Ui_UI.py b/Ui_UI.py index de78d25..82a6461 100644 --- a/Ui_UI.py +++ b/Ui_UI.py @@ -405,7 +405,7 @@ def setupUi(self, Form): self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents_2 = QtWidgets.QWidget() - self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 169, 162)) + self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 171, 164)) self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2") self.Chips_Button = QtWidgets.QPushButton(parent=self.scrollAreaWidgetContents_2) self.Chips_Button.setGeometry(QtCore.QRect(0, 84, 175, 42)) @@ -757,7 +757,7 @@ def retranslateUi(self, Form): "

为主号刷助战奖励:(助战奖励只有4w,蚊子腿)确保当前使用为小号,至少通过了一次虚影阿瑞斯,且小号只有主号一个好友,同时一号队伍留有2x2的位置关于双倍助战:助战奖励分割时间为每天凌晨3点,在3点之前进行20次助战,3点过后进行20次助战,3点后到第二次刷助战期间主号不要登录,次日双倍助战奖励

\n" "

检索交付当前订单仅只检索当前订单并自动交付,若没有在订单页则前往交易所

\n" "

停止所有任务:无视所有情况,强制停止脚本任务

\n" -"

保存用户配置:使用手动修改方式并不会触发自动保存,推荐修改配置项后手动保存配置

\n" +"

保存用户配置:使用手动修改方式并不会触发自动保存(仅ADB路径与矿场结算时间),推荐修改配置项后手动保存配置

\n" "


\n" "


\n" "


")) diff --git a/jczx.py b/jczx.py index 4981728..a79bd94 100644 --- a/jczx.py +++ b/jczx.py @@ -82,19 +82,19 @@ def joinPath(*args): "title": "戈里刻-宙斯", "SwipeUP": True }, - { - "index": 2, - "illusionNum": 2, - "title": "尼克罗-弗利亚多", - "SwipeUP": True - } + # { + # "index": 2, + # "illusionNum": 2, + # "title": "尼克罗-弗利亚多", + # "SwipeUP": True + # } ] class LoggerHandler(logging.Handler): def __init__(self, edit) -> None: super().__init__(logging.DEBUG) self.edit = edit - self.formatter = logging.Formatter('%(asctime)s[%(lineno)d]: %(message)s', datefmt = "%H:%M:%S") + self.formatter = logging.Formatter('%(asctime)s: %(message)s', datefmt = "%H:%M:%S") def emit(self, record): msg = self.format(record) @@ -452,10 +452,13 @@ def cut9x9(self, x, y): return self.cut(9, 9, x, y) class _Buttons: back_button = joinPath("resources","buttons","back.png") + visit_button = joinPath("resources","buttons","visit.png") + choiceFriendTP_button = joinPath("resources","locations","whateverTradingPost.png") skipAnimation_button = joinPath("resources","buttons","skipAnimation.png") fightAuto_button = joinPath("resources","buttons","fightAuto.png") plane_button = joinPath("resources","buttons","plane.png") ZhouSi_button = joinPath("resources","buttons","ZhouSi.png") + ARuiSi_button = joinPath("resources","buttons","ARuiSi.png") sureQuit_button = joinPath("resources","buttons","sureQuit.png") startToAct_button = joinPath("resources","buttons","startToAct.png") fight_button = joinPath("resources","buttons","fight.png") @@ -464,6 +467,8 @@ class _Buttons: sureEnter_button = joinPath("resources","buttons","sureEnter.png") startFight_button = joinPath("resources","buttons","startFight.png") GeLiKe_button = joinPath("resources","buttons","GeLiKe.png") + NiKeLuo_button = joinPath("resources","buttons","NiKeLuo.png") + FuLiYaDuo_button = joinPath("resources","buttons","FuLiYaDuo.png") illusions_button = joinPath("resources","buttons","illusions.png") activities_button = joinPath("resources","buttons","activities.png") apply_button = joinPath("resources","buttons","apply.png") @@ -555,6 +560,8 @@ def getUserOrderPaths(self) -> list[tuple[str, _Orders.Description, _Orders.Craf class _ScreenLocs: friend = joinPath("resources","locations","friend.png") levels = joinPath("resources","locations","levels.png") + visiting = joinPath("resources","locations","visiting.png") + choiceFriendTP = joinPath("resources","locations","choiceFriendTP.png") enoughSmallCrytal = joinPath("resources","locations","enoughSmallCrytal.png") fightWin = joinPath("resources","locations","fightWin.png") onFight = joinPath("resources","locations","onFight.png") @@ -565,6 +572,10 @@ class _ScreenLocs: ZhouSi_b_1 = joinPath("resources","locations","ZhouSi_b_1.png") ZhouSi_b_2 = joinPath("resources","locations","ZhouSi_b_2.png") ZhouSi_b_3 = joinPath("resources","locations","ZhouSi_b_3.png") + ARuiSi_1 = joinPath("resources","locations","ARuiSi_1.png") + ARuiSi_2 = joinPath("resources","locations","ARuiSi_2.png") + ARuiSi_3 = joinPath("resources","locations","ARuiSi_3.png") + ARuiSi_4 = joinPath("resources","locations","ARuiSi_4.png") ZhouSiBoss_a = joinPath("resources","locations","ZhouSiBoss_a.png") ZhouSiBoss_b = joinPath("resources","locations","ZhouSiBoss_b.png") GeLiKeIllusionSwipe = joinPath("resources","locations","GeLiKeIllusionSwipe.png") @@ -589,6 +600,7 @@ class _ScreenLocs: building_switch = joinPath("resources","buttons","buildingSwitch.png") class _Pos: + choiceFriendTPPos = None acceptPos = None fightPos = None activitiesPos = None @@ -647,6 +659,9 @@ def inLocationGetItems(self): return self.inLocation(self.ScreenLocs.getItem, se def inLocationEnoughSmallCrystal(self): return self.inLocation(self.ScreenLocs.enoughSmallCrytal, self.ScreenCut.cut3x7(0, 6)) @property def inLocationWhateverTradingPost(self): return self.inLocation(self.ScreenLocs.whateverTradingPost, self.ScreenCut.cut7x2(0, 1)) + @property + def inLocationChoiceTradingPost(self): return self.inLocation(self.ScreenLocs.choiceFriendTP, self.ScreenCut.cut3x3(0, 0)) + def inLocationWhateverIllusionLevelsFget(self): return self.inLocation(self.ScreenLocs.inIllusions, self.ScreenCut.cut4x3(0, 2)) @property def inLocationWhateverIllusionLevels(self): return self.inLocationWhateverIllusionLevelsFget() @@ -724,12 +739,21 @@ def clickActivitiesButton(self): def clickIllusionsButton(self): return self._clickAndMsg(self.Buttons.illusions_button, "前往【碎星虚影】", "前往【碎星虚影】失败", wait = 1, cutPoints = self.ScreenCut.cut1x2(0, 1)) - def clickGeLiKeillusion(self): + def clickGeLiKeIllusion(self): return self._clickAndMsg(self.Buttons.GeLiKe_button, "前往【戈里克虚影】", "前往【戈里克虚影】失败", wait = 1, cutPoints = self.ScreenCut.cut1x2(0, 1)) + def clickNiKeLuoIllsuon(self): + return self._clickAndMsg(self.Buttons.NiKeLuo_button, "前往【尼克罗虚影】", "前往【尼克罗虚影】失败", wait = 1, cutPoints = self.ScreenCut.cut2x1(1, 0)) + def clickIllusionZhouSi(self): return self._clickAndMsg(self.Buttons.ZhouSi_button, wait = 1, cutPoints = self.ScreenCut.cut3x1(1, 0)) + def clickIllusionARuiSi(self): + return self._clickAndMsg(self.Buttons.ARuiSi_button, wait = 1, cutPoints = self.ScreenCut.cut3x1(1, 0)) + + def clickIllusionFuLiYaDuo(self): + return self._clickAndMsg(self.Buttons.FuLiYaDuo_button, wait = 1 ,cutPoints = self.ScreenCut.cut3x1(1, 0)) + def clickStartFight(self): if loc := self._clickAndMsg(self.Buttons.startFight_button, "准备战斗", "准备战斗异常", wait = 1, cutPoints = self.ScreenCut.cut3x4(2, 3)): if self.needSureEnterFight: self.makeSureEnter(2) @@ -741,7 +765,7 @@ def clickHelpFight(self, index:int = None): def clickCloseUseThisTeam(self, index:int = None): return self._clickAndMsg(self.Buttons.useTeam_button, index = index, wait = 0.1, cutPoints = self.ScreenCut.cut4x1(3, 0)) - def clickStartToAct(self, wait, log = True): + def clickStartToAct(self, wait = 0, log = True): if log: return self._waitClickAndMsg(self.Buttons.startToAct_button, self.inLocationWhateverIllusionLevelsFget, "开始战斗", "开始战斗异常", wait = wait, cutPoints = self.ScreenCut.cut3x4(2, 3)) else: @@ -753,6 +777,9 @@ def clickSkipAnimation(self, log = False): def clickReadyTeamPlane(self): return self._clickAndMsg(self.Buttons.plane_button, wait = 0.7, log = False, cutPoints = self.ScreenCut.cut3x7(1, 6)) + def clickGetItems(self, wait = 0.3, log = False): + return self._clickAndMsg(self.ScreenLocs.getItem, wait = wait, log = log, cutPoints = self.ScreenCut.cut3x2(1, 0), per = 0.8) + def getQuarryTime(self) -> int: """获取矿场结算时间""" self.takeOre() @@ -824,14 +851,30 @@ def gotoGeLiKeIllusion(self): return else: self.gotoIllusions() - self.clickGeLiKeillusion() + self.clickGeLiKeIllusion() self.gotoGeLiKeIllusion() + def gotoNiKeLuoIllusion(self): + if self.inLocationWhateverIllusion: + return + else: + self.gotoIllusions() + self.click + def gotoIllusionZhouSi(self): self.gotoGeLiKeIllusion() self.swipeUPIllusionList() self.clickIllusionZhouSi() + def gotoIllusionARuiSi(self): + self.gotoGeLiKeIllusion() + self.clickIllusionARuiSi() + + def gotoIllusionFuLiYaDuo(self): + self.gotoNiKeLuoIllusion() + self.swipeUPIllusionList() + self.clickIllusionFuLiYaDuo() + def playIllusionZhouSi(self): if loc := self.findImageCenterLocation(self.ScreenLocs.ZhouSi_a_1, cutPoints = self.ScreenCut.cut2x1(1, 0), per = 0.95): self.click(*loc, wait = 3) @@ -851,6 +894,16 @@ def playIllusionZhouSi(self): self._clickAndMsg(self.ScreenLocs.ZhouSiBoss_b, wait = 3, cutPoints = self.ScreenCut.cut1x2(0, 0), per = 0.8) self.autoPlayLevels() + def playIllusionARuiSi(self): + self._clickAndMsg(self.ScreenLocs.ARuiSi_1, wait = 3, log = False) + self._clickAndMsg(self.ScreenLocs.ARuiSi_2, wait = 3, log = False) + self._clickAndMsg(self.ScreenLocs.ARuiSi_3, wait = 3, log = False) + self.autoPlayLevels() + self._clickAndMsg(self.ScreenLocs.ARuiSi_4, wait = 3, log = False) + self.autoPlayLevels() + self.click(self.width//2, self.height//4, 3) + self.autoPlayLevels() + def autoPlayLevels(self): while not self.inLocationONfight: self.clickSkipAnimation() @@ -910,6 +963,21 @@ def gotoTradingPost(self): self.gotoTradingPost() sleep(1) + def gotoChoiceFriendTradingPost(self): + if self.inLocationChoiceTradingPost: + return + else: + if not self.inLocationWhateverTradingPost: + self.gotoTradingPost() + if loc := self.Pos.choiceFriendTPPos: + self.click(*loc) + else: + if loc := self._clickAndMsg(self.Buttons.choiceFriendTP_button, cutPoints = self.ScreenCut.cut7x2(0, 1)): + self.Pos.choiceFriendTPPos = loc + else: + self.gotoChoiceFriendTradingPost() + sleep(0.3) + def addAndCraft(self, num:int): loc = self.findImageCenterLocation(self.Buttons.add_button, cutPoints = self.ScreenCut.cut3x3(2, 1)) for i in range(num - 1): @@ -926,9 +994,10 @@ def checkAndSpendOrders(self): def __checkOrders(self, cutPoints = None): self.log.info("正在检索【订单】") + grayScreenshot = self.grayScreenshot() for img,des,craft in self.getUserOrderPaths(): # if self._clickAndMsg(img, wait = 0.3, log = False, per = 0.95): - if locality := self.findImageCenterLocation(img, cutPoints, per = 0.95): + if locality := self.findImageCenterLocation(img, cutPoints, per = 0.95, grayScreenshot = grayScreenshot): self.log.info(f"发现订单【{des}】") # if self.findImageCenterLocation(self.ScreenLocs.notEnough, self.ScreenCut.cut3x3(1, 1)): templete = cv2.imread(img, cv2.IMREAD_GRAYSCALE) @@ -1034,7 +1103,8 @@ def quitLevels(self): def makeSure2(self, wait = 1): self.makeSure(wait) - self.click(self.width//2, self.height//1.2, wait = 0.3) + # self.click(self.width//2, self.height//2, wait = 0.3) + self.clickGetItems() def craftSure(self): if self.Pos.craftPos: @@ -1053,6 +1123,38 @@ def tellMeSubmitOrders(self): self.log.info("无满足条件订单提交") def gotoFriendOrdersAndSpend(self): + # self.useFriendListCheckOrderAndSpend() + self.useChoiceFriendCheckOrderAndSpend() + self.tellMeSubmitOrders() + + def useChoiceFriendCheckOrderAndSpend(self): + """使用订单库选择好友进入订单库进行检测交付""" + index = 0 + while True: + self.gotoChoiceFriendTradingPost() + grayScreenshot = self.grayScreenshot() + visits = self.findImageCenterLocations(self.Buttons.visit_button, cutPoints = self.ScreenCut.cut1x2(0, 1), grayScreenshot = grayScreenshot) + visiting = self.findImageCenterLocation(self.ScreenLocs.visiting, cutPoints = self.ScreenCut.cut1x2(0, 1), grayScreenshot = grayScreenshot) + if not visits: + break + if visiting: + visits = [(x, y) for x, y in visits if x > visiting[0]] + if not visits: + break + else: + self.log.debug(visits) + for loc in visits: + index += 1 + self.click(*loc, wait = 1.5) + self.log.info(f"进入【好友交易所】{index}") + self.checkAndSpendOrders() + self.gotoChoiceFriendTradingPost() + self.swipeLeftScreenCenter() + self.gotoHome() + self.gotoHome() + + def useFriendListCheckOrderAndSpend(self): + """使用好友列表进入订单库进行检测交付,稳定性较差,只是固定次数进入好友订单库进行检测,不建议使用""" if self.inLocation(self.ScreenLocs.friendTradingPost, self.ScreenCut.cut7x2(0, 1)): #check orders self.checkAndSpendOrders() @@ -1077,7 +1179,6 @@ def gotoFriendOrdersAndSpend(self): else: break self.gotoHome() - self.tellMeSubmitOrders() def back(self, wait:int = 1): if self.Pos.backPos: @@ -1181,8 +1282,8 @@ def findImageLeftUPLocations(self, button_path:str, cutPoints = None) -> list[tu else: return None - def findImageCenterLocation(self, button_path:str, cutPoints = None, per = 0.9) -> tuple[int, int] | None: - locations = self.findImageCenterLocations(button_path, cutPoints, per) + def findImageCenterLocation(self, button_path:str, cutPoints = None, per = 0.9, grayScreenshot = None) -> tuple[int, int] | None: + locations = self.findImageCenterLocations(button_path, cutPoints, per, grayScreenshot) if locations: return locations[0] else: @@ -1198,14 +1299,19 @@ def _(z:tuple): else: return None - def findImageCenterLocations(self, button_path:str, cutPoints:tuple[tuple[int, int]] = None, per:float = 0.9) -> list[tuple[int, int]] | None: + def findImageCenterLocations(self, button_path:str, cutPoints:tuple[tuple[int, int]] = None, per:float = 0.9, grayScreenshot = None) -> list[tuple[int, int]] | None: if cutPoints: x0, y0 = cutPoints[0] else: x0, y0 = 0, 0 - screenshot_gray = self.grayScreenshot(cutPoints) - # cv2.imshow("1", screenshot_gray) - # cv2.waitKey() + if grayScreenshot is None: + screenshot_gray = self.grayScreenshot(cutPoints) + else: + if cutPoints: + (x0, y0), (x1, y1) = cutPoints + screenshot_gray = grayScreenshot[y0:y1, x0:x1] + else: + screenshot_gray = grayScreenshot template_gray = cv2.imread(button_path, cv2.IMREAD_GRAYSCALE) matcher = cv2.matchTemplate(screenshot_gray, template_gray, cv2.TM_CCOEFF_NORMED) locations = np.where(matcher > per) @@ -1236,8 +1342,7 @@ def accept(self): def swipe(self, x1:int, y1:int, x2:int, y2:int, duration:int = 200, wait:int = 0): subprocess.run([self.adb_path, "-s", self.device, "shell", "input", "swipe", str(x1), str(y1), str(x2), str(y2), str(duration)], startupinfo = self.startupinfo) - if wait: - sleep(wait) + sleep(wait) def dragAndDrop(self, x1:int, y1:int, x2:int, y2:int, duration:int = 200, wait:int = 0): subprocess.run([self.adb_path, "-s", self.device, "shell", "input", "draganddrop", str(x1), str(y1), str(x2), str(y2), str(duration)], startupinfo = self.startupinfo) @@ -1247,6 +1352,9 @@ def dragAndDrop(self, x1:int, y1:int, x2:int, y2:int, duration:int = 200, wait:i def swipeUPScreenCenter(self, wait = 1.5): self.swipe(self.width//2, self.height//1.4, self.width//2, self.height//2, 200, wait) + def swipeLeftScreenCenter(self, wait = 1.5): + self.swipe(self.width//1.6, self.height//2, self.width//2, self.height//2, 200, wait) + def swipeUPIllusionList(self): if loc := self.findImageCenterLocations(self.ScreenLocs.GeLiKeIllusionSwipe, cutPoints = self.ScreenCut.cut3x1(1, 0), per = 0.8): x, y = loc[-1] @@ -1321,7 +1429,8 @@ def run(self) -> None: self.log.error(f"捕获到错误抛出 {e}") def __debug(self): - self.adb.autoPlayLevels() + self.adb.gotoChoiceFriendTradingPost() + self.adb.swipeLeftScreenCenter() ... def setADB(self, adb): @@ -1348,8 +1457,8 @@ def spendOrder(self): self.adb.gotoTradingPost() #check orders self.adb.checkAndSpendOrders() - self.adb.gotoFriend() self.adb.gotoFriendOrdersAndSpend() + self.log.info("【交付订单】任务结束") @check def switchWork(self): @@ -1398,7 +1507,7 @@ def award(self): self.log.info("当前无好友 或 今日好友助战已超过50次 已停止任务") break self.adb.back(0.5) - self.adb.clickStartToAct() + self.adb.clickStartToAct(log = False) self.adb.quitLevels() self.log.info(f"助战 {i+1}次") self.adb.gotoHome() @@ -1422,7 +1531,14 @@ def small_crystal(self): match self.config.illusion.level.index: case 0: #阿瑞斯 - self.log.info("哥,功能还没写呢,别用") + adb.gotoGeLiKeIllusion() + while not adb.inLocationEnoughSmallCrystal: + adb.gotoIllusionARuiSi() + adb.clickStartFight() + adb.clickCloseUseThisTeam(0 if self.config.illusion.teamNum else 1) + adb.clickStartToAct(0, False) + adb.playIllusionARuiSi() + self.log.info("微晶已满【虚影微晶】任务结束") case 1: #宙斯 adb.gotoGeLiKeIllusion() @@ -1433,10 +1549,6 @@ def small_crystal(self): adb.clickStartToAct(0, False) adb.playIllusionZhouSi() self.log.info("微晶已满【虚影微晶】任务结束") - case 2: - #弗利亚多 - self.log.info("哥,功能还没写呢,别用") - ... if __name__ == "__main__": app = QApplication(sys.argv) diff --git a/resources/buttons/ARuiSi.png b/resources/buttons/ARuiSi.png new file mode 100644 index 0000000..7d3744a Binary files /dev/null and b/resources/buttons/ARuiSi.png differ diff --git a/resources/buttons/FuLiYaDuo.png b/resources/buttons/FuLiYaDuo.png new file mode 100644 index 0000000..48f5a8f Binary files /dev/null and b/resources/buttons/FuLiYaDuo.png differ diff --git a/resources/buttons/NiKeLuo.png b/resources/buttons/NiKeLuo.png new file mode 100644 index 0000000..ef67bad Binary files /dev/null and b/resources/buttons/NiKeLuo.png differ diff --git a/resources/buttons/ZhouSi.png b/resources/buttons/ZhouSi.png new file mode 100644 index 0000000..4605520 Binary files /dev/null and b/resources/buttons/ZhouSi.png differ diff --git a/resources/buttons/fightAuto.png b/resources/buttons/fightAuto.png new file mode 100644 index 0000000..35603e9 Binary files /dev/null and b/resources/buttons/fightAuto.png differ diff --git a/resources/buttons/skipAnimation.png b/resources/buttons/skipAnimation.png new file mode 100644 index 0000000..95c12c0 Binary files /dev/null and b/resources/buttons/skipAnimation.png differ diff --git a/resources/buttons/visit.png b/resources/buttons/visit.png new file mode 100644 index 0000000..f12e992 Binary files /dev/null and b/resources/buttons/visit.png differ diff --git a/resources/locations/ARuiSi_1.png b/resources/locations/ARuiSi_1.png new file mode 100644 index 0000000..60ab638 Binary files /dev/null and b/resources/locations/ARuiSi_1.png differ diff --git a/resources/locations/ARuiSi_2.png b/resources/locations/ARuiSi_2.png new file mode 100644 index 0000000..4d582a5 Binary files /dev/null and b/resources/locations/ARuiSi_2.png differ diff --git a/resources/locations/ARuiSi_3.png b/resources/locations/ARuiSi_3.png new file mode 100644 index 0000000..5b2aefa Binary files /dev/null and b/resources/locations/ARuiSi_3.png differ diff --git a/resources/locations/ARuiSi_4.png b/resources/locations/ARuiSi_4.png new file mode 100644 index 0000000..50b29d2 Binary files /dev/null and b/resources/locations/ARuiSi_4.png differ diff --git a/resources/locations/GeLiKeIllusionSwipe.png b/resources/locations/GeLiKeIllusionSwipe.png new file mode 100644 index 0000000..2a9cf67 Binary files /dev/null and b/resources/locations/GeLiKeIllusionSwipe.png differ diff --git a/resources/locations/ZhouSiBoss_a.png b/resources/locations/ZhouSiBoss_a.png new file mode 100644 index 0000000..5a16989 Binary files /dev/null and b/resources/locations/ZhouSiBoss_a.png differ diff --git a/resources/locations/ZhouSiBoss_b.png b/resources/locations/ZhouSiBoss_b.png new file mode 100644 index 0000000..235e858 Binary files /dev/null and b/resources/locations/ZhouSiBoss_b.png differ diff --git a/resources/locations/ZhouSiDun.png b/resources/locations/ZhouSiDun.png new file mode 100644 index 0000000..914f502 Binary files /dev/null and b/resources/locations/ZhouSiDun.png differ diff --git a/resources/locations/ZhouSi_a_1.png b/resources/locations/ZhouSi_a_1.png new file mode 100644 index 0000000..5d354cc Binary files /dev/null and b/resources/locations/ZhouSi_a_1.png differ diff --git a/resources/locations/ZhouSi_a_3.png b/resources/locations/ZhouSi_a_3.png new file mode 100644 index 0000000..6502613 Binary files /dev/null and b/resources/locations/ZhouSi_a_3.png differ diff --git a/resources/locations/ZhouSi_b_1.png b/resources/locations/ZhouSi_b_1.png new file mode 100644 index 0000000..7359e1d Binary files /dev/null and b/resources/locations/ZhouSi_b_1.png differ diff --git a/resources/locations/ZhouSi_b_2.png b/resources/locations/ZhouSi_b_2.png new file mode 100644 index 0000000..b0a3bcb Binary files /dev/null and b/resources/locations/ZhouSi_b_2.png differ diff --git a/resources/locations/ZhouSi_b_3.png b/resources/locations/ZhouSi_b_3.png new file mode 100644 index 0000000..a201b34 Binary files /dev/null and b/resources/locations/ZhouSi_b_3.png differ diff --git a/resources/locations/choiceFriendTP.png b/resources/locations/choiceFriendTP.png new file mode 100644 index 0000000..23b4bc7 Binary files /dev/null and b/resources/locations/choiceFriendTP.png differ diff --git a/resources/locations/enoughSmallCrytal.png b/resources/locations/enoughSmallCrytal.png new file mode 100644 index 0000000..38cf0d9 Binary files /dev/null and b/resources/locations/enoughSmallCrytal.png differ diff --git a/resources/locations/fightWin.png b/resources/locations/fightWin.png new file mode 100644 index 0000000..aeb69e3 Binary files /dev/null and b/resources/locations/fightWin.png differ diff --git a/resources/locations/inIllusions.png b/resources/locations/inIllusions.png new file mode 100644 index 0000000..ce04c22 Binary files /dev/null and b/resources/locations/inIllusions.png differ diff --git a/resources/locations/onFight.png b/resources/locations/onFight.png new file mode 100644 index 0000000..948063d Binary files /dev/null and b/resources/locations/onFight.png differ diff --git a/resources/locations/visiting.png b/resources/locations/visiting.png new file mode 100644 index 0000000..c9ade4f Binary files /dev/null and b/resources/locations/visiting.png differ diff --git a/resources/orders/build162.png b/resources/orders/build162.png index a077bd0..8772982 100644 Binary files a/resources/orders/build162.png and b/resources/orders/build162.png differ diff --git a/resources/orders/exp1012.png b/resources/orders/exp1012.png index b577f3a..8f13202 100644 Binary files a/resources/orders/exp1012.png and b/resources/orders/exp1012.png differ