Compare commits
58 Commits
84f78230d2
..
v0.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
15bf77da3d
|
|||
|
4ce8073096
|
|||
|
aa872c890d
|
|||
|
25e0559171
|
|||
|
df6da1f77a
|
|||
|
fc49adc859
|
|||
|
4582406ef2
|
|||
|
256dc96598
|
|||
|
04744d6f8c
|
|||
|
8fe578615d
|
|||
|
5e9615542c
|
|||
|
36c5f60eb3
|
|||
|
91650cc584
|
|||
|
67881568dd
|
|||
|
f8404edd9e
|
|||
|
ff3ec041d2
|
|||
|
99074a1575
|
|||
|
7862fa6cb8
|
|||
|
baac90ecf0
|
|||
|
53ec298fed
|
|||
|
b4f18f78ff
|
|||
|
eb9af42f38
|
|||
|
c29d972c6c
|
|||
|
92b34d4760
|
|||
|
04853b6c31
|
|||
|
9604e8962a
|
|||
|
03380b2d71
|
|||
|
c27bd74050
|
|||
|
c3e9945b15
|
|||
|
1dd100ac04
|
|||
|
77dca70af1
|
|||
|
b8ecd0c9d6
|
|||
|
ceb24283f3
|
|||
|
d0c591af3a
|
|||
|
589b0b08ec
|
|||
|
299bd6c687
|
|||
|
e61afaf43b
|
|||
|
30e8c8b21b
|
|||
|
f7b165f589
|
|||
|
08959e5f1c
|
|||
|
e929a1efb1
|
|||
|
8e29d7d2c0
|
|||
|
d3a1a77d6a
|
|||
|
930c741de6
|
|||
|
2c19afdf26
|
|||
|
bbf3bf7c36
|
|||
|
5e4abc147e
|
|||
|
eb8048ccd6
|
|||
|
8bec814b8d
|
|||
|
5fb2810bdc
|
|||
|
8ea95dc340
|
|||
|
9d3e581321
|
|||
|
d47e463365
|
|||
|
0a697e9398
|
|||
|
143f519adb
|
|||
|
af71e797db
|
|||
|
6ef18ed8c0
|
|||
|
8781e7830c
|
@@ -15,12 +15,19 @@ The script is still under active development. The following features have been i
|
||||
- [x] **Cafe** Claim rewards / Interact / Second floor
|
||||
- [x] **Club** Claim AP
|
||||
- [x] **Mailbox** Claim rewards
|
||||
- [x] **Bounty** Auto sweep
|
||||
- [x] **Scrimmage** Auto sweep
|
||||
- [x] **Tactical Challenge** Claim rewards / Auto battle
|
||||
|
||||
Supported servers:
|
||||
|
||||
- [x] JP
|
||||
- [x] OVERSEA - Global
|
||||
- [x] OVERSEA
|
||||
|
||||
Supported in-game languages:
|
||||
|
||||
- [x] Japanese
|
||||
- [x] English
|
||||
|
||||
## Relative projects
|
||||
|
||||
|
||||
@@ -15,12 +15,28 @@
|
||||
- [x] **咖啡厅** 领取奖励 / 互动 / 第二咖啡厅
|
||||
- [x] **公会** 领取体力
|
||||
- [x] **邮箱** 领取奖励
|
||||
- [x] **悬赏通缉** 自动扫荡
|
||||
- [x] **学院交流会** 自动扫荡
|
||||
- [x] **战术对抗赛** 领取奖励 / 自动战斗
|
||||
|
||||
目前支持的服务器:
|
||||
|
||||
- [x] 日服
|
||||
- [x] 国际服 - 全球
|
||||
- [x] 国际服
|
||||
|
||||
目前支持的游戏内语言:
|
||||
|
||||
- [x] 日语
|
||||
- [x] 英语
|
||||
|
||||
## 已知问题
|
||||
|
||||
若愿意提供其他语言或国服支持,请开 PR 或 Issue。
|
||||
|
||||
- **国际服登录的全屏通知**:未实现自动关闭,正在研究中
|
||||
- **大小月卡**:未实现自动领取,~~因为没买过~~,可能不影响使用。愿意提供图片的请开 Issue
|
||||
- **月卡的额外悬赏券和学院交流券**:不太清楚月卡领取额外券的机制,~~因为没买过~~,可能影响相关任务使用券和体力的计算。愿意提供相关信息的请开
|
||||
Issue
|
||||
|
||||
## 相关项目
|
||||
|
||||
|
||||
@@ -34,6 +34,14 @@ class ArisuAutoSweeper(AzurLaneAutoScript):
|
||||
from tasks.mail.mail import Mail
|
||||
Mail(config=self.config, device=self.device).run()
|
||||
|
||||
def bounty(self):
|
||||
from tasks.bounty.bounty import Bounty
|
||||
Bounty(config=self.config, device=self.device).run()
|
||||
|
||||
def scrimmage(self):
|
||||
from tasks.scrimmage.scrimmage import Scrimmage
|
||||
Scrimmage(config=self.config, device=self.device).run()
|
||||
|
||||
def tactical_challenge(self):
|
||||
from tasks.tactical_challenge.tactical_challenge import TacticalChallenge
|
||||
TacticalChallenge(config=self.config, device=self.device).run()
|
||||
|
||||
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
@@ -285,7 +285,7 @@ pre.rich-traceback-code {
|
||||
*[style*="--header-icon--"] {
|
||||
margin: .25rem auto .25rem;
|
||||
border-radius: 1.5rem;
|
||||
height: 3.5em;
|
||||
height: 3em;
|
||||
}
|
||||
|
||||
*[style*="--header-text--"] {
|
||||
|
||||
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 905 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 905 KiB After Width: | Height: | Size: 905 KiB |
|
After Width: | Height: | Size: 1016 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@@ -128,8 +128,8 @@ Deploy:
|
||||
WebuiHost: 0.0.0.0
|
||||
# --port. Port to listen
|
||||
# You will be able to access webui via `http://{host}:{port}`
|
||||
# [In most cases] Default to 22367
|
||||
WebuiPort: 22367
|
||||
# [In most cases] Default to 23467
|
||||
WebuiPort: 23467
|
||||
# Language to use on web ui
|
||||
# 'zh-CN' for Chinese simplified
|
||||
# 'en-US' for English
|
||||
|
||||
@@ -128,8 +128,8 @@ Deploy:
|
||||
WebuiHost: 0.0.0.0
|
||||
# --port. Port to listen
|
||||
# You will be able to access webui via `http://{host}:{port}`
|
||||
# [In most cases] Default to 22367
|
||||
WebuiPort: 22367
|
||||
# [In most cases] Default to 23467
|
||||
WebuiPort: 23467
|
||||
# Language to use on web ui
|
||||
# 'zh-CN' for Chinese simplified
|
||||
# 'en-US' for English
|
||||
|
||||
@@ -63,6 +63,52 @@
|
||||
"ServerUpdate": "04:00"
|
||||
}
|
||||
},
|
||||
"Bounty": {
|
||||
"Scheduler": {
|
||||
"Enable": true,
|
||||
"NextRun": "2020-01-01 00:00:00",
|
||||
"Command": "Bounty",
|
||||
"ServerUpdate": "04:00"
|
||||
},
|
||||
"Bounty": {
|
||||
"OnError": "skip"
|
||||
},
|
||||
"Highway": {
|
||||
"Stage": 1,
|
||||
"Count": 2
|
||||
},
|
||||
"DesertRailroad": {
|
||||
"Stage": 1,
|
||||
"Count": 2
|
||||
},
|
||||
"Schoolhouse": {
|
||||
"Stage": 1,
|
||||
"Count": 2
|
||||
}
|
||||
},
|
||||
"Scrimmage": {
|
||||
"Scheduler": {
|
||||
"Enable": true,
|
||||
"NextRun": "2020-01-01 00:00:00",
|
||||
"Command": "Scrimmage",
|
||||
"ServerUpdate": "04:00"
|
||||
},
|
||||
"Scrimmage": {
|
||||
"OnError": "skip"
|
||||
},
|
||||
"Trinity": {
|
||||
"Stage": 1,
|
||||
"Count": 2
|
||||
},
|
||||
"Gehenna": {
|
||||
"Stage": 1,
|
||||
"Count": 2
|
||||
},
|
||||
"Millennium": {
|
||||
"Stage": 1,
|
||||
"Count": 2
|
||||
}
|
||||
},
|
||||
"TacticalChallenge": {
|
||||
"Scheduler": {
|
||||
"Enable": true,
|
||||
@@ -84,7 +130,10 @@
|
||||
"ItemStorage": {
|
||||
"AP": {},
|
||||
"Credit": {},
|
||||
"Pyroxene": {}
|
||||
"Pyroxene": {},
|
||||
"BountyTicket": {},
|
||||
"ScrimmageTicket": {},
|
||||
"TacticalChallengeTicket": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,7 @@ class ConfigModel:
|
||||
|
||||
# Webui
|
||||
WebuiHost: str = "0.0.0.0"
|
||||
WebuiPort: int = 22367
|
||||
WebuiPort: int = 23467
|
||||
Language: str = "en-US"
|
||||
Theme: str = "default"
|
||||
DpiScaling: bool = True
|
||||
@@ -77,6 +77,12 @@ class DeployConfig(ConfigModel):
|
||||
self.config_template = {}
|
||||
self.read()
|
||||
|
||||
self.set_repo()
|
||||
|
||||
self.write()
|
||||
self.show_config()
|
||||
|
||||
def set_repo(self):
|
||||
# Bypass webui.config.DeployConfig.__setattr__()
|
||||
# Don't write these into deploy.yaml
|
||||
if self.Repository == 'cn':
|
||||
@@ -84,9 +90,6 @@ class DeployConfig(ConfigModel):
|
||||
if self.Repository == 'global':
|
||||
super().__setattr__('Repository', 'https://github.com/TheFunny/ArisuAutoSweeper')
|
||||
|
||||
self.write()
|
||||
self.show_config()
|
||||
|
||||
def show_config(self):
|
||||
logger.hr("Show deploy config", 1)
|
||||
for k, v in self.config.items():
|
||||
|
||||
@@ -128,8 +128,8 @@ Deploy:
|
||||
WebuiHost: 0.0.0.0
|
||||
# --port. Port to listen
|
||||
# You will be able to access webui via `http://{host}:{port}`
|
||||
# [In most cases] Default to 22367
|
||||
WebuiPort: 22367
|
||||
# [In most cases] Default to 23467
|
||||
WebuiPort: 23467
|
||||
# Language to use on web ui
|
||||
# 'zh-CN' for Chinese simplified
|
||||
# 'en-US' for English
|
||||
|
||||
@@ -179,20 +179,29 @@ def iter_assets():
|
||||
if image.attr != '':
|
||||
row = deep_get(data, keys=[image.module, image.assets, image.server, image.frame])
|
||||
row.load_image(image)
|
||||
# Apply `search` of the first frame to all
|
||||
# Set `search`
|
||||
for path, frames in deep_iter(data, depth=3):
|
||||
print(path, frames)
|
||||
# If `search` attribute is set in the first frame, apply to all
|
||||
first = frames[1]
|
||||
search = first.search if first.search else DataAssets.area_to_search(first.area)
|
||||
for frame in frames.values():
|
||||
frame.search = search
|
||||
if first.search:
|
||||
for frame in frames.values():
|
||||
frame.search = first.search
|
||||
else:
|
||||
for frame in frames.values():
|
||||
if frame.search:
|
||||
# Follow frame specific `search`
|
||||
pass
|
||||
else:
|
||||
# Generate `search` from `area`
|
||||
frame.search = DataAssets.area_to_search(frame.area)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
def generate_code():
|
||||
all = iter_assets()
|
||||
for module, module_data in all.items():
|
||||
all_assets = iter_assets()
|
||||
for module, module_data in all_assets.items():
|
||||
path = os.path.join(AzurLaneConfig.ASSETS_MODULE, module.split('/', maxsplit=1)[0])
|
||||
output = os.path.join(path, 'assets.py')
|
||||
if os.path.exists(output):
|
||||
@@ -204,7 +213,7 @@ def generate_code():
|
||||
continue
|
||||
os.remove(prev)
|
||||
|
||||
for module, module_data in all.items():
|
||||
for module, module_data in all_assets.items():
|
||||
path = os.path.join(AzurLaneConfig.ASSETS_MODULE, module.split('/', maxsplit=1)[0])
|
||||
output = os.path.join(path, 'assets')
|
||||
gen = CodeGenerator()
|
||||
|
||||
@@ -49,7 +49,7 @@ def func(ev: threading.Event):
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
host = args.host or State.deploy_config.WebuiHost or "0.0.0.0"
|
||||
port = args.port or int(State.deploy_config.WebuiPort) or 22367
|
||||
port = args.port or int(State.deploy_config.WebuiPort) or 23467
|
||||
State.electron = args.electron
|
||||
|
||||
logger.hr("Launcher config")
|
||||
|
||||