1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-05-07 08:09:09 +08:00

41 Commits

Author SHA1 Message Date
881ae62c85 Upd: [EN] asset EVENT_20201126_ENTRANCE_TEMP 2026-04-24 21:41:02 +08:00
LmeSzinc
2c938c9dbf Merge pull request #5625 from guoh064/event_rerun
Add: event entrance for dual event 20201126/20260417
2026-04-24 18:53:06 +08:00
LmeSzinc
32ad98a79f Upd: [EN] EVENT_LIST_CHECK (#5623) 2026-04-24 18:48:40 +08:00
guoh064
cb061d9a5e Upd: [JP] asset MISSION_UNFINISH (#5626) 2026-04-24 18:33:11 +08:00
guoh064
f6b44d6582 Add: event entrance for dual event 20201126/20260417 2026-04-24 14:52:43 +08:00
guoh064
89f69079f1 Add: distangle Gemsfarming.Campaign.Event from Event.Campaign.Event for multi event 2026-04-23 15:59:17 +08:00
guoh064
c75dd9366b Add: auto change state of options (default select and single means state) 2026-04-23 14:57:03 +08:00
LmeSzinc
6562ce0522 Fix: always add items, even if last item list contains unknown items 2026-04-22 00:01:34 +08:00
LmeSzinc
4b83292c9e Upd: opsi shop asset templates (#5617) 2026-04-21 23:56:47 +08:00
LmeSzinc
378d18a9a3 Fix: spare domain of git-over-cdn 2026-04-21 23:41:44 +08:00
LmeSzinc
5cc986257f Fix: Random background hits EXP_INFO_B in event_20220915_cn chapter A 2026-04-21 23:22:02 +08:00
LmeSzinc
d88b7f397a Fix: [JP] Remove wrong "/" in meta counter (#5608) 2026-04-18 03:38:26 +08:00
LmeSzinc
53d8ff8099 Upd: Shop cost icons 2026-04-18 03:28:45 +08:00
LmeSzinc
65cea8d07c Upd: Button extract 2026-04-18 03:28:11 +08:00
LmeSzinc
25463b2dc1 Opt: Faster receiving if no drop record 2026-04-18 02:55:27 +08:00
LmeSzinc
45faa7c46d Add: Chapter SP 2026-04-18 02:54:46 +08:00
LmeSzinc
8ce450a42b Add: MAP_CHAPTER_SWITCH_20241219_SPEX 2026-04-18 00:57:22 +08:00
LmeSzinc
31efe2a054 Add: Event entrance of Vacation Lane – Beachside Brilliance (event_20260417_cn) 2026-04-18 00:18:14 +08:00
LmeSzinc
d1e3653c4a Fix: [CN] Skip user agreement 2026-04-18 00:02:26 +08:00
LmeSzinc
ba568b50c0 Upd: [TW] Event entrance of Violet Tempest Blooming Lycoris (fixed #5606) 2026-04-17 23:44:24 +08:00
YQY
432c719f51 Fix: Event 20220915 campaign (#5607)
Co-authored-by: YQY <91514918+5A8G0001@users.noreply.github.com>
2026-04-17 23:35:57 +08:00
LmeSzinc
a3c871f963 Bug fix (#5596)
* Merge pull request #5595 from Heipen/ui_update

Upd: Battle UI ElvenVine

* Upd: [TW] Event The Vagabond’s Recruitment Plan (event_20260326_cn)

---------

Co-authored-by: heipen <126669219+Heipen@users.noreply.github.com>
2026-04-03 22:50:39 +08:00
LmeSzinc
e9a09a368e Upd: [TW] Event The Vagabond’s Recruitment Plan (event_20260326_cn) 2026-04-03 22:49:31 +08:00
heipen
5cf249c8e7 Merge pull request #5595 from Heipen/ui_update
Upd: Battle UI ElvenVine
2026-04-03 22:44:37 +08:00
LmeSzinc
594a652819 Bug fix (#5591) 2026-04-01 22:57:52 +08:00
iceynano
37bf25c4b0 Fix Event Reaction (#5589)
* Add: Event Reaction

* Update widgets.py

* Update widgets.py

* Update widgets.py

* Update widgets.py

* Update widgets.py

* Fix event_trigger

* Resolve patch #5226

Removed unnecessary whitespace in set_aside and set_aside_status methods.
2026-04-01 22:52:12 +08:00
LmeSzinc
01c69f645e Fix: Conflicted interval of DOCK_CHECK after selecting ship 2026-04-01 02:02:23 +08:00
LmeSzinc
1e67ed613a Merge pull request #5587 from LmeSzinc/dev
Bug fix
2026-04-01 01:18:17 +08:00
LmeSzinc
032b2c1931 Fix: Limit match area of SHOP_REFRESH
to handle spamming bulin character at bottom-right of shop page, at April 1st
2026-04-01 01:17:12 +08:00
LmeSzinc
278edcdf12 Opt: Add favourite student default to false 2026-04-01 01:12:20 +08:00
LmeSzinc
aad22c753a Opt: Mood control default to prevent_green_face 2026-04-01 01:12:13 +08:00
LmeSzinc
433059bc8e Merge pull request #5586 from LmeSzinc/dev
Bug fix
2026-03-31 12:52:26 +08:00
LmeSzinc
9ca4b263ad Fix: Reset no searching timeout if not in map 2026-03-31 12:47:37 +08:00
LmeSzinc
8c9a39b703 Fix: Add expected=boss if only one boss spawn point 2026-03-31 12:41:07 +08:00
LmeSzinc
e8f5ad9830 Merge pull request #5585 from LmeSzinc/dev
W16
2026-03-30 15:54:28 +08:00
LmeSzinc
b993a5e8b4 Fix: W16 map data 2026-03-30 02:39:51 +08:00
LmeSzinc
33e812adb8 Merge pull request #5455 from guoh064/campaign_16_main
Add: W16 preparations
2026-03-29 19:26:04 +08:00
guoh064
e4a6a5728e Opt: campaign_16_main MAP_SWIPE_MULTIPLY 2026-03-24 01:58:48 +08:00
guoh064
d7d69e95ef Opt: campaign_16_main clear mode battle function using mob move 2026-03-23 11:32:46 +08:00
guoh064
da0e2458b7 Upd: campaign_16_main clear mode 2026-03-19 20:54:51 +08:00
guoh064
d8bba0331f Upd: [CN] asset AIR_STRIKE_* 2026-01-23 16:12:50 +08:00
491 changed files with 1910 additions and 20306 deletions

8
.github/pull.yml vendored
View File

@@ -1,8 +0,0 @@
version: "1"
rules:
- base: master
upstream: LmeSzinc:master
mergeMethod: merge
mergeUnstable: true
label: ":arrow_heading_down: pull"
conflictLabel: "merge-conflict": true

View File

@@ -1,33 +0,0 @@
name: Upstream Sync
permissions:
contents: write
on:
schedule:
- cron: "0 * * * *"
workflow_dispatch:
jobs:
sync_with_upstream:
name: Sync with Upstream
runs-on: ubuntu-latest
steps:
- name: Checkout target repo
uses: actions/checkout@v3
- name: Sync Upstream
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
with:
target_repo_token: ${{ secrets.GITHUB_TOKEN }}
upstream_sync_repo: LmeSzinc/AzurLaneAutoScript
upstream_sync_branch: master
target_sync_branch: master
test_mode: false
- name: Check for Failure
if: failure()
run: |
echo "[Error] Due to a change in the workflow file of the upstream repository, GitHub has automatically suspended the scheduled automatic update. You need to manually sync your fork."
exit 1

View File

@@ -177,3 +177,4 @@ Alas 仍在活跃开发中,我们会不定期发布未来的工作在 [Issues]
- QQ 八群:[938081688](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=3h8Gl323WkIt6yGx8Jx5Ht93puZxeA8T&authKey=xPT6kPm7W9jWO2TNzPdohJ27l1njxorwKmkDrbwwYGGA6Oni1xQSJhHsRIJ8w7GZ&noverify=0&group_code=938081688)
- QQ 一群:[1087735381](https://jq.qq.com/?_wv=1027&k=I4NSqX7g) 有开发意向请加一群入群需要提供你的Github用户名
- Bilibili 直播间https://live.bilibili.com/22216705 偶尔直播写Alas~~为了拯救AlasLme决定出道成为偶像~~

57
alas.py
View File

@@ -14,8 +14,6 @@ from module.exception import *
from module.logger import logger
from module.notify import handle_notify
RESTART_SENSITIVE_TASKS = ['OpsiObscure', 'OpsiAbyssal', 'OpsiCrossMonth']
class AzurLaneAutoScript:
stop_event: threading.Event = None
@@ -50,9 +48,6 @@ class AzurLaneAutoScript:
except RequestHumanTakeover:
logger.critical('Request human takeover')
exit(1)
except EmulatorNotRunningError:
logger.critical('EmulatorNotRunningError')
exit(1)
except Exception as e:
logger.exception(e)
exit(1)
@@ -87,20 +82,6 @@ class AzurLaneAutoScript:
self.config.task_call('Restart')
self.device.sleep(10)
return False
except EmulatorNetworkError as e:
logger.error(e)
self.save_error_log()
if self.device.is_emulator:
logger.info('Game update stuck 3 times. Checking network status on both ends.')
self.checker.check_now()
if self.checker.is_available() and not self.device.is_network_available():
logger.critical('Emulator network is disconnected despite host being online.')
logger.warning('Restarting emulator to fix internal network.')
self.device.emulator_start()
deep_set(self.failure_record, keys='Restart', value=1)
self.config.task_call('Restart')
self.device.sleep(10)
return False
except GameBugError as e:
logger.warning(e)
self.save_error_log()
@@ -115,10 +96,12 @@ class AzurLaneAutoScript:
if self.checker.is_available():
logger.critical('Game page unknown')
self.save_error_log()
logger.warning('Restart to reset Game page in 10 seconds')
self.config.task_call('Restart')
self.device.sleep(10)
return False
handle_notify(
self.config.Error_OnePushConfig,
title=f"Alas <{self.config_name}> crashed",
content=f"<{self.config_name}> GamePageUnknownError",
)
exit(1)
else:
self.checker.wait_until_available()
return False
@@ -258,10 +241,6 @@ class AzurLaneAutoScript:
from module.private_quarters.private_quarters import PrivateQuarters
PrivateQuarters(config=self.config, device=self.device).run()
def island(self):
from module.island.island import Island
Island(config=self.config, device=self.device).run()
def daily(self):
from module.daily.daily import Daily
Daily(config=self.config, device=self.device).run()
@@ -400,10 +379,6 @@ class AzurLaneAutoScript:
from module.event_hospital.hospital import Hospital
Hospital(config=self.config, device=self.device).run()
def hospital_event(self):
from module.event_hospital.hospital_event import HospitalEvent
HospitalEvent(config=self.config, device=self.device).run()
def coalition(self):
from module.coalition.coalition import Coalition
Coalition(config=self.config, device=self.device).run()
@@ -444,14 +419,6 @@ class AzurLaneAutoScript:
from module.eventstory.eventstory import EventStory
EventStory(config=self.config, device=self.device, task="EventStory").run()
def box_disassemble(self):
from module.storage.box_disassemble import StorageBox
StorageBox(config=self.config, device=self.device, task="BoxDisassemble").run()
def island_pearl(self):
from module.island.pearl_daemon import IslandPearl
IslandPearl(config=self.config, device=self.device, task="IslandPearl").run()
def azur_lane_uncensored(self):
from module.daemon.uncensored import AzurLaneUncensored
AzurLaneUncensored(config=self.config, device=self.device, task="AzurLaneUncensored").run()
@@ -574,7 +541,7 @@ class AzurLaneAutoScript:
_ = self.device
self.device.config = self.config
# Skip first restart
if task == 'Restart' and self.is_first_task:
if self.is_first_task and task == 'Restart':
logger.info('Skip task `Restart` at scheduler start')
self.config.task_delay(server_update=True)
del_cached_property(self, 'config')
@@ -593,21 +560,17 @@ class AzurLaneAutoScript:
failed = deep_get(self.failure_record, keys=task, default=0)
failed = 0 if success else failed + 1
deep_set(self.failure_record, keys=task, value=failed)
if failed >= 3 or (self.config.Error_StrictRestart and failed >= 1 and task in RESTART_SENSITIVE_TASKS):
logger.critical(f"Task `{task}` failed {failed} or more times.")
if failed >= 3:
logger.critical(f"Task `{task}` failed 3 or more times.")
logger.critical("Possible reason #1: You haven't used it correctly. "
"Please read the help text of the options.")
logger.critical("Possible reason #2: There is a problem with this task. "
"Please contact developers or try to fix it yourself.")
if self.config.Error_StrictRestart and task in RESTART_SENSITIVE_TASKS:
logger.critical("Possible reason #3: This is a restart sensitive task. "
"Please take over the game manually or turn off 'StrictRestart' option.")
logger.critical('Request human takeover')
handle_notify(
self.config.Error_OnePushConfig,
title=f"Alas <{self.config_name}> crashed",
content=f"<{self.config_name}> RequestHumanTakeover\nTask `{task}` failed {failed} or more times.",
content=f"<{self.config_name}> RequestHumanTakeover\nTask `{task}` failed 3 or more times.",
)
exit(1)

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Some files were not shown because too many files have changed in this diff Show More