From 7653a3b70581fbe10a82ef2200174dee57695574 Mon Sep 17 00:00:00 2001
From: qwerdvd <105906879+qwerdvd@users.noreply.github.com>
Date: Mon, 4 Dec 2023 12:49:55 +0800
Subject: [PATCH] ruff format
---
ArknightsUID/arknightsuid_ap/draw_ap_card.py | 5 +-
ArknightsUID/arknightsuid_ap/notice.py | 4 +-
ArknightsUID/arknightsuid_ap/utils.py | 2 +-
ArknightsUID/arknightsuid_config/__init__.py | 26 +--
.../arknightsuid_config/set_config.py | 55 +++---
ArknightsUID/arknightsuid_help/get_help.py | 8 +-
ArknightsUID/arknightsuid_mind/__init__.py | 137 ++++++++++++++
.../arknightsuid_resource/__init__.py | 16 +-
.../arknightsuid_resource/constants.py | 178 +++++-------------
.../arknightsuid_resource/memoryStore.py | 10 +-
.../draw_roleinfo_card.py | 7 +-
ArknightsUID/arknightsuid_signin/sign.py | 4 +-
ArknightsUID/arknightsuid_start/start.py | 1 +
ArknightsUID/arknightsuid_user/__init__.py | 4 +-
.../arknightsuid_user/deal_skd_cred.py | 7 +-
ArknightsUID/arknightsuid_wiki/__init__.py | 9 +-
.../arknightsuid_wiki/draw_wiki_img.py | 131 +++++--------
ArknightsUID/utils/api/skd/request.py | 70 ++++---
ArknightsUID/utils/database/models.py | 34 ++--
ArknightsUID/utils/error_reply.py | 1 +
ArknightsUID/utils/models/common.py | 7 +-
.../utils/models/gamedata/ActivityTable.py | 110 +++++------
.../utils/models/gamedata/AudioData.py | 4 +-
.../utils/models/gamedata/BattleEquipTable.py | 2 +-
.../utils/models/gamedata/BuildingData.py | 58 +++---
.../utils/models/gamedata/CampaignTable.py | 28 +--
.../utils/models/gamedata/ChapterTable.py | 2 +-
.../utils/models/gamedata/CharMetaTable.py | 6 +-
.../utils/models/gamedata/CharPatchTable.py | 10 +-
.../utils/models/gamedata/CharacterTable.py | 10 +-
.../utils/models/gamedata/CharmTable.py | 6 +-
.../utils/models/gamedata/CharwordTable.py | 4 +-
.../utils/models/gamedata/CheckinTable.py | 6 +-
.../utils/models/gamedata/ClimbTowerTable.py | 50 ++---
.../utils/models/gamedata/ClueData.py | 2 +-
.../utils/models/gamedata/CrisisTable.py | 6 +-
.../utils/models/gamedata/CrisisV2Table.py | 20 +-
.../utils/models/gamedata/DisplayMetaTable.py | 8 +-
.../models/gamedata/EnemyHandbookTable.py | 10 +-
.../utils/models/gamedata/FavorTable.py | 2 +-
.../utils/models/gamedata/GachaTable.py | 6 +-
.../utils/models/gamedata/GamedataConst.py | 6 +-
.../models/gamedata/HandbookInfoTable.py | 10 +-
.../utils/models/gamedata/HandbookTable.py | 2 +-
.../models/gamedata/HandbookTeamTable.py | 2 +-
.../utils/models/gamedata/ItemTable.py | 12 +-
.../utils/models/gamedata/MedalTable.py | 8 +-
.../utils/models/gamedata/MissionTable.py | 22 +--
.../utils/models/gamedata/OpenServerTable.py | 28 +--
.../models/gamedata/PlayerAvatarTable.py | 2 +-
.../utils/models/gamedata/RangeTable.py | 4 +-
.../utils/models/gamedata/ReplicateTable.py | 6 +-
.../utils/models/gamedata/RetroTable.py | 26 +--
.../utils/models/gamedata/RoguelikeTable.py | 28 +--
.../models/gamedata/RoguelikeTopicTable.py | 60 +++---
.../utils/models/gamedata/SandboxTable.py | 14 +-
.../utils/models/gamedata/ShopClientTable.py | 6 +-
.../utils/models/gamedata/SkillTable.py | 6 +-
.../utils/models/gamedata/SkinTable.py | 2 +-
.../utils/models/gamedata/StageTable.py | 16 +-
.../models/gamedata/StoryReviewMetaTable.py | 18 +-
.../utils/models/gamedata/StoryReviewTable.py | 8 +-
.../utils/models/gamedata/StoryTable.py | 10 +-
.../utils/models/gamedata/TechBuffTable.py | 4 +-
.../utils/models/gamedata/TipTable.py | 2 +-
.../utils/models/gamedata/TokenTable.py | 10 +-
.../utils/models/gamedata/UniequipData.py | 8 +-
.../utils/models/gamedata/UniequipTable.py | 8 +-
.../utils/models/gamedata/ZoneTable.py | 10 +-
ArknightsUID/utils/models/gamedata/common.py | 22 ++-
ArknightsUID/utils/models/skland/models.py | 12 +-
ArknightsUID/utils/resource/RESOURCE_PATH.py | 3 +-
ArknightsUID/version.py | 6 +-
README.md | 5 +-
pyproject.toml | 6 +-
75 files changed, 741 insertions(+), 717 deletions(-)
create mode 100644 ArknightsUID/arknightsuid_mind/__init__.py
diff --git a/ArknightsUID/arknightsuid_ap/draw_ap_card.py b/ArknightsUID/arknightsuid_ap/draw_ap_card.py
index 90e6d2c..456f2ec 100644
--- a/ArknightsUID/arknightsuid_ap/draw_ap_card.py
+++ b/ArknightsUID/arknightsuid_ap/draw_ap_card.py
@@ -53,9 +53,7 @@ async def get_ap_img(bot_id: str, user_id: str):
return '请先绑定一个可用CRED & UID再来查询哦~'
# 开始绘图任务
task = []
- img = Image.new(
- 'RGBA', (based_w * len(useable_uid_list), based_h), (0, 0, 0, 0)
- )
+ img = Image.new('RGBA', (based_w * len(useable_uid_list), based_h), (0, 0, 0, 0))
for uid_index, uid in enumerate(useable_uid_list):
task.append(_draw_all_ap_img(img, uid, uid_index))
await asyncio.gather(*task)
@@ -514,7 +512,6 @@ async def draw_ap_img(uid: str) -> Image.Image:
)
img.paste(blue_bar_bg1_img, (-20, 1570), blue_bar_bg1_img)
-
img_draw = ImageDraw.Draw(img)
img_draw.text(
(425, 1710),
diff --git a/ArknightsUID/arknightsuid_ap/notice.py b/ArknightsUID/arknightsuid_ap/notice.py
index a76f9bc..16c84a1 100644
--- a/ArknightsUID/arknightsuid_ap/notice.py
+++ b/ArknightsUID/arknightsuid_ap/notice.py
@@ -1,4 +1,5 @@
from typing import Dict
+
from gsuid_core.gss import gss
from gsuid_core.logger import logger
@@ -52,7 +53,8 @@ async def all_check(
if arkconfig.get_config('CrazyNotice').data:
if not await check(mode, raw_data, push_data[f'{mode}_value']):
await ArknightsPush.update_push_data(
- uid, {f'{mode}_is_push': False}
+ uid,
+ {f'{mode}_is_push': False},
)
continue
# 准备推送
diff --git a/ArknightsUID/arknightsuid_ap/utils.py b/ArknightsUID/arknightsuid_ap/utils.py
index 14b4c40..eb6773b 100644
--- a/ArknightsUID/arknightsuid_ap/utils.py
+++ b/ArknightsUID/arknightsuid_ap/utils.py
@@ -11,5 +11,5 @@ def seconds2hours_zhcn(seconds: int) -> str:
def now_ap(ap: PlayerStatusAp) -> int:
- _ap = ap.current + math.floor((datetime.now().timestamp() - ap.lastApAddTime) / 360)
+ _ap = ap.current + math.floor((datetime.now().timestamp() - ap.lastApAddTime) / 360)
return _ap if _ap <= ap.max else ap.max
diff --git a/ArknightsUID/arknightsuid_config/__init__.py b/ArknightsUID/arknightsuid_config/__init__.py
index 0b8d7b5..a349358 100644
--- a/ArknightsUID/arknightsuid_config/__init__.py
+++ b/ArknightsUID/arknightsuid_config/__init__.py
@@ -9,7 +9,7 @@ from gsuid_core.utils.error_reply import UID_HINT
from ..utils.database.models import ArknightsBind
from .set_config import set_config_func, set_push_value
-sv_self_config = SV("ark配置")
+sv_self_config = SV('ark配置')
# @sv_self_config.on_fullmatch(("ark配置", "方舟配置"))
@@ -19,46 +19,46 @@ sv_self_config = SV("ark配置")
# await bot.send(im)
-@sv_self_config.on_prefix(("ark设置")) # noqa: UP034
+@sv_self_config.on_prefix(('ark设置')) # noqa: UP034
async def send_config_ev(bot: Bot, ev: Event):
- logger.info("开始执行[设置阈值信息]")
+ logger.info('开始执行[设置阈值信息]')
uid = await ArknightsBind.get_uid_by_game(ev.user_id, bot.bot_id)
if uid is None:
return await bot.send(UID_HINT)
- func = "".join(re.findall("[\u4e00-\u9fa5]", ev.text.replace("阈值", "")))
- value = re.findall(r"\d+", ev.text)
+ func = ''.join(re.findall('[\u4e00-\u9fa5]', ev.text.replace('阈值', '')))
+ value = re.findall(r'\d+', ev.text)
value = value[0] if value else None
if value is None:
- return await bot.send("请输入正确的阈值数字...")
+ return await bot.send('请输入正确的阈值数字...')
- logger.info(f"[设置阈值信息]func: {func}, value: {value}")
+ logger.info(f'[设置阈值信息]func: {func}, value: {value}')
im = await set_push_value(ev.bot_id, func, uid, int(value))
await bot.send(im)
# 开启 自动签到 功能
-@sv_self_config.on_prefix(("ark开启", "ark关闭"))
+@sv_self_config.on_prefix(('ark开启', 'ark关闭'))
async def open_switch_func(bot: Bot, ev: Event):
user_id = ev.user_id
config_name = ev.text
- logger.info(f"[{user_id}]尝试[{ev.command[2:]}]了[{ev.text}]功能")
+ logger.info(f'[{user_id}]尝试[{ev.command[2:]}]了[{ev.text}]功能')
- if ev.command == "ark开启":
+ if ev.command == 'ark开启':
query = True
- gid = ev.group_id if ev.group_id else "on"
+ gid = ev.group_id if ev.group_id else 'on'
else:
query = False
- gid = "off"
+ gid = 'off'
is_admin = ev.user_pm <= 2
if ev.at and is_admin:
user_id = ev.at
elif ev.at:
- return await bot.send("你没有权限...")
+ return await bot.send('你没有权限...')
uid = await ArknightsBind.get_uid_by_game(ev.user_id, bot.bot_id)
if uid is None:
diff --git a/ArknightsUID/arknightsuid_config/set_config.py b/ArknightsUID/arknightsuid_config/set_config.py
index 6e637e2..c54b320 100644
--- a/ArknightsUID/arknightsuid_config/set_config.py
+++ b/ArknightsUID/arknightsuid_config/set_config.py
@@ -7,12 +7,13 @@ from .ark_config import arkconfig
from .config_default import CONIFG_DEFAULT
PUSH_MAP = {
- "理智": "ap",
- "训练室": "train",
+ '理智': 'ap',
+ '训练室': 'train',
+ '版本更新': 'version',
}
PRIV_MAP = {
- "自动签到": "sign",
- "推送": "push",
+ '自动签到': 'sign',
+ '推送': 'push',
}
@@ -20,20 +21,20 @@ async def set_push_value(bot_id: str, func: str, uid: str, value: int):
if func in PUSH_MAP:
status = PUSH_MAP[func]
else:
- return "该配置项不存在!"
- logger.info(f"[设置推送阈值]func: {status}, value: {value}")
- if await ArknightsPush.update_push_data(uid, {f"{status}_value": value}):
- return f"设置成功!\n当前{func}推送阈值:{value}"
+ return '该配置项不存在!'
+ logger.info(f'[设置推送阈值]func: {status}, value: {value}')
+ if await ArknightsPush.update_push_data(uid, {f'{status}_value': value}):
+ return f'设置成功!\n当前{func}推送阈值:{value}'
else:
- return "设置失败!\n请检查参数是否正确!"
+ return '设置失败!\n请检查参数是否正确!'
async def set_config_func(
bot_id: str,
- config_name: str = "",
- uid: str = "0",
- user_id: str = "",
- option: str = "0",
+ config_name: str = '',
+ uid: str = '0',
+ user_id: str = '',
+ option: str = '0',
query: Optional[bool] = None,
is_admin: bool = False,
):
@@ -45,17 +46,17 @@ async def set_config_func(
break
else:
logger.info(
- f"uid: {uid}, option: {option}, config_name: {config_name}"
+ f'uid: {uid}, option: {option}, config_name: {config_name}',
)
if config_name in PRIV_MAP:
# 执行设置
await ArknightsUser.update_user_data(
uid,
{
- f"{PRIV_MAP[config_name]}_switch": option,
+ f'{PRIV_MAP[config_name]}_switch': option,
},
)
- elif config_name.replace("推送", "") in PUSH_MAP:
+ elif config_name.replace('推送', '') in PUSH_MAP:
await ArknightsPush.update_push_data(
uid,
{
@@ -63,24 +64,24 @@ async def set_config_func(
},
)
else:
- return "该配置项不存在!"
+ return '该配置项不存在!'
- if option == "on":
- succeed_msg = "开启至私聊消息!"
- elif option == "off":
- succeed_msg = "关闭!"
+ if option == 'on':
+ succeed_msg = '开启至私聊消息!'
+ elif option == 'off':
+ succeed_msg = '关闭!'
else:
- succeed_msg = f"开启至群{option}"
- return f"{config_name}已{succeed_msg}"
+ succeed_msg = f'开启至群{option}'
+ return f'{config_name}已{succeed_msg}'
if is_admin:
- logger.info(f"config_name:{config_name},query:{query}")
+ logger.info(f'config_name:{config_name},query:{query}')
# 执行设置
if query is not None:
arkconfig.set_config(name, query)
- im = "成功设置{}为{}。".format(config_name, "开" if query else "关")
+ im = '成功设置{}为{}。'.format(config_name, '开' if query else '关')
else:
- im = "未传入参数query!"
+ im = '未传入参数query!'
else:
- im = "只有管理员才能设置群服务。"
+ im = '只有管理员才能设置群服务。'
return im
diff --git a/ArknightsUID/arknightsuid_help/get_help.py b/ArknightsUID/arknightsuid_help/get_help.py
index 2b79738..ab5e5cd 100644
--- a/ArknightsUID/arknightsuid_help/get_help.py
+++ b/ArknightsUID/arknightsuid_help/get_help.py
@@ -18,7 +18,8 @@ async def get_help_data() -> Union[Dict[str, PluginHelp], None]:
if HELP_DATA.exists():
async with aiofiles.open(HELP_DATA, 'rb') as file:
return msgjson.decode(
- await file.read(), type=Dict[str, PluginHelp],
+ await file.read(),
+ type=Dict[str, PluginHelp],
)
@@ -37,7 +38,8 @@ async def get_core_help() -> Union[bytes, str]:
Image.open(TEXT_PATH / 'banner.png'),
Image.open(TEXT_PATH / 'button.png'),
source_han_sans_cn_origin,
- extra_message = [f'Client Version:{Arknights_Client_version} '
- f' Res version: {Arknights_Res_version}'],
+ extra_message=[
+ f'Client Version:{Arknights_Client_version} ' f' Res version: {Arknights_Res_version}'
+ ],
)
return img
diff --git a/ArknightsUID/arknightsuid_mind/__init__.py b/ArknightsUID/arknightsuid_mind/__init__.py
new file mode 100644
index 0000000..c32966e
--- /dev/null
+++ b/ArknightsUID/arknightsuid_mind/__init__.py
@@ -0,0 +1,137 @@
+# import asyncio
+# import json
+# from typing import Dict
+
+# import aiohttp
+# from gsuid_core.aps import scheduler
+# from gsuid_core.bot import Bot
+# from gsuid_core.gss import gss
+# from gsuid_core.logger import logger
+# from gsuid_core.models import Event
+# from gsuid_core.segment import MessageSegment
+# from gsuid_core.sv import SV
+# from msgspec import Struct, convert
+
+# from ..utils.ark_prefix import PREFIX
+# from ..utils.database.models import (
+# ArknightsPush,
+# ArknightsUser,
+# )
+# from ..version import Arknights_Client_version, Arknights_Res_version
+
+# sv_get_version = SV('ark查询版本')
+# sv_get_version_admin = SV('ark推送版本更新', pm=1)
+
+
+# @sv_get_version_admin.on_fullmatch((f'{PREFIX}开启推送版本更新')) # noqa: UP034
+# async def force_version_job(bot: Bot, ev: Event):
+# await bot.logger.info('开始执行[ark推送版本更新]')
+# await ark_version_job()
+
+
+# class ArkVersion(Struct):
+# clientVersion: str
+# resVersion: str
+
+
+# async def get_notice_list(im: list[str]) -> Dict[str, Dict[str, Dict]]:
+# msg_dict: Dict[str, Dict[str, Dict]] = {}
+# for _bot_id in gss.active_bot:
+# user_list = await ArknightsUser.get_all_push_user_list()
+# print(user_list)
+# for user in user_list:
+# if user.uid is not None:
+# push_data = await ArknightsPush.select_push_data(user.uid)
+# print(push_data)
+# if push_data is None:
+# continue
+
+# if push_data.version_push is False:
+# pass
+# else:
+# if user.bot_id not in msg_dict:
+# msg_dict[user.bot_id] = {'direct': {}, 'group': {}}
+# if push_data.version_push:
+# # 添加私聊信息
+# if user.user_id not in msg_dict[user.bot_id]['direct']:
+# msg_dict[user.bot_id]['direct'][user.user_id] = im
+# else:
+# msg_dict[user.bot_id]['direct'][user.user_id] += im
+# await ArknightsPush.update_push_data(
+# user.uid, {'version_is_push': True}
+# )
+# # 群号推送到群聊
+# else:
+# # 初始化
+# gid = push_data.version_push
+# if gid not in msg_dict[user.bot_id]['group']:
+# msg_dict[user.bot_id]['group'][gid] = {}
+
+# if (
+# user.user_id
+# not in msg_dict[user.bot_id]['group'][gid]
+# ):
+# msg_dict[user.bot_id]['group'][gid][
+# user.user_id
+# ] = im
+# else:
+# msg_dict[user.bot_id]['group'][gid][
+# user.user_id
+# ] += im
+# await ArknightsPush.update_push_data(
+# user.uid, {'version_is_push': True}
+# )
+# return msg_dict
+
+
+# async def get_resVersion():
+# async with aiohttp.ClientSession() as session:
+# async with session.get(
+# "https://ak-conf.hypergryph.com/config/prod/official/Android/version"
+# ) as response:
+# version = convert(json.loads(await response.text()), ArkVersion)
+# if (
+# version.clientVersion != Arknights_Client_version
+# and version.resVersion != Arknights_Res_version
+# ):
+# im = []
+# im.append(MessageSegment.text("检测到明日方舟版本更新!"))
+# im.append(
+# MessageSegment.text(f"客户端版本号:{version.clientVersion}")
+# )
+# im.append(MessageSegment.text(f"资源版本号:{version.resVersion}"))
+# return im
+# logger.info("Version no update")
+
+
+# @scheduler.scheduled_job('interval', seconds=3)
+# async def ark_version_job():
+# im = await get_resVersion()
+# im = ['test']
+# if im is not None:
+# result = await get_notice_list(im)
+# logger.info('[ark更新检查]完成!等待消息推送中...')
+# logger.debug(result)
+
+# # 执行私聊推送
+# for bot_id in result:
+# for BOT_ID in gss.active_bot:
+# bot = gss.active_bot[BOT_ID]
+# for user_id in result[bot_id]['direct']:
+# msg = result[bot_id]['direct'][user_id]
+# await bot.target_send(
+# msg, 'direct', user_id, bot_id, '', ''
+# )
+# await asyncio.sleep(0.5)
+# logger.info('[ark更新检查] 私聊推送完成')
+# for gid in result[bot_id]['group']:
+# msg_list = []
+# for user_id in result[bot_id]['group'][gid]:
+# msg_list.append(MessageSegment.at(user_id))
+# msg = result[bot_id]['group'][gid][user_id]
+# msg_list.append(MessageSegment.text(msg))
+# await bot.target_send(
+# msg_list, 'group', gid, bot_id, '', ''
+# )
+# await asyncio.sleep(0.5)
+# logger.info('[ark更新检查] 群聊推送完成')
diff --git a/ArknightsUID/arknightsuid_resource/__init__.py b/ArknightsUID/arknightsuid_resource/__init__.py
index bc9a266..8c4397b 100644
--- a/ArknightsUID/arknightsuid_resource/__init__.py
+++ b/ArknightsUID/arknightsuid_resource/__init__.py
@@ -13,27 +13,25 @@ from gsuid_core.sv import SV
from .constants import Excel
from .memoryStore import store
-sv_download_config = SV("下载资源", pm=2)
+sv_download_config = SV('下载资源', pm=2)
-@sv_download_config.on_fullmatch(("ark下载全部资源")) # noqa: UP034
+@sv_download_config.on_fullmatch(('ark下载全部资源')) # noqa: UP034
async def send_download_resource_msg(bot: Bot, ev: Event):
- await bot.send("正在开始下载~可能需要较久的时间!")
+ await bot.send('正在开始下载~可能需要较久的时间!')
im = await download_all_resource()
await bot.send(im)
async def startup():
- logger.info("[资源文件下载] 正在检查与下载缺失的资源文件, 可能需要较长时间, 请稍等")
+ logger.info('[资源文件下载] 正在检查与下载缺失的资源文件, 可能需要较长时间, 请稍等')
await download_all_resource()
- logger.info("[资源文件下载] 检查完毕, 正在加载 gamedata")
+ logger.info('[资源文件下载] 检查完毕, 正在加载 gamedata')
TASK = []
- for file_path in Path(
- get_res_path(["ArknightsUID", "resource", "gamedata"])
- ).glob("*.json"):
+ for file_path in Path(get_res_path(['ArknightsUID', 'resource', 'gamedata'])).glob('*.json'):
TASK.append(store.get_file(file_path))
asyncio.gather(*TASK)
await Excel.preload_table()
- logger.info("[资源文件下载] gamedata 加载完毕")
+ logger.info('[资源文件下载] gamedata 加载完毕')
diff --git a/ArknightsUID/arknightsuid_resource/constants.py b/ArknightsUID/arknightsuid_resource/constants.py
index 10b687e..ddff457 100644
--- a/ArknightsUID/arknightsuid_resource/constants.py
+++ b/ArknightsUID/arknightsuid_resource/constants.py
@@ -103,18 +103,14 @@ class ExcelTableManager:
zone_table_: ZoneTable
async def activity_table(self) -> None:
- self.activity_table_ = ActivityTable.convert(
- await store.get_excel("activity_table")
- )
+ self.activity_table_ = ActivityTable.convert(await store.get_excel('activity_table'))
@property
def ACTIVITY_TABLE(self) -> ActivityTable:
return self.activity_table_
async def audio_data(self) -> None:
- self.audio_data_ = AudioData.convert(
- await store.get_excel("audio_data")
- )
+ self.audio_data_ = AudioData.convert(await store.get_excel('audio_data'))
@property
def AUDIO_DATA(self) -> AudioData:
@@ -122,7 +118,7 @@ class ExcelTableManager:
async def battle_equip_table(self) -> None:
self.battle_equip_table_ = BattleEquipTable.convert(
- {"equips": await store.get_excel("battle_equip_table")}
+ {'equips': await store.get_excel('battle_equip_table')}
)
@property
@@ -130,124 +126,98 @@ class ExcelTableManager:
return self.battle_equip_table_
async def building_data(self) -> None:
- self.building_data_ = BuildingData.convert(
- await store.get_excel("building_data")
- )
+ self.building_data_ = BuildingData.convert(await store.get_excel('building_data'))
@property
def BUILDING_DATA(self) -> BuildingData:
return self.building_data_
async def campaign_table(self) -> None:
- self.campaign_table_ = CampaignTable.convert(
- await store.get_excel("campaign_table")
- )
+ self.campaign_table_ = CampaignTable.convert(await store.get_excel('campaign_table'))
@property
def CAMPAIGN_TABLE(self) -> CampaignTable:
return self.campaign_table_
async def chapter_table(self) -> None:
- self.chapter_table_ = ChapterTable.convert(
- {"chapters": await store.get_excel("chapter_table")}
- )
+ self.chapter_table_ = ChapterTable.convert({'chapters': await store.get_excel('chapter_table')})
@property
def CHAPTER_TABLE(self) -> ChapterTable:
return self.chapter_table_
async def character_table(self) -> None:
- self.character_table_ = CharacterTable.convert(
- {"chars": await store.get_excel("character_table")}
- )
+ self.character_table_ = CharacterTable.convert({'chars': await store.get_excel('character_table')})
@property
def CHARATER_TABLE(self) -> CharacterTable:
return self.character_table_
async def char_meta_table(self) -> None:
- self.char_meta_table_ = CharMetaTable.convert(
- await store.get_excel("char_meta_table")
- )
+ self.char_meta_table_ = CharMetaTable.convert(await store.get_excel('char_meta_table'))
@property
def CHAR_META_TABLE(self) -> CharMetaTable:
return self.char_meta_table_
async def charm_table(self) -> None:
- self.charm_table_ = CharmTable.convert(
- await store.get_excel("charm_table")
- )
+ self.charm_table_ = CharmTable.convert(await store.get_excel('charm_table'))
@property
def CHARM_TABLE(self) -> CharmTable:
return self.charm_table_
async def char_patch_table(self) -> None:
- self.char_patch_table_ = CharPatchTable.convert(
- await store.get_excel("char_patch_table")
- )
+ self.char_patch_table_ = CharPatchTable.convert(await store.get_excel('char_patch_table'))
@property
def CHAR_PATH_TABLE(self) -> CharPatchTable:
return self.char_patch_table_
async def charword_table(self) -> None:
- self.charword_table_ = CharwordTable.convert(
- await store.get_excel("charword_table")
- )
+ self.charword_table_ = CharwordTable.convert(await store.get_excel('charword_table'))
@property
def CHARWORD_TABLE(self) -> CharwordTable:
return self.charword_table_
async def checkin_table(self) -> None:
- self.checkin_table_ = CheckinTable.convert(
- await store.get_excel("checkin_table")
- )
+ self.checkin_table_ = CheckinTable.convert(await store.get_excel('checkin_table'))
@property
def CHECKIN_TABLE(self) -> CheckinTable:
return self.checkin_table_
async def climb_tower_table(self) -> None:
- self.climb_tower_table_ = ClimbTowerTable.convert(
- await store.get_excel("climb_tower_table")
- )
+ self.climb_tower_table_ = ClimbTowerTable.convert(await store.get_excel('climb_tower_table'))
@property
def CLIMB_TOWER_TABLE(self) -> ClimbTowerTable:
return self.climb_tower_table_
async def clue_data(self) -> None:
- self.clue_data_ = ClueData.convert(await store.get_excel("clue_data"))
+ self.clue_data_ = ClueData.convert(await store.get_excel('clue_data'))
@property
def CLUE_DATA(self) -> ClueData:
return self.clue_data_
async def crisis_table(self) -> None:
- self.crisis_table_ = CrisisTable.convert(
- await store.get_excel("crisis_table")
- )
+ self.crisis_table_ = CrisisTable.convert(await store.get_excel('crisis_table'))
@property
def CRISIS_TABLE(self) -> CrisisTable:
return self.crisis_table_
async def crisis_v2_table(self) -> None:
- self.crisis_v2_table_ = CrisisV2Table.convert(
- await store.get_excel("crisis_v2_table")
- )
+ self.crisis_v2_table_ = CrisisV2Table.convert(await store.get_excel('crisis_v2_table'))
@property
def CRISIS_V2_TABLE(self) -> CrisisV2Table:
return self.crisis_v2_table_
async def display_meta_table(self) -> None:
- self.display_meta_table_ = DisplayMetaTable.convert(
- await store.get_excel("display_meta_table")
- )
+ self.display_meta_table_ = DisplayMetaTable.convert(await store.get_excel('display_meta_table'))
@property
def DISPLAY_META_TABLE(self) -> DisplayMetaTable:
@@ -255,7 +225,7 @@ class ExcelTableManager:
async def enemy_handbook_table(self) -> None:
self.enemy_handbook_table_ = EnemyHandbookTable.convert(
- await store.get_excel("enemy_handbook_table")
+ await store.get_excel('enemy_handbook_table')
)
@property
@@ -263,45 +233,35 @@ class ExcelTableManager:
return self.enemy_handbook_table_
async def favor_table(self) -> None:
- self.favor_table_ = FavorTable.convert(
- await store.get_excel("favor_table")
- )
+ self.favor_table_ = FavorTable.convert(await store.get_excel('favor_table'))
@property
def FAVOR_TABLE(self) -> FavorTable:
return self.favor_table_
async def gacha_table(self) -> None:
- self.gacha_table_ = GachaTable.convert(
- await store.get_excel("gacha_table")
- )
+ self.gacha_table_ = GachaTable.convert(await store.get_excel('gacha_table'))
@property
def GACHA_TABLE(self) -> GachaTable:
return self.gacha_table_
async def gamedata_const(self) -> None:
- self.gamedata_const_ = GamedataConst.convert(
- await store.get_excel("gamedata_const")
- )
+ self.gamedata_const_ = GamedataConst.convert(await store.get_excel('gamedata_const'))
@property
def GAMEDATA_CONST(self) -> GamedataConst:
return self.gamedata_const_
async def handbook_info_table(self) -> None:
- self.handbook_info_table_ = HandbookInfoTable.convert(
- await store.get_excel("handbook_info_table")
- )
+ self.handbook_info_table_ = HandbookInfoTable.convert(await store.get_excel('handbook_info_table'))
@property
def HANDBOOK_INFO_TABLE(self) -> HandbookInfoTable:
return self.handbook_info_table_
async def handbook_table(self) -> None:
- self.handbook_table_ = HandbookTable.convert(
- await store.get_excel("handbook_table")
- )
+ self.handbook_table_ = HandbookTable.convert(await store.get_excel('handbook_table'))
@property
def HANDBOOK_TABLE(self) -> HandbookTable:
@@ -309,7 +269,7 @@ class ExcelTableManager:
async def handbook_team_table(self) -> None:
self.handbook_team_table_ = HandbookTeamTable.convert(
- {"team": await store.get_excel("handbook_team_table")}
+ {'team': await store.get_excel('handbook_team_table')}
)
@property
@@ -317,54 +277,42 @@ class ExcelTableManager:
return self.handbook_team_table_
async def item_table(self) -> None:
- self.item_table_ = ItemTable.convert(
- await store.get_excel("item_table")
- )
+ self.item_table_ = ItemTable.convert(await store.get_excel('item_table'))
@property
def ITEM_TABLE(self) -> ItemTable:
return self.item_table_
async def medal_table(self) -> None:
- self.medal_table_ = MedalTable.convert(
- await store.get_excel("medal_table")
- )
+ self.medal_table_ = MedalTable.convert(await store.get_excel('medal_table'))
@property
def MEDAL_TABLE(self) -> MedalTable:
return self.medal_table_
async def mission_table(self) -> None:
- self.mission_table_ = MissionTable.convert(
- await store.get_excel("mission_table")
- )
+ self.mission_table_ = MissionTable.convert(await store.get_excel('mission_table'))
@property
def MISSION_TABLE(self) -> MissionTable:
return self.mission_table_
async def open_server_table(self) -> None:
- self.open_server_table_ = OpenServerTable.convert(
- await store.get_excel("open_server_table")
- )
+ self.open_server_table_ = OpenServerTable.convert(await store.get_excel('open_server_table'))
@property
def OPEN_SERVER_TABLE(self) -> OpenServerTable:
return self.open_server_table_
async def player_avatar_table(self) -> None:
- self.player_avatar_table_ = PlayerAvatarTable.convert(
- await store.get_excel("player_avatar_table")
- )
+ self.player_avatar_table_ = PlayerAvatarTable.convert(await store.get_excel('player_avatar_table'))
@property
def PLAYER_AVATAR_TABLE(self) -> PlayerAvatarTable:
return self.player_avatar_table_
async def range_table(self) -> None:
- self.range_table_ = RangeTable.convert(
- {"range_": await store.get_excel("range_table")}
- )
+ self.range_table_ = RangeTable.convert({'range_': await store.get_excel('range_table')})
@property
def RANGE_TABLE(self) -> RangeTable:
@@ -372,7 +320,7 @@ class ExcelTableManager:
async def replicate_table(self) -> None:
self.replicate_table_ = ReplicateTable.convert(
- {"replicate": await store.get_excel("replicate_table")}
+ {'replicate': await store.get_excel('replicate_table')}
)
@property
@@ -380,18 +328,14 @@ class ExcelTableManager:
return self.replicate_table_
async def retro_table(self) -> None:
- self.retro_table_ = RetroTable.convert(
- await store.get_excel("retro_table")
- )
+ self.retro_table_ = RetroTable.convert(await store.get_excel('retro_table'))
@property
def RETRO_TABLE(self) -> RetroTable:
return self.retro_table_
async def roguelike_table(self) -> None:
- self.roguelike_table_ = RoguelikeTable.convert(
- await store.get_excel("roguelike_table")
- )
+ self.roguelike_table_ = RoguelikeTable.convert(await store.get_excel('roguelike_table'))
@property
def ROGUELIKE_TABLE(self) -> RoguelikeTable:
@@ -399,7 +343,7 @@ class ExcelTableManager:
async def roguelike_topic_table(self) -> None:
self.roguelike_topic_table_ = RoguelikeTopicTable.convert(
- await store.get_excel("roguelike_topic_table")
+ await store.get_excel('roguelike_topic_table')
)
@property
@@ -407,45 +351,35 @@ class ExcelTableManager:
return self.roguelike_topic_table_
async def sandbox_table(self) -> None:
- self.sandbox_table_ = SandboxTable.convert(
- await store.get_excel("sandbox_table")
- )
+ self.sandbox_table_ = SandboxTable.convert(await store.get_excel('sandbox_table'))
@property
def SANDBOX_TABLE(self) -> SandboxTable:
return self.sandbox_table_
async def shop_client_table(self) -> None:
- self.shop_client_table_ = ShopClientTable.convert(
- await store.get_excel("shop_client_table")
- )
+ self.shop_client_table_ = ShopClientTable.convert(await store.get_excel('shop_client_table'))
@property
def SHOP_CLIENT_TABLE(self) -> ShopClientTable:
return self.shop_client_table_
async def skill_table(self) -> None:
- self.skill_table_ = SkillTable.convert(
- {"skills": await store.get_excel("skill_table")}
- )
+ self.skill_table_ = SkillTable.convert({'skills': await store.get_excel('skill_table')})
@property
def SKILL_TABLE(self) -> SkillTable:
return self.skill_table_
async def skin_table(self) -> None:
- self.skin_table_ = SkinTable.convert(
- await store.get_excel("skin_table")
- )
+ self.skin_table_ = SkinTable.convert(await store.get_excel('skin_table'))
@property
def SKIN_TABLE(self) -> SkinTable:
return self.skin_table_
async def stage_table(self) -> None:
- self.stage_table_ = StageTable.convert(
- await store.get_excel("stage_table")
- )
+ self.stage_table_ = StageTable.convert(await store.get_excel('stage_table'))
@property
def STAGE_TABLE(self) -> StageTable:
@@ -453,7 +387,7 @@ class ExcelTableManager:
async def story_review_meta_table(self) -> None:
self.story_review_meta_table_ = StoryReviewMetaTable.convert(
- await store.get_excel("story_review_meta_table")
+ await store.get_excel('story_review_meta_table')
)
@property
@@ -462,7 +396,7 @@ class ExcelTableManager:
async def story_review_table(self) -> None:
self.story_review_table_ = StoryReviewTable.convert(
- {"storyreviewtable": await store.get_excel("story_review_table")}
+ {'storyreviewtable': await store.get_excel('story_review_table')}
)
@property
@@ -470,61 +404,49 @@ class ExcelTableManager:
return self.story_review_table_
async def story_table(self) -> None:
- self.story_table_ = StoryTable.convert(
- {"stories": await store.get_excel("story_table")}
- )
+ self.story_table_ = StoryTable.convert({'stories': await store.get_excel('story_table')})
@property
def STORY_TABLE(self) -> StoryTable:
return self.story_table_
async def tech_buff_table(self) -> None:
- self.tech_buff_table_ = TechBuffTable.convert(
- await store.get_excel("tech_buff_table")
- )
+ self.tech_buff_table_ = TechBuffTable.convert(await store.get_excel('tech_buff_table'))
@property
def TECH_BUFF_TABLE(self) -> TechBuffTable:
return self.tech_buff_table_
async def tip_table(self) -> None:
- self.tip_table_ = TipTable.convert(await store.get_excel("tip_table"))
+ self.tip_table_ = TipTable.convert(await store.get_excel('tip_table'))
@property
def TIP_TABLE(self) -> TipTable:
return self.tip_table_
async def token_table(self) -> None:
- self.token_table_ = TokenTable.convert(
- {"tokens": await store.get_excel("token_table")}
- )
+ self.token_table_ = TokenTable.convert({'tokens': await store.get_excel('token_table')})
@property
def TOKEN_TABLE(self) -> TokenTable:
return self.token_table_
async def uniequip_data(self) -> None:
- self.uniequip_data_ = UniequipData.convert(
- await store.get_excel("uniequip_data")
- )
+ self.uniequip_data_ = UniequipData.convert(await store.get_excel('uniequip_data'))
@property
def UNIEQUIP_DATA(self) -> UniequipData:
return self.uniequip_data_
async def uniequip_table(self) -> None:
- self.uniequip_table_ = UniEquipTable.convert(
- await store.get_excel("uniequip_table")
- )
+ self.uniequip_table_ = UniEquipTable.convert(await store.get_excel('uniequip_table'))
@property
def UNIEQUIP_TABLE(self) -> UniEquipTable:
return self.uniequip_table_
async def zone_table(self) -> None:
- self.zone_table_ = ZoneTable.convert(
- await store.get_excel("zone_table")
- )
+ self.zone_table_ = ZoneTable.convert(await store.get_excel('zone_table'))
@property
def ZONE_TABLE(self) -> ZoneTable:
@@ -535,9 +457,9 @@ class ExcelTableManager:
for name, method in inspect.getmembers(self):
if not inspect.iscoroutinefunction(method):
continue
- if name.startswith("__"):
+ if name.startswith('__'):
continue
- if name != "preload_table" and name != 'CHARATER_TABLE':
+ if name != 'preload_table' and name != 'CHARATER_TABLE':
task.append(method())
await asyncio.gather(*task)
diff --git a/ArknightsUID/arknightsuid_resource/memoryStore.py b/ArknightsUID/arknightsuid_resource/memoryStore.py
index 9fcb478..b1a7752 100644
--- a/ArknightsUID/arknightsuid_resource/memoryStore.py
+++ b/ArknightsUID/arknightsuid_resource/memoryStore.py
@@ -24,10 +24,10 @@ def read_json(file_path: Path, **kwargs) -> dict:
Read a JSON file and return its contents as a dictionary.
"""
try:
- with Path.open(file_path, encoding="UTF-8", **kwargs) as file:
+ with Path.open(file_path, encoding='UTF-8', **kwargs) as file:
return json.load(file)
except (FileNotFoundError, json.JSONDecodeError) as e:
- logger.error(f"Error reading JSON file: {e}")
+ logger.error(f'Error reading JSON file: {e}')
return {}
@@ -84,7 +84,7 @@ class StorageObject(Struct):
class StoreService(Store):
- __slots__ = ("store", "lock", "path")
+ __slots__ = ('store', 'lock', 'path')
def __init__(self) -> None:
self.path: anyioPath = anyioPath('data')
@@ -102,7 +102,7 @@ class StoreService(Store):
def _write_sync(self, target_file: anyioPath) -> None:
try:
- tmp_file_fd, tmp_file_name = mkstemp(dir=self.path, prefix=f"{target_file.name}.cache")
+ tmp_file_fd, tmp_file_name = mkstemp(dir=self.path, prefix=f'{target_file.name}.cache')
renamed = False
try:
try:
@@ -122,7 +122,7 @@ class StoreService(Store):
async def set(self, key: str, value: Any, expires_in: int | timedelta | None = None) -> None:
if isinstance(value, str):
- value = value.encode("UTF-8")
+ value = value.encode('UTF-8')
async with self.lock:
self.store_[key] = StorageObject.new(data=value, expires_in=expires_in)
diff --git a/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py b/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py
index 5936af3..ecdbf8c 100644
--- a/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py
+++ b/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py
@@ -34,9 +34,7 @@ async def get_role_img(uid: str):
secretary_skinId = secretary.skinId.replace('@', '_')
secretary_char_img = (
- Image.open(SKIN_PATH / f'{secretary_skinId}b.png')
- .resize((768, 768))
- .convert('RGBA')
+ Image.open(SKIN_PATH / f'{secretary_skinId}b.png').resize((768, 768)).convert('RGBA')
)
char_info.paste(secretary_char_img, (0, -20), secretary_char_img)
@@ -48,12 +46,11 @@ async def get_role_img(uid: str):
player_info.status.name,
(255, 255, 255),
sans_font_28,
- 'lm'
+ 'lm',
)
# 放入职信息
-
base_info.resize((475, 400)).convert('RGBA')
char_info.paste(base_info, (200, 0), base_info)
diff --git a/ArknightsUID/arknightsuid_signin/sign.py b/ArknightsUID/arknightsuid_signin/sign.py
index 9ed434c..5d9cf88 100644
--- a/ArknightsUID/arknightsuid_signin/sign.py
+++ b/ArknightsUID/arknightsuid_signin/sign.py
@@ -82,9 +82,7 @@ async def single_daily_sign(bot_id: str, ark_uid: str, gid: str, qid: str):
if gid == 'on':
if qid not in private_msg_list:
private_msg_list[qid] = []
- private_msg_list[qid].append(
- {'bot_id': bot_id, 'uid': ark_uid, 'msg': im}
- )
+ private_msg_list[qid].append({'bot_id': bot_id, 'uid': ark_uid, 'msg': im})
else:
# 向群消息推送列表添加这个群
if gid not in group_msg_list:
diff --git a/ArknightsUID/arknightsuid_start/start.py b/ArknightsUID/arknightsuid_start/start.py
index 73e6e9a..38208fd 100644
--- a/ArknightsUID/arknightsuid_start/start.py
+++ b/ArknightsUID/arknightsuid_start/start.py
@@ -8,4 +8,5 @@ async def all_start():
await startup()
await ark_adapter()
+
asyncio.run(all_start())
diff --git a/ArknightsUID/arknightsuid_user/__init__.py b/ArknightsUID/arknightsuid_user/__init__.py
index c998390..73a2692 100644
--- a/ArknightsUID/arknightsuid_user/__init__.py
+++ b/ArknightsUID/arknightsuid_user/__init__.py
@@ -25,9 +25,7 @@ ark_skd_cred_add = SV('森空岛cred绑定')
# await bot.send(uid_list)
-@sv_user_info.on_command(
- (f'{PREFIX}绑定uid', f'{PREFIX}切换uid', f'{PREFIX}删除uid', f'{PREFIX}解绑uid')
-)
+@sv_user_info.on_command((f'{PREFIX}绑定uid', f'{PREFIX}切换uid', f'{PREFIX}删除uid', f'{PREFIX}解绑uid'))
async def send_link_uid_msg(bot: Bot, ev: Event):
await bot.logger.info('开始执行[绑定/解绑用户信息]')
qid = ev.user_id
diff --git a/ArknightsUID/arknightsuid_user/deal_skd_cred.py b/ArknightsUID/arknightsuid_user/deal_skd_cred.py
index 4a52d18..adb6d0c 100644
--- a/ArknightsUID/arknightsuid_user/deal_skd_cred.py
+++ b/ArknightsUID/arknightsuid_user/deal_skd_cred.py
@@ -3,9 +3,7 @@ import re
from ..utils.ark_api import ark_skd_api
from ..utils.database.models import ArknightsBind, ArknightsPush, ArknightsUser
-ERROR_HINT = (
- '添加失败, 格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT'
-)
+ERROR_HINT = '添加失败, 格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT'
UID_HINT = '添加失败, 请先绑定明日方舟UID'
@@ -22,7 +20,8 @@ async def deal_skd_cred(bot_id: str, cred: str, user_id: str) -> str:
token = await ark_skd_api.refresh_token(match.group())
check_cred = await ark_skd_api.check_cred_valid(
- cred=match.group(), token=token
+ cred=match.group(),
+ token=token,
)
if isinstance(check_cred, bool):
diff --git a/ArknightsUID/arknightsuid_wiki/__init__.py b/ArknightsUID/arknightsuid_wiki/__init__.py
index 545d4b2..71ed30b 100644
--- a/ArknightsUID/arknightsuid_wiki/__init__.py
+++ b/ArknightsUID/arknightsuid_wiki/__init__.py
@@ -21,13 +21,9 @@ async def text2pic(text: str, max_size: int = 800, font_size: int = 20):
if text.endswith('\n'):
text = text[:-1]
- img = Image.new(
- 'RGB', (max_size, len(text) * font_size // 5), (228, 222, 210)
- )
+ img = Image.new('RGB', (max_size, len(text) * font_size // 5), (228, 222, 210))
img_draw = ImageDraw.ImageDraw(img)
- y = draw_center_text_by_line(
- img_draw, (25, 0), text, sans_font_20, 'black', 750, True
- )
+ y = draw_center_text_by_line(img_draw, (25, 0), text, sans_font_20, 'black', 750, True)
img = img.crop((0, 0, 800, int(y + 30)))
return await convert_img(img)
@@ -50,6 +46,7 @@ async def send_role_wiki_pic(bot: Bot, ev: Event):
img = await get_wiki_info(char_id=char_id)
await bot.send(await text2pic(img))
+
@sv_sr_wiki.on_prefix('ark模组图鉴')
async def send_equip_wiki_pic(bot: Bot, ev: Event):
char_name = ' '.join(re.findall('[\u4e00-\u9fa5]+', ev.text))
diff --git a/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py b/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py
index 409c41b..10ae1ac 100644
--- a/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py
+++ b/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py
@@ -3,24 +3,21 @@ import re
from pathlib import Path
from typing import Union
-from gsuid_core.data_store import get_res_path
-from gsuid_core.plugins.ArknightsUID.ArknightsUID.arknightsuid_resource.memoryStore import store
from jinja2 import Template
from PIL import Image, ImageDraw
-# from rich import print
from ..arknightsuid_resource.constants import Excel
from ..utils.fonts.source_han_sans import (
- sans_font_18,
- sans_font_26,
- sans_font_34,
- sans_font_50,
+ # sans_font_18,
+ # sans_font_26,
+ # sans_font_34,
+ # sans_font_50,
sans_font_120,
)
TEXTURE2D_PATH = Path(__file__).parent / 'texture2D'
-bg_img =Image.open(TEXTURE2D_PATH / 'bg.jpg')
+bg_img = Image.open(TEXTURE2D_PATH / 'bg.jpg')
title_img = Image.open(TEXTURE2D_PATH / 'title.png')
vvan_img = Image.open(TEXTURE2D_PATH / 'char_4098_vvana_2b.png').resize((2000, 2000))
@@ -30,36 +27,36 @@ red_color = (235, 61, 75)
black_color = (0, 0, 0)
profession_en_to_cn = {
- "WARRIOR": "近卫",
- "SNIPER": "狙击",
- "TANK": "重装",
- "MEDIC": "医疗",
- "SUPPORT": "辅助",
- "CASTER": "术师",
- "SPECIAL": "特种",
- "PIONEER": "先锋",
- "TOKEN": "召唤物",
- "TRAP": "陷阱",
+ 'WARRIOR': '近卫',
+ 'SNIPER': '狙击',
+ 'TANK': '重装',
+ 'MEDIC': '医疗',
+ 'SUPPORT': '辅助',
+ 'CASTER': '术师',
+ 'SPECIAL': '特种',
+ 'PIONEER': '先锋',
+ 'TOKEN': '召唤物',
+ 'TRAP': '陷阱',
}
char_position_en_to_cn = {
- "MELEE": "近战",
- "RANGED": "远程",
- "ALL": "近战/远程",
- "NONE": "无",
+ 'MELEE': '近战',
+ 'RANGED': '远程',
+ 'ALL': '近战/远程',
+ 'NONE': '无',
}
attr_en_to_cn = {
- "maxHp": "生命",
- "atk": "攻击",
- "def_": "防御",
- "magicResistance": "法抗",
- "cost": "部署费用",
- "blockCnt": "阻挡",
+ 'maxHp': '生命',
+ 'atk': '攻击',
+ 'def_': '防御',
+ 'magicResistance': '法抗',
+ 'cost': '部署费用',
+ 'blockCnt': '阻挡',
# "moveSpeed": "移动速度",
- "attackSpeed": "攻击速度",
- "baseAttackTime": "攻击间隔",
- "respawnTime": "再部署时间",
+ 'attackSpeed': '攻击速度',
+ 'baseAttackTime': '攻击间隔',
+ 'respawnTime': '再部署时间',
# "hpRecoveryPerSec": "生命回复",
# "spRecoveryPerSec": "技力回复",
# "maxDeployCount": "部署数量上限",
@@ -75,19 +72,18 @@ attr_en_to_cn = {
}
potential_id_to_cn = {
- 0: "潜能2",
- 1: "潜能3",
- 2: "潜能4",
- 3: "潜能5",
- 4: "潜能6",
+ 0: '潜能2',
+ 1: '潜能3',
+ 2: '潜能4',
+ 3: '潜能5',
+ 4: '潜能6',
}
+
def render_template(template_str, data):
- # Extract placeholders and formatting options from the template using regular expression
matches = re.finditer(r'\{([^}:]+)\}', template_str)
matches_1 = re.finditer(r'\{([^{}]+):([^{}]+)\}', template_str)
- # Create a dictionary with placeholder names, formatting options, and corresponding values
placeholder_data = {}
for match in matches:
placeholder = match.groups()
@@ -95,16 +91,17 @@ def render_template(template_str, data):
placeholder_data[placeholder[0]] = (formatting_option, data.get(placeholder[0], ''))
for match in matches_1:
placeholder, formatting_option = match.groups()
- # placeholder = placeholder.replace('-', '')
+
placeholder_data[placeholder] = (formatting_option, data.get(placeholder.replace('-', ''), ''))
- # Replace the placeholders in the template with the formatted values
+
for placeholder, (formatting_option, value) in placeholder_data.items():
if formatting_option == '':
- template_str = template_str.replace(f'{{{placeholder}}}', f"{value}")
+ template_str = template_str.replace(f'{{{placeholder}}}', f'{value}')
else:
- template_str = template_str.replace(f'{{{placeholder}:{formatting_option}}}', f"{value:{formatting_option}}")
+ template_str = template_str.replace(
+ f'{{{placeholder}:{formatting_option}}}', f'{value:{formatting_option}}'
+ )
- # Render the template
template = Template(template_str)
rendered_text = template.render()
@@ -112,7 +109,6 @@ def render_template(template_str, data):
async def get_equip_info(char_id: str):
-
UNIEQUIP_TABLE = Excel.UNIEQUIP_TABLE
BATTLE_EQUIP_TABLE = Excel.BATTLE_EQUIP_TABLE
@@ -225,9 +221,7 @@ async def get_equip_info(char_id: str):
return im
-
async def get_wiki_info(char_id: str):
-
CHARACTER_TABLE = Excel.CHARATER_TABLE
SKILL_TABLE = Excel.SKILL_TABLE
UNIEQUIP_TABLE = Excel.UNIEQUIP_TABLE
@@ -290,8 +284,10 @@ async def get_wiki_info(char_id: str):
if len(potential.buff.attributes.attributeModifiers) == 1:
potential_add_attribute_type = potential_add_attribute[0].attributeType
potential_add_attribute_value = potential_add_attribute[0].value
- potential_add_dict[potential_id] = (potential_add_attribute_type, potential_add_attribute_value)
- # im += f"{potential_add_attribute_type}: {potential_add_attribute_value}"
+ potential_add_dict[potential_id] = (
+ potential_add_attribute_type,
+ potential_add_attribute_value,
+ )
else:
raise NotImplementedError
im += '-----------------\n'
@@ -316,7 +312,7 @@ async def get_wiki_info(char_id: str):
skill_data = SKILL_TABLE.skills[skill]
skill_level_data = skill_data.levels[-1]
skill_name = skill_level_data.name
- im += f"技能名: {skill_name}\n"
+ im += f'技能名: {skill_name}\n'
skill_type = skill_level_data.skillType
skill_description = skill_level_data.description
skill_sp_data = skill_level_data.spData
@@ -331,7 +327,6 @@ async def get_wiki_info(char_id: str):
elif skill_sp_type == 8:
pass
else:
- print(skill_name, skill_sp_type)
raise NotImplementedError
if skill_type == 1:
@@ -341,13 +336,11 @@ async def get_wiki_info(char_id: str):
elif skill_type == 0:
pass
else:
- print(skill_name, skill_type)
raise NotImplementedError
skill_duration = skill_level_data.duration
im += f'消耗: {skill_sp_data.spCost} '
im += f'初始: {skill_sp_data.initSp} '
- # im += f'持续: {skill_sp_data.increment}\n'
im += f'持续: {str(skill_duration)}\n'
skill_blackboard_data = skill_level_data.blackboard
black_board_dict: dict[str, Union[Union[int, float], None]] = {}
@@ -356,45 +349,21 @@ async def get_wiki_info(char_id: str):
if skill_description:
skill_description = skill_description.replace(':0.0', '')
skill_description = re.sub(r'<[^>]+>', '', skill_description)
- # print(skill_description)
- # [max_hp].max_hp [atk].atk [def].def
- # skill_description = re.sub(r'\[max_hp].max_hp', '', skill_description)
- # skill_description = re.sub(r'\[atk].atk', '', skill_description)
- # skill_description = re.sub(r'\[def].def', '', skill_description)
- # print(skill_description)
- # print(black_board_dict)
- # print(skill_description)
skill_description = render_template(skill_description, black_board_dict).replace('--', '-')
- # skill_description = template.render(**black_board_dict)
-
- # skill_description = skill_description.format(**black_board_dict)
last_skill_description = re.sub(r'.000000', '', skill_description)
- print()
if '{' in last_skill_description:
- print(last_skill_description)
raise NotImplementedError
- # re 匹配 '\n'
+
skill_desc = re.findall(r'[^\\n]+', last_skill_description)
for skill_desc_line in skill_desc:
im += f'{skill_desc_line}\n'
im += '-----------------\n'
im = im[:-19]
- print(im)
return im
async def draw_wiki(char_id: str):
-
- # TASK = []
- # for file_path in Path(
- # get_res_path(["ArknightsUID", "resource", "gamedata"])
- # ).glob("*.json"):
- # TASK.append(store.get_file(file_path))
- # asyncio.gather(*TASK)
-
- # await Excel.preload_table()
-
CHARACTER_TABLE = Excel.CHARATER_TABLE
SKILL_TABLE = Excel.SKILL_TABLE
UNIEQUIP_TABLE = Excel.UNIEQUIP_TABLE
@@ -445,7 +414,10 @@ async def draw_wiki(char_id: str):
if len(potential.buff.attributes.attributeModifiers) == 1:
potential_add_attribute_type = potential_add_attribute[0].attributeType
potential_add_attribute_value = potential_add_attribute[0].value
- potential_add_dict[potential_id] = (potential_add_attribute_type, potential_add_attribute_value)
+ potential_add_dict[potential_id] = (
+ potential_add_attribute_type,
+ potential_add_attribute_value,
+ )
else:
raise NotImplementedError
@@ -487,8 +459,5 @@ async def draw_wiki(char_id: str):
return img
-
if __name__ == '__main__':
- import asyncio
-
asyncio.run(draw_wiki(char_id='char_4098_vvana'))
diff --git a/ArknightsUID/utils/api/skd/request.py b/ArknightsUID/utils/api/skd/request.py
index 2a8070b..79c7f8f 100644
--- a/ArknightsUID/utils/api/skd/request.py
+++ b/ArknightsUID/utils/api/skd/request.py
@@ -1,8 +1,8 @@
-from copy import deepcopy
import hashlib
+import hmac
import json
import time
-import hmac
+from copy import deepcopy
from typing import Any, Dict, Literal, Tuple, Union, cast
from urllib.parse import urlparse
@@ -25,19 +25,19 @@ ssl_verify = core_plugins_config.get_config('MhySSLVerify').data
_HEADER: Dict[str, str] = {
- 'Host': 'zonai.skland.com',
- 'platform': '1',
- 'Origin': 'https://www.skland.com',
- 'Referer': 'https://www.skland.com/',
- 'Content-Type': 'application/json',
- 'User-Agent': 'Skland/1.5.1 (com.hypergryph.skland; build:100501001; Android 33; ) Okhttp/4.11.0',
- 'vName': '1.5.1',
- 'vCode': '100501001',
- 'nId': '1',
- 'os': '33',
- 'manufacturer': 'Xiaomi',
- 'Connection': 'close'
- }
+ 'Host': 'zonai.skland.com',
+ 'platform': '1',
+ 'Origin': 'https://www.skland.com',
+ 'Referer': 'https://www.skland.com/',
+ 'Content-Type': 'application/json',
+ 'User-Agent': 'Skland/1.5.1 (com.hypergryph.skland; build:100501001; Android 33; ) Okhttp/4.11.0',
+ 'vName': '1.5.1',
+ 'vCode': '100501001',
+ 'nId': '1',
+ 'os': '33',
+ 'manufacturer': 'Xiaomi',
+ 'Connection': 'close',
+}
class TokenExpiredError(Exception):
@@ -69,7 +69,7 @@ class BaseArkApi:
return validate, ch
async def get_game_player_info(self, uid: str) -> Union[int, ArknightsPlayerInfoModel]:
- cred: Union[str, None] = await ArknightsUser.get_user_attr_by_uid(uid=uid, attr='cred')
+ cred: Union[str, None] = await ArknightsUser.get_user_attr_by_uid(uid=uid, attr='cred')
if cred is None:
return -60
is_vaild = await self.check_cred_valid(cred)
@@ -104,14 +104,11 @@ class BaseArkApi:
return -61
header = deepcopy(_HEADER)
header['cred'] = cred
- data = {
- 'uid': uid,
- 'gameId': 1
- }
+ data = {'uid': uid, 'gameId': 1}
header = await self.set_sign(
ARK_SKD_SIGN,
header=header,
- data=data
+ data=data,
)
header['Content-Type'] = 'application/json'
header['Content-Length'] = str(len(json.dumps(data)))
@@ -146,7 +143,7 @@ class BaseArkApi:
header=header,
params={
'uid': uid,
- 'gameId': 1
+ 'gameId': 1,
},
)
raw_data = await self.ark_request(
@@ -154,7 +151,7 @@ class BaseArkApi:
method='GET',
params={
'uid': uid,
- 'gameId': 1
+ 'gameId': 1,
},
header=header,
)
@@ -212,21 +209,22 @@ class BaseArkApi:
self,
url: str,
header: Dict[str, Any],
- data: Union[Dict[str, Any], None ]= None,
+ data: Union[Dict[str, Any], None] = None,
params: Union[Dict[str, Any], None] = None,
token: Union[str, None] = None,
) -> Dict:
parsed_url = urlparse(url)
path = parsed_url.path
timestamp = str(int(time.time()) - 2)
- dId = hashlib.sha256(header["cred"].encode('utf-8')).hexdigest()[0:16]
- str1=json.dumps(
- {
+ dId = hashlib.sha256(header['cred'].encode('utf-8')).hexdigest()[0:16]
+ str1 = json.dumps(
+ {
'platform': header.get('platform', '1'),
'timestamp': timestamp,
'dId': dId,
- 'vName': header.get('vName', '')
- }, separators=(',', ':')
+ 'vName': header.get('vName', ''),
+ },
+ separators=(',', ':'),
)
s2 = ''
if params:
@@ -241,13 +239,13 @@ class BaseArkApi:
logger.debug(f'cred {header["cred"]} token {token} token_ {token_}')
token = token if token else token_
if token is None:
- raise Exception("token is None")
+ raise Exception('token is None')
encode_token = token.encode('utf-8')
hex_s = hmac.new(encode_token, str2.encode('utf-8'), hashlib.sha256).hexdigest()
sign = hashlib.md5(hex_s.encode('utf-8')).hexdigest().encode('utf-8').decode('utf-8')
- header["sign"] = sign
- header["timestamp"] = timestamp
- header["dId"] = dId
+ header['sign'] = sign
+ header['timestamp'] = timestamp
+ header['dId'] = dId
logger.debug(header)
return header
@@ -288,13 +286,11 @@ class BaseArkApi:
url: str,
method: Literal['GET', 'POST'] = 'GET',
header: Dict[str, Any] = _HEADER,
- params: Union[Dict[str, Any], None ]= None,
+ params: Union[Dict[str, Any], None] = None,
data: Union[Dict[str, Any], None] = None,
use_proxy: Union[bool, None] = False,
) -> Union[Dict, Union[int, None]]:
- async with ClientSession(
- connector=TCPConnector(verify_ssl=ssl_verify)
- ) as client:
+ async with ClientSession(connector=TCPConnector(verify_ssl=ssl_verify)) as client:
raw_data = {}
if 'cred' not in header:
return 10001
diff --git a/ArknightsUID/utils/database/models.py b/ArknightsUID/utils/database/models.py
index c3e2fa8..7aef687 100644
--- a/ArknightsUID/utils/database/models.py
+++ b/ArknightsUID/utils/database/models.py
@@ -13,7 +13,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select
from sqlmodel import Field
-T_ARK_User = TypeVar("T_ARK_User", bound="ArknightsUser")
+T_ARK_User = TypeVar('T_ARK_User', bound='ArknightsUser')
class ArknightsBind(Bind, table=True):
@@ -29,7 +29,9 @@ class ArknightsUser(User, table=True):
@classmethod
@with_session
async def select_data_by_cred(
- cls, session: AsyncSession, cred: str
+ cls,
+ session: AsyncSession,
+ cred: str,
) -> Union[BaseModel, None]:
sql = select(cls).where(cls.cred == cred)
result = await session.execute(sql)
@@ -38,10 +40,8 @@ class ArknightsUser(User, table=True):
@classmethod
@with_session
- async def get_all_user(
- cls: Type[T_ARK_User], session: AsyncSession
- ) -> List[T_ARK_User]:
- sql = select(cls).where(cls.cred is not None, cls.cred != "")
+ async def get_all_user(cls: Type[T_ARK_User], session: AsyncSession) -> List[T_ARK_User]:
+ sql = select(cls).where(cls.cred is not None, cls.cred != '')
result = await session.execute(sql)
data: List[T_ARK_User] = result.scalars().all()
return data
@@ -66,7 +66,10 @@ class ArknightsUser(User, table=True):
retcode = -1
if await cls.data_exist(uid=uid):
retcode = await cls.update_data_by_uid(
- uid, cls.bot_id, None, **{attr: value}
+ uid,
+ cls.bot_id,
+ None,
+ **{attr: value},
)
return not bool(retcode)
@@ -83,13 +86,9 @@ class ArknightsPush(Push, table=True):
ap_is_push: Union[bool, None] = Field(default=False, title='理智是否已经推送')
training_push: Union[bool, None] = Field(default=False, title='训练室推送')
training_value: Union[int, None] = Field(default=30, title='训练室推送阈值')
- training_is_push: Union[bool, None] = Field(
- default=False, title='训练室是否已经推送'
- )
+ training_is_push: Union[bool, None] = Field(default=False, title='训练室是否已经推送')
version_push: Union[bool, None] = Field(default=False, title='版本更新推送')
- version_is_push: Union[bool, None] = Field(
- default=False, title='版本更新是否已经推送'
- )
+ version_is_push: Union[bool, None] = Field(default=False, title='版本更新是否已经推送')
@classmethod
async def insert_push_data(cls, bot_id: str, uid: str, skd_uid: str):
@@ -122,7 +121,10 @@ class ArknightsPush(Push, table=True):
retcode = -1
if await cls.data_exist(uid=uid):
retcode = await cls.update_data_by_uid(
- uid, cls.bot_id, None, **data
+ uid,
+ cls.bot_id,
+ None,
+ **data,
)
return not bool(retcode)
@@ -136,9 +138,7 @@ class ArknightsPush(Push, table=True):
await cls.update_push_data(uid, {f'{mode}_is_push': status})
@classmethod
- async def select_push_data(
- cls: Type[T_BaseIDModel], uid: str
- ) -> Union[T_BaseIDModel, None]:
+ async def select_push_data(cls: Type[T_BaseIDModel], uid: str) -> Union[T_BaseIDModel, None]:
return await cls.base_select_data(uid=uid)
@classmethod
diff --git a/ArknightsUID/utils/error_reply.py b/ArknightsUID/utils/error_reply.py
index 375d99a..b1c1afb 100644
--- a/ArknightsUID/utils/error_reply.py
+++ b/ArknightsUID/utils/error_reply.py
@@ -3,6 +3,7 @@ from typing import Union
UID_HINT = '添加失败, 请先绑定明日方舟UID'
+
def get_error(retcode: Union[int, str]) -> str:
if retcode == 10000:
return '请求异常, 请检查具体实现代码...'
diff --git a/ArknightsUID/utils/models/common.py b/ArknightsUID/utils/models/common.py
index 04e2689..a401acc 100644
--- a/ArknightsUID/utils/models/common.py
+++ b/ArknightsUID/utils/models/common.py
@@ -7,7 +7,7 @@ from msgspec import json as mscjson
from typing_extensions import dataclass_transform
Model = TypeVar('Model', bound='BaseStruct')
-T = TypeVar("T")
+T = TypeVar('T')
def transUnset(v: Union[T, UnsetType], d: Any = None) -> Union[T, Any]:
@@ -16,7 +16,10 @@ def transUnset(v: Union[T, UnsetType], d: Any = None) -> Union[T, Any]:
@dataclass_transform(field_specifiers=(field,))
class BaseStruct(
- Struct, forbid_unknown_fields=True, omit_defaults=True, gc=False
+ Struct,
+ forbid_unknown_fields=True,
+ omit_defaults=True,
+ gc=False,
):
class Config:
encoder = mscjson.Encoder()
diff --git a/ArknightsUID/utils/models/gamedata/ActivityTable.py b/ArknightsUID/utils/models/gamedata/ActivityTable.py
index dfd2419..0d29155 100644
--- a/ArknightsUID/utils/models/gamedata/ActivityTable.py
+++ b/ArknightsUID/utils/models/gamedata/ActivityTable.py
@@ -7,8 +7,8 @@ from msgspec import field
class ActivityTableBasicData(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
name: str
startTime: int
endTime: int
@@ -32,16 +32,16 @@ class ActivityTableHomeActivityConfig(BaseStruct):
class MissionDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
count: int
class MissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
description: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
itemBgType: str
preMissionIds: Union[List[str], None]
template: str
@@ -59,9 +59,9 @@ class MissionData(BaseStruct):
class MissionGroup(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: Union[str, None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
preMissionGroup: Union[str, None]
period: Union[List[int], None]
rewards: Union[List[MissionDisplayRewards], None]
@@ -79,9 +79,9 @@ class DefaultZoneData(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class DefaultShopData(BaseStruct):
@@ -244,7 +244,7 @@ class Act3D0DataLimitedPoolDetailInfoPoolItemInfo(BaseStruct):
perCount: int
totalCount: int
weight: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
orderId: int
@@ -259,7 +259,7 @@ class Act3D0DataInfinitePoolDetailInfoPoolItemInfo(BaseStruct):
goodType: str
perCount: int
weight: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
orderId: int
@@ -492,7 +492,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: float
mutexGroupKey: Union[str, None]
description: str
@@ -520,7 +520,7 @@ class Act5D1Data(BaseStruct):
class ActivityCollectionDataCollectionInfo(BaseStruct):
- id_: int = field(name="id")
+ id_: int = field(name='id')
itemType: str
itemId: str
itemCnt: int
@@ -733,7 +733,7 @@ class Act13SideDataLongTermMissionData(BaseStruct):
class Act13SideDataDailyMissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
description: str
missionName: str
@@ -929,7 +929,7 @@ class Act17sideDataMainlineChapterData(BaseStruct):
chapterDes: str
chapterIcon: str
unlockDes: str
- id_: str = field(name="id")
+ id_: str = field(name='id')
class Act17sideDataMainlineData(BaseStruct):
@@ -1172,9 +1172,9 @@ class SharedCharData(BaseStruct):
evolvePhase: int
level: int
favorPoint: int
- currentEquip: Union[str, None] = field(name="currentEquip", default=None)
+ currentEquip: Union[str, None] = field(name='currentEquip', default=None)
equips: Union[Dict[str, SharedCharDataCharEquipInfo], None] = field(
- name="equip",
+ name='equip',
default={},
)
skillIndex: Union[int, None] = None
@@ -1241,8 +1241,8 @@ class ActivityBossRushDataBossRushStageAdditionData(BaseStruct):
class ActivityBossRushDataDisplayDetailRewards(BaseStruct):
occPercent: int
dropCount: int
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
@@ -1348,15 +1348,15 @@ class ActivityFloatParadeDataDailyData(BaseStruct):
class ActivityFloatParadeDataRewardPool(BaseStruct):
grpId: str
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
name: str
desc: Union[str, None]
reward: ItemBundle
class ActivityFloatParadeDataTactic(BaseStruct):
- id_: int = field(name="id")
+ id_: int = field(name='id')
name: str
packName: str
briefName: str
@@ -1395,7 +1395,7 @@ class ActSandboxData(BaseStruct):
class ActivityMainlineBuffDataMissionGroupData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
bindBanner: str
sortId: int
zoneId: str
@@ -1411,7 +1411,7 @@ class ActivityMainlineBuffDataPeriodDataStepData(BaseStruct):
class ActivityMainlineBuffDataPeriodData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
startTime: int
endTime: int
favorUpCharDesc: str
@@ -1511,23 +1511,23 @@ class Act24SideDataMissionExtraData(BaseStruct):
class WeightItemBundle(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
dropType: str
count: int
weight: int
class StageDataDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
@@ -1599,7 +1599,7 @@ class Act25SideDataArchiveItemData(BaseStruct):
class Act25SideDataArchiveMapInfoData(BaseStruct):
objectId: str
- type_: int = field(name="type")
+ type_: int = field(name='type')
numberId: str
areaId: str
sortId: int
@@ -1622,7 +1622,7 @@ class Act25SideDataAreaInfoData(BaseStruct):
class Act25SideDataAreaMissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
areaId: str
preposedMissionId: Union[str, None]
sortId: int
@@ -1711,7 +1711,7 @@ class Act38D1DataAct38D1DimensionItemData(BaseStruct):
class Act38D1DataAct38D1CommentData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
desc: str
@@ -1746,7 +1746,7 @@ class Act38D1Data(BaseStruct):
class Act27SideDataAct27SideGoodData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
typeDesc: str
iconId: str
@@ -1865,7 +1865,7 @@ class Act42D0DataEffectGroupInfoData(BaseStruct):
class Act42D0DataEffectInfoRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: int
mutexGroupKey: Union[str, None]
description: str
@@ -1958,14 +1958,14 @@ class Act29SideFragData(BaseStruct):
class Act29SideOrcheType(Enum):
- ORCHE_1 = "ORCHE_1"
- ORCHE_2 = "ORCHE_2"
- ORCHE_3 = "ORCHE_3"
- ENUM = "ENUM"
+ ORCHE_1 = 'ORCHE_1'
+ ORCHE_2 = 'ORCHE_2'
+ ORCHE_3 = 'ORCHE_3'
+ ENUM = 'ENUM'
class Act29SideOrcheData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
desc: str
icon: str
@@ -1974,12 +1974,12 @@ class Act29SideOrcheData(BaseStruct):
class Act29SideProductType(Enum):
- PRODUCT_TYPE_1 = "PRODUCT_TYPE_1"
- PRODUCT_TYPE_2 = "PRODUCT_TYPE_2"
- PRODUCT_TYPE_3 = "PRODUCT_TYPE_3"
- PRODUCT_TYPE_4 = "PRODUCT_TYPE_4"
- PRODUCT_TYPE_5 = "PRODUCT_TYPE_5"
- ENUM = "ENUM"
+ PRODUCT_TYPE_1 = 'PRODUCT_TYPE_1'
+ PRODUCT_TYPE_2 = 'PRODUCT_TYPE_2'
+ PRODUCT_TYPE_3 = 'PRODUCT_TYPE_3'
+ PRODUCT_TYPE_4 = 'PRODUCT_TYPE_4'
+ PRODUCT_TYPE_5 = 'PRODUCT_TYPE_5'
+ ENUM = 'ENUM'
class Act29SideProductGroupData(BaseStruct):
@@ -2009,7 +2009,7 @@ class Act29SideProductGroupData(BaseStruct):
class Act29SideProductData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
orcheId: Union[str, None]
groupId: str
formId: Union[str, None]
@@ -2034,9 +2034,9 @@ class Act29SideInvestResultData(BaseStruct):
class Act29SideInvestType(Enum):
- MAJOR = "MAJOR"
- RARE = "RARE"
- NORMAL = "NORMAL"
+ MAJOR = 'MAJOR'
+ RARE = 'RARE'
+ NORMAL = 'NORMAL'
class Act29SideInvestData(BaseStruct):
@@ -2142,8 +2142,8 @@ class ActivityThemeDataTimeNode(BaseStruct):
class ActivityThemeData(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
funcId: str
endTs: int
sortId: int
@@ -2365,7 +2365,7 @@ class AprilFoolTable(BaseStruct):
class CartComponents(BaseStruct):
compId: str
sortId: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
posList: List[str]
posIdDict: Dict[str, List[str]]
name: str
@@ -2605,7 +2605,7 @@ class ActivityTableExtraData(BaseStruct):
class ActivityTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
basicInfo: Dict[str, ActivityTableBasicData]
homeActConfig: Dict[str, ActivityTableHomeActivityConfig]
diff --git a/ArknightsUID/utils/models/gamedata/AudioData.py b/ArknightsUID/utils/models/gamedata/AudioData.py
index 8925c7e..2433ab2 100644
--- a/ArknightsUID/utils/models/gamedata/AudioData.py
+++ b/ArknightsUID/utils/models/gamedata/AudioData.py
@@ -62,7 +62,7 @@ class BattleVoiceOption(BaseStruct):
class MusicData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
bank: str
@@ -91,7 +91,7 @@ class AudioDataFadeStyle(BaseStruct):
class AudioData(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
bgmBanks: List[BGMBank]
soundFXBanks: List[SoundFXBank]
diff --git a/ArknightsUID/utils/models/gamedata/BattleEquipTable.py b/ArknightsUID/utils/models/gamedata/BattleEquipTable.py
index e823c57..42fd10e 100644
--- a/ArknightsUID/utils/models/gamedata/BattleEquipTable.py
+++ b/ArknightsUID/utils/models/gamedata/BattleEquipTable.py
@@ -78,6 +78,6 @@ class BattleEquipData(BaseStruct):
class BattleEquipTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
equips: Dict[str, BattleEquipData]
diff --git a/ArknightsUID/utils/models/gamedata/BuildingData.py b/ArknightsUID/utils/models/gamedata/BuildingData.py
index 00b65a5..871c54c 100644
--- a/ArknightsUID/utils/models/gamedata/BuildingData.py
+++ b/ArknightsUID/utils/models/gamedata/BuildingData.py
@@ -6,13 +6,13 @@ from msgspec import field
class BuildingDataRoomUnlockCondCondItem(BaseStruct):
- type_: str = field(name="type")
+ type_: str = field(name='type')
level: int
count: int
class BuildingDataRoomUnlockCond(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
number: Dict[str, BuildingDataRoomUnlockCondCondItem]
@@ -22,9 +22,9 @@ class GridPosition(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class BuildingDataRoomDataBuildCost(BaseStruct):
@@ -44,7 +44,7 @@ class BuildingDataRoomDataPhaseData(BaseStruct):
class BuildingDataRoomData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
description: Union[str, None]
defaultPrefabId: str
@@ -56,7 +56,7 @@ class BuildingDataRoomData(BaseStruct):
class BuildingDataLayoutDataRoomSlot(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
cleanCostId: str
costLabor: int
provideLabor: int
@@ -71,26 +71,26 @@ class BuildingDataLayoutDataSlotCleanCostCountCost(BaseStruct):
class BuildingDataLayoutDataSlotCleanCost(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
number: Dict[str, BuildingDataLayoutDataSlotCleanCostCountCost]
class BuildingDataLayoutDataStoreyData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
yOffset: int
unlockControlLevel: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class BuildingDataLayoutData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
slots: Dict[str, BuildingDataLayoutDataRoomSlot]
cleanCosts: Dict[str, BuildingDataLayoutDataSlotCleanCost]
storeys: Dict[str, BuildingDataLayoutDataStoreyData]
class BuildingDataPrefabInfo(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
blueprintRoomOverrideId: Union[str, None]
size: GridPosition
floorGridSize: GridPosition
@@ -98,45 +98,45 @@ class BuildingDataPrefabInfo(BaseStruct):
obstacleId: Union[str, None]
-class BuildingDataManufactPhase(BaseStruct, tag="BuildingDataManufactPhase"):
+class BuildingDataManufactPhase(BaseStruct, tag='BuildingDataManufactPhase'):
speed: Union[float, int]
outputCapacity: int
-class BuildingDataShopPhase(BaseStruct, tag="BuildingDataShopPhase"):
+class BuildingDataShopPhase(BaseStruct, tag='BuildingDataShopPhase'):
counterNum: int
speed: Union[float, int]
moneyCapacity: int
-class BuildingDataHirePhase(BaseStruct, tag="BuildingDataHirePhase"):
+class BuildingDataHirePhase(BaseStruct, tag='BuildingDataHirePhase'):
economizeRate: float
resSpeed: int
refreshTimes: int
-class BuildingDataDormPhase(BaseStruct, tag="BuildingDataDormPhase"):
+class BuildingDataDormPhase(BaseStruct, tag='BuildingDataDormPhase'):
manpowerRecover: int
decorationLimit: int
-class BuildingDataMeetingPhase(BaseStruct, tag="BuildingDataMeetingPhase"):
+class BuildingDataMeetingPhase(BaseStruct, tag='BuildingDataMeetingPhase'):
friendSlotInc: int
maxVisitorNum: int
gatheringSpeed: int
-class BuildingDataTradingPhase(BaseStruct, tag="BuildingDataTradingPhase"):
+class BuildingDataTradingPhase(BaseStruct, tag='BuildingDataTradingPhase'):
orderSpeed: Union[float, int]
orderLimit: int
orderRarity: int
-class BuildingDataWorkshopPhase(BaseStruct, tag="BuildingDataWorkshopPhase"):
+class BuildingDataWorkshopPhase(BaseStruct, tag='BuildingDataWorkshopPhase'):
manpowerFactor: Union[float, int]
-class BuildingDataTrainingPhase(BaseStruct, tag="BuildingDataTrainingPhase"):
+class BuildingDataTrainingPhase(BaseStruct, tag='BuildingDataTrainingPhase'):
specSkillLvlLimit: int
@@ -222,11 +222,11 @@ class BuildingDataBuildingBuff(BaseStruct):
class BuildingDataCustomDataFurnitureData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
name: str
iconId: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
subType: str
location: str
category: str
@@ -257,11 +257,11 @@ class BuildingDataCustomDataThemeQuickSetupItem(BaseStruct):
furnitureId: str
pos0: int
pos1: int
- dir_: int = field(name="dir")
+ dir_: int = field(name='dir')
class BuildingDataCustomDataThemeData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
name: str
themeType: str
@@ -272,7 +272,7 @@ class BuildingDataCustomDataThemeData(BaseStruct):
class BuildingDataCustomDataGroupData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
name: str
themeId: str
@@ -282,14 +282,14 @@ class BuildingDataCustomDataGroupData(BaseStruct):
class BuildingDataCustomDataFurnitureTypeData(BaseStruct):
- type_: str = field(name="type")
+ type_: str = field(name='type')
name: str
class BuildingDataCustomDataFurnitureSubTypeData(BaseStruct):
subType: str
name: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
sortId: int
@@ -318,9 +318,7 @@ class BuildingDataCustomDataDiyUISortTemplateListData(BaseStruct):
expandState: str
defaultTemplateIndex: int
defaultTemplateOrder: str
- templates: List[
- BuildingDataCustomDataDiyUISortTemplateListDataDiyUISortTemplateData
- ]
+ templates: List[BuildingDataCustomDataDiyUISortTemplateListDataDiyUISortTemplateData]
class BuildingDataCustomData(BaseStruct):
@@ -423,7 +421,7 @@ class BuildingDataCreditFormula(BaseStruct):
class BuildingData(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
controlSlotId: str
meetingSlotId: str
diff --git a/ArknightsUID/utils/models/gamedata/CampaignTable.py b/ArknightsUID/utils/models/gamedata/CampaignTable.py
index ffbed87..40f7d85 100644
--- a/ArknightsUID/utils/models/gamedata/CampaignTable.py
+++ b/ArknightsUID/utils/models/gamedata/CampaignTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class CampaignDataBreakRewardLadder(BaseStruct):
@@ -18,16 +18,16 @@ class CampaignDataBreakRewardLadder(BaseStruct):
class WeightItemBundle(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
dropType: str
count: int
weight: int
class StageDataDisplayRewards_(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
@@ -58,15 +58,15 @@ class CampaignDataGainLadder(BaseStruct):
class StageDataDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
@@ -93,19 +93,19 @@ class CampaignGroupData(BaseStruct):
class CampaignRegionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
isUnknwon: int
class CampaignZoneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
regionId: str
templateId: str
class CampaignMissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
param: List[str]
description: str
@@ -145,7 +145,7 @@ class CampaignTrainingAllOpenTimeData(BaseStruct):
class CampaignTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
campaigns: Dict[str, CampaignData]
campaignGroups: Dict[str, CampaignGroupData]
diff --git a/ArknightsUID/utils/models/gamedata/ChapterTable.py b/ArknightsUID/utils/models/gamedata/ChapterTable.py
index 1ec54d9..5ce6e23 100644
--- a/ArknightsUID/utils/models/gamedata/ChapterTable.py
+++ b/ArknightsUID/utils/models/gamedata/ChapterTable.py
@@ -15,6 +15,6 @@ class ChapterData(BaseStruct):
class ChapterTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
chapters: Dict[str, ChapterData]
diff --git a/ArknightsUID/utils/models/gamedata/CharMetaTable.py b/ArknightsUID/utils/models/gamedata/CharMetaTable.py
index ff33276..4535c5f 100644
--- a/ArknightsUID/utils/models/gamedata/CharMetaTable.py
+++ b/ArknightsUID/utils/models/gamedata/CharMetaTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class SpCharMissionData(BaseStruct):
@@ -21,7 +21,7 @@ class SpCharMissionData(BaseStruct):
class CharMetaTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
spCharGroups: Dict[str, List[str]]
spCharMissions: Dict[str, Dict[str, SpCharMissionData]]
diff --git a/ArknightsUID/utils/models/gamedata/CharPatchTable.py b/ArknightsUID/utils/models/gamedata/CharPatchTable.py
index f555124..cd8ee24 100644
--- a/ArknightsUID/utils/models/gamedata/CharPatchTable.py
+++ b/ArknightsUID/utils/models/gamedata/CharPatchTable.py
@@ -37,7 +37,7 @@ class CharacterDataTraitDataBundle(BaseStruct):
class AttributesData(BaseStruct):
maxHp: int
atk: int
- def_: int = field(name="def")
+ def_: int = field(name='def')
magicResistance: float
cost: int
blockCnt: int
@@ -65,9 +65,9 @@ class CharacterDataAttributesKeyFrame(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class CharacterDataPhaseData(BaseStruct):
@@ -129,7 +129,7 @@ class ExternalBuff(BaseStruct):
class CharacterDataPotentialRank(BaseStruct):
- type_: int = field(name="type")
+ type_: int = field(name='type')
description: str
buff: Union[ExternalBuff, None]
equivalentCost: Union[ItemBundle, None]
@@ -191,7 +191,7 @@ class CharPatchDataPatchDetailInfo(BaseStruct):
class CharPatchTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
infos: Dict[str, CharPatchDataPatchInfo]
patchChars: Dict[str, CharacterData]
diff --git a/ArknightsUID/utils/models/gamedata/CharacterTable.py b/ArknightsUID/utils/models/gamedata/CharacterTable.py
index ac2ba3b..46ab0a6 100644
--- a/ArknightsUID/utils/models/gamedata/CharacterTable.py
+++ b/ArknightsUID/utils/models/gamedata/CharacterTable.py
@@ -33,7 +33,7 @@ class CharacterDataTraitDataBundle(BaseStruct):
class AttributesData(BaseStruct):
maxHp: int
atk: int
- def_: int = field(name="def")
+ def_: int = field(name='def')
magicResistance: float
cost: int
blockCnt: int
@@ -61,9 +61,9 @@ class CharacterDataAttributesKeyFrame(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class CharacterDataPhaseData(BaseStruct):
@@ -126,7 +126,7 @@ class ExternalBuff(BaseStruct):
class CharacterDataPotentialRank(BaseStruct):
- type_: int = field(name="type")
+ type_: int = field(name='type')
description: str
buff: Union[ExternalBuff, None]
equivalentCost: Union[ItemBundle, None]
@@ -175,7 +175,7 @@ class CharacterData(BaseStruct):
class CharacterTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
chars: Dict[str, CharacterData]
diff --git a/ArknightsUID/utils/models/gamedata/CharmTable.py b/ArknightsUID/utils/models/gamedata/CharmTable.py
index 6ebb74f..f2efaed 100644
--- a/ArknightsUID/utils/models/gamedata/CharmTable.py
+++ b/ArknightsUID/utils/models/gamedata/CharmTable.py
@@ -31,7 +31,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: float
mutexGroupKey: Union[str, None]
description: str
@@ -39,7 +39,7 @@ class RuneTablePackedRuneData(BaseStruct):
class CharmItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sort: int
name: str
icon: str
@@ -58,6 +58,6 @@ class CharmItemData(BaseStruct):
class CharmTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
charmList: List[CharmItemData]
diff --git a/ArknightsUID/utils/models/gamedata/CharwordTable.py b/ArknightsUID/utils/models/gamedata/CharwordTable.py
index 794fecd..4c208e2 100644
--- a/ArknightsUID/utils/models/gamedata/CharwordTable.py
+++ b/ArknightsUID/utils/models/gamedata/CharwordTable.py
@@ -36,7 +36,7 @@ class VoiceLangInfoData(BaseStruct):
class VoiceLangData(BaseStruct):
wordkeys: List[str]
charId: str
- dict_: Dict[str, VoiceLangInfoData] = field(name="dict")
+ dict_: Dict[str, VoiceLangInfoData] = field(name='dict')
class VoiceLangTypeData(BaseStruct):
@@ -55,7 +55,7 @@ class NewVoiceTimeData(BaseStruct):
class CharwordTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
charWords: Dict[str, CharWordData]
voiceLangDict: Dict[str, VoiceLangData]
diff --git a/ArknightsUID/utils/models/gamedata/CheckinTable.py b/ArknightsUID/utils/models/gamedata/CheckinTable.py
index 92861b9..12415b9 100644
--- a/ArknightsUID/utils/models/gamedata/CheckinTable.py
+++ b/ArknightsUID/utils/models/gamedata/CheckinTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class MonthlySignInData(BaseStruct):
@@ -36,7 +36,7 @@ class MonthlyDailyBonusGroup(BaseStruct):
class CheckinTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
groups: Dict[str, MonthlySignInGroupData]
monthlySubItem: Dict[str, List[MonthlyDailyBonusGroup]]
diff --git a/ArknightsUID/utils/models/gamedata/ClimbTowerTable.py b/ArknightsUID/utils/models/gamedata/ClimbTowerTable.py
index f6ea8b2..846dc99 100644
--- a/ArknightsUID/utils/models/gamedata/ClimbTowerTable.py
+++ b/ArknightsUID/utils/models/gamedata/ClimbTowerTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class ClimbTowerSingleTowerDataClimbTowerTaskRewardData(BaseStruct):
@@ -17,7 +17,7 @@ class ClimbTowerSingleTowerDataClimbTowerTaskRewardData(BaseStruct):
class ClimbTowerSingleTowerData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
stageNum: int
name: str
@@ -42,29 +42,29 @@ class ClimbTowerSingleTowerData(BaseStruct):
class WeightItemBundle(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
dropType: str
count: int
weight: int
class StageDataDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
class ClimbTowerDropDisplayInfo(BaseStruct):
itemId: str
- type_: int = field(name="type")
+ type_: int = field(name='type')
maxCount: int
minCount: int
@@ -77,7 +77,7 @@ class ClimbTowerLevelDropInfo(BaseStruct):
class ClimbTowerSingleLevelData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
levelId: str
towerId: str
layerNum: int
@@ -90,7 +90,7 @@ class ClimbTowerSingleLevelData(BaseStruct):
class ClimbTowerTacticalBuffData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
desc: str
profession: str
isDefaultActive: bool
@@ -124,7 +124,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: float
mutexGroupKey: Union[str, None]
description: str
@@ -132,8 +132,8 @@ class RuneTablePackedRuneData(BaseStruct):
class ClimbTowerMainCardData(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
linkedTowerId: Union[str, None]
sortId: int
name: str
@@ -144,7 +144,7 @@ class ClimbTowerMainCardData(BaseStruct):
class ClimbTowerSubCardData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
mainCardId: str
sortId: int
name: str
@@ -154,7 +154,7 @@ class ClimbTowerSubCardData(BaseStruct):
class ClimbTowerCurseCardData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
towerIdList: List[str]
name: str
desc: str
@@ -162,7 +162,7 @@ class ClimbTowerCurseCardData(BaseStruct):
class ClimbTowerSeasonInfoData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
startTs: int
endTs: int
@@ -196,16 +196,16 @@ class ClimbTowerRewardInfo(BaseStruct):
class MissionDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
count: int
class MissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
description: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
itemBgType: str
preMissionIds: Union[List[str], None]
template: str
@@ -228,9 +228,9 @@ class ClimbTowerMissionData(MissionData):
class MissionGroup(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: Union[str, None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
preMissionGroup: Union[str, None]
period: Union[List[int], None]
rewards: List[MissionDisplayRewards]
@@ -240,7 +240,7 @@ class MissionGroup(BaseStruct):
class ClimbTowerTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
towers: Dict[str, ClimbTowerSingleTowerData]
levels: Dict[str, ClimbTowerSingleLevelData]
diff --git a/ArknightsUID/utils/models/gamedata/ClueData.py b/ArknightsUID/utils/models/gamedata/ClueData.py
index 076658c..0a3f862 100644
--- a/ArknightsUID/utils/models/gamedata/ClueData.py
+++ b/ArknightsUID/utils/models/gamedata/ClueData.py
@@ -21,7 +21,7 @@ class MeetingClueDataReceiveTimeBonus(BaseStruct):
class ClueData(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
clues: List[MeetingClueDataClueData]
clueTypes: List[MeetingClueDataClueTypeData]
diff --git a/ArknightsUID/utils/models/gamedata/CrisisTable.py b/ArknightsUID/utils/models/gamedata/CrisisTable.py
index e68974b..941433d 100644
--- a/ArknightsUID/utils/models/gamedata/CrisisTable.py
+++ b/ArknightsUID/utils/models/gamedata/CrisisTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class StringKeyFrames(BaseStruct):
@@ -34,7 +34,7 @@ class CrisisMapRankInfo(BaseStruct):
class CrisisTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
seasonInfo: List[CrisisClientDataSeasonInfo]
meta: str
diff --git a/ArknightsUID/utils/models/gamedata/CrisisV2Table.py b/ArknightsUID/utils/models/gamedata/CrisisV2Table.py
index 6a3d661..ed41d4c 100644
--- a/ArknightsUID/utils/models/gamedata/CrisisV2Table.py
+++ b/ArknightsUID/utils/models/gamedata/CrisisV2Table.py
@@ -7,9 +7,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class StringKeyFrames(BaseStruct):
@@ -31,13 +31,13 @@ class CrisisV2ConstData(BaseStruct):
class appraiseType(Enum):
- RANK_D = "RANK_D"
- RANK_C = "RANK_C"
- RANK_B = "RANK_B"
- RANK_A = "RANK_A"
- RANK_S = "RANK_S"
- RANK_SS = "RANK_SS"
- RANK_SSS = "RANK_SSS"
+ RANK_D = 'RANK_D'
+ RANK_C = 'RANK_C'
+ RANK_B = 'RANK_B'
+ RANK_A = 'RANK_A'
+ RANK_S = 'RANK_S'
+ RANK_SS = 'RANK_SS'
+ RANK_SSS = 'RANK_SSS'
class CrisisV2ScoreLevelToAppraiseData(BaseStruct):
@@ -45,7 +45,7 @@ class CrisisV2ScoreLevelToAppraiseData(BaseStruct):
class CrisisV2Table(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
seasonInfoDataMap: Dict
scoreLevelToAppraiseDataMap: Dict[str, CrisisV2ScoreLevelToAppraiseData]
diff --git a/ArknightsUID/utils/models/gamedata/DisplayMetaTable.py b/ArknightsUID/utils/models/gamedata/DisplayMetaTable.py
index 1d53f2f..e92453c 100644
--- a/ArknightsUID/utils/models/gamedata/DisplayMetaTable.py
+++ b/ArknightsUID/utils/models/gamedata/DisplayMetaTable.py
@@ -42,8 +42,8 @@ class HomeBackgroundSingleData(BaseStruct):
class HomeBackgroundThemeData(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
sortId: int
startTime: int
tmName: str
@@ -61,7 +61,7 @@ class ThemeLimitInfo(BaseStruct):
class HomeBackgroundThemeLimitData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
limitInfos: List[ThemeLimitInfo]
@@ -76,7 +76,7 @@ class HomeBackgroundData(BaseStruct):
class DisplayMetaTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
playerAvatarData: PlayerAvatarData
homeBackgroundData: HomeBackgroundData
diff --git a/ArknightsUID/utils/models/gamedata/EnemyHandbookTable.py b/ArknightsUID/utils/models/gamedata/EnemyHandbookTable.py
index d0c071f..c4464dd 100644
--- a/ArknightsUID/utils/models/gamedata/EnemyHandbookTable.py
+++ b/ArknightsUID/utils/models/gamedata/EnemyHandbookTable.py
@@ -31,14 +31,14 @@ class EnemyHandBookData(BaseStruct):
class EnemyHandbookLevelInfoDataRangePair(BaseStruct):
- min_: float = field(name="min")
- max_: float = field(name="max")
+ min_: float = field(name='min')
+ max_: float = field(name='max')
class EnemyHandbookLevelInfoData(BaseStruct):
classLevel: str
attack: EnemyHandbookLevelInfoDataRangePair
- def_: EnemyHandbookLevelInfoDataRangePair = field(name="def")
+ def_: EnemyHandbookLevelInfoDataRangePair = field(name='def')
magicRes: EnemyHandbookLevelInfoDataRangePair
maxHP: EnemyHandbookLevelInfoDataRangePair
moveSpeed: EnemyHandbookLevelInfoDataRangePair
@@ -48,13 +48,13 @@ class EnemyHandbookLevelInfoData(BaseStruct):
class EnemyHandbookRaceData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
raceName: str
sortId: int
class EnemyHandbookTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
levelInfoList: List[EnemyHandbookLevelInfoData]
enemyData: Dict[str, EnemyHandBookData]
diff --git a/ArknightsUID/utils/models/gamedata/FavorTable.py b/ArknightsUID/utils/models/gamedata/FavorTable.py
index 901573b..4863e7c 100644
--- a/ArknightsUID/utils/models/gamedata/FavorTable.py
+++ b/ArknightsUID/utils/models/gamedata/FavorTable.py
@@ -15,7 +15,7 @@ class FavorDataFrames(BaseStruct):
class FavorTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
maxFavor: int
favorFrames: List[FavorDataFrames]
diff --git a/ArknightsUID/utils/models/gamedata/GachaTable.py b/ArknightsUID/utils/models/gamedata/GachaTable.py
index 302a56a..18bb9d5 100644
--- a/ArknightsUID/utils/models/gamedata/GachaTable.py
+++ b/ArknightsUID/utils/models/gamedata/GachaTable.py
@@ -32,9 +32,9 @@ class GachaDataCarouselData(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class GachaDataRecruitRange(BaseStruct):
@@ -131,7 +131,7 @@ class GachaDataFesGachaPoolRelateItem(BaseStruct):
class GachaTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
gachaTags: List[GachaTag]
carousel: List[GachaDataCarouselData]
diff --git a/ArknightsUID/utils/models/gamedata/GamedataConst.py b/ArknightsUID/utils/models/gamedata/GamedataConst.py
index e8c0fb2..3eb6c8e 100644
--- a/ArknightsUID/utils/models/gamedata/GamedataConst.py
+++ b/ArknightsUID/utils/models/gamedata/GamedataConst.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class GameDataConstsCharAssistRefreshTimeState(BaseStruct):
@@ -23,7 +23,7 @@ class TermDescriptionData(BaseStruct):
class GamedataConst(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
addedRewardDisplayZone: str
advancedGachaCrystalCost: int
diff --git a/ArknightsUID/utils/models/gamedata/HandbookInfoTable.py b/ArknightsUID/utils/models/gamedata/HandbookInfoTable.py
index d668488..5c5b061 100644
--- a/ArknightsUID/utils/models/gamedata/HandbookInfoTable.py
+++ b/ArknightsUID/utils/models/gamedata/HandbookInfoTable.py
@@ -13,9 +13,9 @@ class HandbookUnlockParam(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class HandbookStageTimeData(BaseStruct):
@@ -43,11 +43,11 @@ class HandbookStoryStageData(BaseStruct):
class HandbookDisplayCondition(BaseStruct):
charId: str
conditionCharId: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
class HandbookTeamMission(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sort: int
powerId: str
powerName: str
@@ -122,7 +122,7 @@ class HandbookInfoData(BaseStruct):
class HandbookInfoTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
handbookDict: Dict[str, HandbookInfoData]
npcDict: Dict[str, NPCData]
diff --git a/ArknightsUID/utils/models/gamedata/HandbookTable.py b/ArknightsUID/utils/models/gamedata/HandbookTable.py
index c1e655b..e50e377 100644
--- a/ArknightsUID/utils/models/gamedata/HandbookTable.py
+++ b/ArknightsUID/utils/models/gamedata/HandbookTable.py
@@ -40,6 +40,6 @@ class CharHandbook(BaseStruct):
class HandbookTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
char_102_texas: CharHandbook
diff --git a/ArknightsUID/utils/models/gamedata/HandbookTeamTable.py b/ArknightsUID/utils/models/gamedata/HandbookTeamTable.py
index bfc50bd..ba6bb04 100644
--- a/ArknightsUID/utils/models/gamedata/HandbookTeamTable.py
+++ b/ArknightsUID/utils/models/gamedata/HandbookTeamTable.py
@@ -15,6 +15,6 @@ class HandbookTeam(BaseStruct):
class HandbookTeamTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
team: Dict[str, HandbookTeam]
diff --git a/ArknightsUID/utils/models/gamedata/ItemTable.py b/ArknightsUID/utils/models/gamedata/ItemTable.py
index 9a17b52..3d69282 100644
--- a/ArknightsUID/utils/models/gamedata/ItemTable.py
+++ b/ArknightsUID/utils/models/gamedata/ItemTable.py
@@ -16,9 +16,9 @@ class ItemDataBuildingProductInfo(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class FavorCharacterInfo(BaseStruct):
@@ -47,13 +47,13 @@ class UniCollectionInfo(BaseStruct):
class ApSupplyFeature(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
ap: int
hasTs: bool
class ExpItemFeature(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
gainExp: int
@@ -83,7 +83,7 @@ class ItemData(BaseStruct):
class CharVoucherItemFeature(BaseStruct):
displayType: int
- id_: str = field(name="id")
+ id_: str = field(name='id')
class ServerItemReminderMailData(BaseStruct):
@@ -98,7 +98,7 @@ class ServerItemReminderInfo(BaseStruct):
class ItemTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
activityPotentialCharacters: Dict[str, ActivityPotentialCharacterInfo]
apSupplies: Dict[str, ApSupplyFeature]
diff --git a/ArknightsUID/utils/models/gamedata/MedalTable.py b/ArknightsUID/utils/models/gamedata/MedalTable.py
index 49cd25b..00b8c89 100644
--- a/ArknightsUID/utils/models/gamedata/MedalTable.py
+++ b/ArknightsUID/utils/models/gamedata/MedalTable.py
@@ -8,13 +8,13 @@ from msgspec import field
class MedalExpireTime(BaseStruct):
start: int
end: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class MedalGroupData(BaseStruct):
@@ -61,7 +61,7 @@ class MedalPerData(BaseStruct):
class MedalTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
medalList: List[MedalPerData]
medalTypeData: Dict[str, MedalTypeData]
diff --git a/ArknightsUID/utils/models/gamedata/MissionTable.py b/ArknightsUID/utils/models/gamedata/MissionTable.py
index 72387c4..518aef1 100644
--- a/ArknightsUID/utils/models/gamedata/MissionTable.py
+++ b/ArknightsUID/utils/models/gamedata/MissionTable.py
@@ -6,8 +6,8 @@ from msgspec import field
class MissionDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
count: int
@@ -28,26 +28,26 @@ class MissionWeeklyRewardConf(BaseStruct):
beginTime: int
endTime: int
groupId: str
- id_: str = field(name="id")
+ id_: str = field(name='id')
periodicalPointCost: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
sortIndex: int
rewards: List[MissionDisplayRewards]
class MissionDailyRewardConf(BaseStruct):
groupId: str
- id_: str = field(name="id")
+ id_: str = field(name='id')
periodicalPointCost: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
sortIndex: int
rewards: List[MissionDisplayRewards]
class MissionGroup(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: Union[str, None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
preMissionGroup: Union[str, None]
period: Union[List[int], None]
rewards: Union[List[MissionDisplayRewards], None]
@@ -57,10 +57,10 @@ class MissionGroup(BaseStruct):
class MissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
description: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
itemBgType: str
preMissionIds: Union[List[str], None]
template: str
@@ -78,7 +78,7 @@ class MissionData(BaseStruct):
class MissionTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
missions: Dict[str, MissionData]
missionGroups: Dict[str, MissionGroup]
diff --git a/ArknightsUID/utils/models/gamedata/OpenServerTable.py b/ArknightsUID/utils/models/gamedata/OpenServerTable.py
index 8dcba55..2d86b68 100644
--- a/ArknightsUID/utils/models/gamedata/OpenServerTable.py
+++ b/ArknightsUID/utils/models/gamedata/OpenServerTable.py
@@ -6,21 +6,21 @@ from msgspec import field
class RewardItem(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
count: int
sortId: int
class ItemBundle(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
count: int
class MissionDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
count: int
@@ -42,7 +42,7 @@ class ReturnCheckinData(BaseStruct):
class ReturnLongTermTaskData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
template: str
param: List[str]
@@ -53,7 +53,7 @@ class ReturnLongTermTaskData(BaseStruct):
class ReturnDailyTaskData(BaseStruct):
groupId: str
- id_: str = field(name="id")
+ id_: str = field(name='id')
groupSortId: int
taskSortId: int
template: str
@@ -105,10 +105,10 @@ class ChainLoginData(BaseStruct):
class MissionData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
sortId: int
description: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
itemBgType: str
preMissionIds: None
template: str
@@ -126,9 +126,9 @@ class MissionData(BaseStruct):
class MissionGroup(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: None
- type_: str = field(name="type")
+ type_: str = field(name='type')
preMissionGroup: None
period: None
rewards: None
@@ -145,7 +145,7 @@ class OpenServerData(BaseStruct):
class OpenServerScheduleItem(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
startTs: int
endTs: int
totalCheckinDescption: str
@@ -269,7 +269,7 @@ class OpenServerNewbieCheckInPackage(BaseStruct):
class OpenServerTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
schedule: List[OpenServerScheduleItem]
dataMap: Dict[str, OpenServerData]
diff --git a/ArknightsUID/utils/models/gamedata/PlayerAvatarTable.py b/ArknightsUID/utils/models/gamedata/PlayerAvatarTable.py
index f73248a..d1590a4 100644
--- a/ArknightsUID/utils/models/gamedata/PlayerAvatarTable.py
+++ b/ArknightsUID/utils/models/gamedata/PlayerAvatarTable.py
@@ -21,7 +21,7 @@ class PlayerAvatarPerData(BaseStruct):
class PlayerAvatarTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
avatarList: List[PlayerAvatarPerData]
avatarTypeData: Dict[str, PlayerAvatarGroupData]
diff --git a/ArknightsUID/utils/models/gamedata/RangeTable.py b/ArknightsUID/utils/models/gamedata/RangeTable.py
index eb75df4..2436c25 100644
--- a/ArknightsUID/utils/models/gamedata/RangeTable.py
+++ b/ArknightsUID/utils/models/gamedata/RangeTable.py
@@ -18,13 +18,13 @@ class ObscuredRect(BaseStruct):
class Stage(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
direction: int
grids: List[GridPosition]
boundingBoxes: Union[List[ObscuredRect], None] = None
class RangeTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
range_: Dict[str, Stage]
diff --git a/ArknightsUID/utils/models/gamedata/ReplicateTable.py b/ArknightsUID/utils/models/gamedata/ReplicateTable.py
index 8e75b2a..bfeb9f8 100644
--- a/ArknightsUID/utils/models/gamedata/ReplicateTable.py
+++ b/ArknightsUID/utils/models/gamedata/ReplicateTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class ReplicateData(BaseStruct):
@@ -21,6 +21,6 @@ class ReplicateList(BaseStruct):
class ReplicateTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
replicate: Dict[str, ReplicateList]
diff --git a/ArknightsUID/utils/models/gamedata/RetroTable.py b/ArknightsUID/utils/models/gamedata/RetroTable.py
index 6cf06c0..05e62e3 100644
--- a/ArknightsUID/utils/models/gamedata/RetroTable.py
+++ b/ArknightsUID/utils/models/gamedata/RetroTable.py
@@ -6,14 +6,14 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class StageDataDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
@@ -32,8 +32,8 @@ class Act17sideDataChoiceNodeOptionData(BaseStruct):
class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
CannotGetPercent: Union[float, None] = None
GetPercent: Union[float, None] = None
@@ -69,7 +69,7 @@ class Act17sideDataMainlineChapterData(BaseStruct):
chapterDes: str
chapterIcon: str
unlockDes: str
- id_: str = field(name="id")
+ id_: str = field(name='id')
class RunesSelector(BaseStruct):
@@ -92,7 +92,7 @@ class TechTreeBranchRunes(BaseStruct):
class BranchRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: float
mutexGroupKey: None
description: str
@@ -260,7 +260,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct):
description: str
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: float
runes: List[RuneData]
mutexGroupKey: Union[str, None] = None
@@ -316,8 +316,8 @@ class RetroTrailRuleData(BaseStruct):
class WeightItemBundle(BaseStruct):
count: int
dropType: str
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
weight: int
@@ -401,7 +401,7 @@ class RetroTrailData(BaseStruct):
class RetroActData(BaseStruct):
retroId: str
- type_: int = field(name="type")
+ type_: int = field(name='type')
linkedActId: List[str]
startTime: int
trailStartTime: int
@@ -430,7 +430,7 @@ class RetroStageOverrideInfo(BaseStruct):
class RetroTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
customData: ActivityCustomData
initRetroCoin: int
diff --git a/ArknightsUID/utils/models/gamedata/RoguelikeTable.py b/ArknightsUID/utils/models/gamedata/RoguelikeTable.py
index 5c81268..0bd0a4b 100644
--- a/ArknightsUID/utils/models/gamedata/RoguelikeTable.py
+++ b/ArknightsUID/utils/models/gamedata/RoguelikeTable.py
@@ -28,12 +28,12 @@ class RoguelikeOuterBuff(BaseStruct):
class RoguelikeOutBuffData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
buffs: Dict[str, RoguelikeOuterBuff]
class RoguelikeEndingData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
backgroundId: str
name: str
description: str
@@ -43,7 +43,7 @@ class RoguelikeEndingData(BaseStruct):
class RoguelikeModeData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
canUnlockItem: int
scoreFactor: float
@@ -56,24 +56,24 @@ class RoguelikeModeData(BaseStruct):
class RoguelikeChoiceSceneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: str
description: str
background: str
class RoguelikeChoiceData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: str
description: Union[str, None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
nextSceneId: Union[str, None]
icon: Union[str, None]
param: Dict[str, object]
class RoguelikeZoneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
description: str
endingDescription: str
@@ -82,7 +82,7 @@ class RoguelikeZoneData(BaseStruct):
class RoguelikeStageData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
linkedStageId: str
levelId: str
code: str
@@ -96,12 +96,12 @@ class RoguelikeStageData(BaseStruct):
class RoguelikeRelicFeature(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
buffs: List[RoguelikeBuff]
class RoguelikeUpgradeTicketFeature(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
profession: int
rarity: int
professionList: List[str]
@@ -109,7 +109,7 @@ class RoguelikeUpgradeTicketFeature(BaseStruct):
class RoguelikeRecruitTicketFeature(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
profession: int
rarity: int
professionList: List[str]
@@ -125,13 +125,13 @@ class RelicStableUnlockParam(BaseStruct):
class RoguelikeItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
description: Union[str, None]
usage: str
obtainApproach: str
iconId: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
rarity: str
value: int
sortId: int
@@ -193,7 +193,7 @@ class RoguelikeConstTable(BaseStruct):
class RoguelikeTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
constTable: RoguelikeConstTable
itemTable: RoguelikeItemTable
diff --git a/ArknightsUID/utils/models/gamedata/RoguelikeTopicTable.py b/ArknightsUID/utils/models/gamedata/RoguelikeTopicTable.py
index 1471571..d40ac4a 100644
--- a/ArknightsUID/utils/models/gamedata/RoguelikeTopicTable.py
+++ b/ArknightsUID/utils/models/gamedata/RoguelikeTopicTable.py
@@ -21,7 +21,7 @@ class RoguelikeTopicConfig(BaseStruct):
class RoguelikeTopicBasicData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
startTime: int
disappearTimeOnMainScreen: int
@@ -68,7 +68,7 @@ class RoguelikeTopicEnroll(BaseStruct):
class RoguelikeTopicBP(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
level: int
tokenNum: int
nextTokenNum: int
@@ -88,9 +88,9 @@ class RoguelikeTopicMilestoneUpdateData(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class RoguelikeTopicBPGrandPrize(BaseStruct):
@@ -111,7 +111,7 @@ class RoguelikeTopicBPGrandPrize(BaseStruct):
class RoguelikeTopicMonthMission(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
taskName: str
taskClass: str
innerClassWeight: int
@@ -122,7 +122,7 @@ class RoguelikeTopicMonthMission(BaseStruct):
class RoguelikeTopicMonthSquad(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
teamName: str
teamSubName: Union[str, None]
teamFlavorDesc: Union[str, None]
@@ -292,8 +292,8 @@ class ActArchiveBuffData(BaseStruct):
class ActArchiveTotemItemData(BaseStruct):
- id_: str = field(name="id")
- type_: int = field(name="type")
+ id_: str = field(name='id')
+ type_: int = field(name='type')
enrollConditionId: Union[str, None]
sortId: int
@@ -303,7 +303,7 @@ class ActArchiveTotemData(BaseStruct):
class ActArchiveChaosItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
isHidden: bool
enrollId: Union[str, None]
sortId: int
@@ -412,7 +412,7 @@ class RoguelikeGameInitData(BaseStruct):
class RoguelikeGameStageData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
linkedStageId: str
levelId: str
code: str
@@ -431,7 +431,7 @@ class RoguelikeGameStageData(BaseStruct):
class RoguelikeGameZoneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
clockPerformance: Union[str, None]
displayTime: Union[str, None]
@@ -453,7 +453,7 @@ class RoguelikeGameTrapData(BaseStruct):
class RoguelikeGameRecruitTicketData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
profession: int
rarity: int
professionList: List[str]
@@ -464,7 +464,7 @@ class RoguelikeGameRecruitTicketData(BaseStruct):
class RoguelikeGameUpgradeTicketData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
profession: int
rarity: int
professionList: List[str]
@@ -472,7 +472,7 @@ class RoguelikeGameUpgradeTicketData(BaseStruct):
class RoguelikeGameCustomTicketData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
subType: str
discardText: str
@@ -489,7 +489,7 @@ class RoguelikeBuff(BaseStruct):
class RoguelikeGameRelicData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
buffs: List[RoguelikeBuff]
@@ -500,13 +500,13 @@ class RoguelikeGameRelicCheckParam(BaseStruct):
class RoguelikeGameRelicParamData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
checkCharBoxTypes: List[str]
checkCharBoxParams: List[RoguelikeGameRelicCheckParam]
class RoguelikeGameRecruitGrpData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
iconId: str
name: str
desc: str
@@ -514,7 +514,7 @@ class RoguelikeGameRecruitGrpData(BaseStruct):
class RoguelikeChoiceDisplayData(BaseStruct):
- type_: str = field(name="type")
+ type_: str = field(name='type')
funcIconId: Union[str, None]
itemId: Union[str, None]
taskId: Union[str, None]
@@ -524,11 +524,11 @@ class RoguelikeChoiceDisplayData(BaseStruct):
class RoguelikeGameChoiceData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: str
description: Union[str, None]
lockedCoverDesc: Union[str, None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
leftDecoType: str
nextSceneId: Union[str, None]
icon: Union[str, None]
@@ -537,7 +537,7 @@ class RoguelikeGameChoiceData(BaseStruct):
class RoguelikeGameChoiceSceneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
title: str
description: str
background: Union[str, None]
@@ -560,8 +560,8 @@ class RoguelikeGameNodeSubTypeData(BaseStruct):
class RoguelikeGameVariationData(BaseStruct):
- id_: str = field(name="id")
- type_: str = field(name="type")
+ id_: str = field(name='id')
+ type_: str = field(name='type')
outerName: str
innerName: str
functionDesc: str
@@ -571,7 +571,7 @@ class RoguelikeGameVariationData(BaseStruct):
class RoguelikeGameCharBuffData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
iconId: str
outerName: str
innerName: str
@@ -581,7 +581,7 @@ class RoguelikeGameCharBuffData(BaseStruct):
class RoguelikeGameSquadBuffData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
iconId: str
outerName: str
innerName: str
@@ -663,7 +663,7 @@ class RoguelikeGameEndingDataLevelIcon(BaseStruct):
class RoguelikeGameEndingData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
familyId: int
name: str
desc: str
@@ -685,13 +685,13 @@ class TipData(BaseStruct):
class RoguelikeGameItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
description: Union[str, None]
usage: str
obtainApproach: str
iconId: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
subType: str
rarity: str
value: int
@@ -961,7 +961,7 @@ class RoguelikeVisionData(BaseStruct):
class RoguelikeVisionModuleDataVisionChoiceConfig(BaseStruct):
value: int
- type_: int = field(name="type")
+ type_: int = field(name='type')
class RoguelikeVisionModuleConsts(BaseStruct):
@@ -1227,7 +1227,7 @@ class RoguelikeTopicCustomizeData(BaseStruct):
class RoguelikeTopicTable(BaseStruct):
- __version__ = "23-04-23-15-07-53-24a81c"
+ __version__ = '23-04-23-15-07-53-24a81c'
topics: Dict[str, RoguelikeTopicBasicData]
constant: RoguelikeTopicConst
diff --git a/ArknightsUID/utils/models/gamedata/SandboxTable.py b/ArknightsUID/utils/models/gamedata/SandboxTable.py
index 02b62d2..9e7e9c7 100644
--- a/ArknightsUID/utils/models/gamedata/SandboxTable.py
+++ b/ArknightsUID/utils/models/gamedata/SandboxTable.py
@@ -240,7 +240,7 @@ class SandboxEventData(BaseStruct):
class SandboxEventSceneData(BaseStruct):
choiceSceneId: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
title: str
description: str
choices: List[str]
@@ -248,7 +248,7 @@ class SandboxEventSceneData(BaseStruct):
class SandboxEventChoiceData(BaseStruct):
choiceId: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
costAction: int
finishScene: bool
title: str
@@ -272,12 +272,12 @@ class SandboxMissionData(BaseStruct):
class SandboxUnitData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
class SandboxDailyDescTemplateData(BaseStruct):
- type_: str = field(name="type")
+ type_: str = field(name='type')
templateDesc: List[str]
@@ -296,7 +296,7 @@ class RushEnemyGroupConfig(BaseStruct):
class RushEnemyGroupRushEnemyDBRef(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
level: int
@@ -331,7 +331,7 @@ class RuneData(BaseStruct):
class RuneTablePackedRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: Union[int, float]
mutexGroupKey: Union[str, None]
description: str
@@ -398,7 +398,7 @@ class SandboxItemData(BaseStruct):
class SandboxTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
sandboxActTables: Dict[str, SandboxActTable]
itemDatas: Dict[str, SandboxItemData]
diff --git a/ArknightsUID/utils/models/gamedata/ShopClientTable.py b/ArknightsUID/utils/models/gamedata/ShopClientTable.py
index 52e3fba..0076685 100644
--- a/ArknightsUID/utils/models/gamedata/ShopClientTable.py
+++ b/ArknightsUID/utils/models/gamedata/ShopClientTable.py
@@ -20,7 +20,7 @@ class ShopRecommendGroup(BaseStruct):
class ShopKeeperWord(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
text: str
@@ -91,7 +91,7 @@ class ShopCreditUnlockItem(BaseStruct):
class ShopCreditUnlockGroup(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
index: str
startDateTime: int
charDict: List[ShopCreditUnlockItem]
@@ -144,7 +144,7 @@ class LMTGSShopOverlaySchedule(BaseStruct):
class ShopClientTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
recommendList: List[ShopRecommendItem]
creditUnlockGroup: Dict[str, ShopCreditUnlockGroup]
diff --git a/ArknightsUID/utils/models/gamedata/SkillTable.py b/ArknightsUID/utils/models/gamedata/SkillTable.py
index 86a23f2..f0b0be9 100644
--- a/ArknightsUID/utils/models/gamedata/SkillTable.py
+++ b/ArknightsUID/utils/models/gamedata/SkillTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class SpData(BaseStruct):
@@ -46,6 +46,6 @@ class SkillDataBundle(BaseStruct):
class SkillTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
skills: Dict[str, SkillDataBundle]
diff --git a/ArknightsUID/utils/models/gamedata/SkinTable.py b/ArknightsUID/utils/models/gamedata/SkinTable.py
index da2e122..3b1ce72 100644
--- a/ArknightsUID/utils/models/gamedata/SkinTable.py
+++ b/ArknightsUID/utils/models/gamedata/SkinTable.py
@@ -82,7 +82,7 @@ class SpecialSkinInfo(BaseStruct):
class SkinTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
charSkins: Dict[str, CharSkinData]
buildinEvolveMap: Dict[str, Dict[str, str]]
diff --git a/ArknightsUID/utils/models/gamedata/StageTable.py b/ArknightsUID/utils/models/gamedata/StageTable.py
index da0d2ff..3d88ee8 100644
--- a/ArknightsUID/utils/models/gamedata/StageTable.py
+++ b/ArknightsUID/utils/models/gamedata/StageTable.py
@@ -11,15 +11,15 @@ class StageDataConditionDesc(BaseStruct):
class StageDataDisplayRewards(BaseStruct):
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
class StageDataDisplayDetailRewards(BaseStruct):
occPercent: int
- type_: str = field(name="type")
- id_: str = field(name="id")
+ type_: str = field(name='type')
+ id_: str = field(name='id')
dropType: int
@@ -44,9 +44,9 @@ class ProgressInfo(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class ExtraInfo(BaseStruct):
@@ -139,7 +139,7 @@ class TileAppendInfo(BaseStruct):
class WeeklyForceOpenTable(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
startTime: int
endTime: int
forceOpenList: List[str]
@@ -241,7 +241,7 @@ class ApProtectZoneInfo(BaseStruct):
class StageTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
stages: Dict[str, StageData]
runeStageGroups: Dict[str, RuneStageGroupData]
diff --git a/ArknightsUID/utils/models/gamedata/StoryReviewMetaTable.py b/ArknightsUID/utils/models/gamedata/StoryReviewMetaTable.py
index 93cd866..395abac 100644
--- a/ArknightsUID/utils/models/gamedata/StoryReviewMetaTable.py
+++ b/ArknightsUID/utils/models/gamedata/StoryReviewMetaTable.py
@@ -11,9 +11,9 @@ class MiniActTrialDataRuleData(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class MiniActTrialDataMiniActTrialRewardData(BaseStruct):
@@ -38,23 +38,23 @@ class MiniActTrialData(BaseStruct):
class ActArchiveResDataPicArchiveResItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
desc: str
assetPath: str
- type_: str = field(name="type")
+ type_: str = field(name='type')
subType: Union[str, None]
picDescription: str
kvId: Union[str, None]
class ActArchiveResDataAudioArchiveResItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
desc: str
name: str
class ActArchiveResDataAvgArchiveResItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
desc: str
breifPath: Union[str, None]
contentPath: str
@@ -64,7 +64,7 @@ class ActArchiveResDataAvgArchiveResItemData(BaseStruct):
class ActArchiveResDataStoryArchiveResItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
desc: str
date: Union[str, None]
pic: str
@@ -86,7 +86,7 @@ class ActArchiveResDataActivityNewsLine(BaseStruct):
class ActArchiveResDataNewsArchiveResItemData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
desc: str
newsType: str
newsFormat: ActArchiveResDataNewsFormatData
@@ -229,7 +229,7 @@ class ActArchiveComponentTable(BaseStruct):
class StoryReviewMetaTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
miniActTrialData: MiniActTrialData
actArchiveResData: ActArchiveResData
diff --git a/ArknightsUID/utils/models/gamedata/StoryReviewTable.py b/ArknightsUID/utils/models/gamedata/StoryReviewTable.py
index 6e1d431..bf81c40 100644
--- a/ArknightsUID/utils/models/gamedata/StoryReviewTable.py
+++ b/ArknightsUID/utils/models/gamedata/StoryReviewTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class StoryDataConditionStageCondition(BaseStruct):
@@ -40,7 +40,7 @@ class StoryReviewInfoClientData(BaseStruct):
class StoryReviewGroupClientData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
name: str
entryType: str
actType: str
@@ -60,6 +60,6 @@ class StoryReviewGroupClientData(BaseStruct):
class StoryReviewTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
storyreviewtable: Dict[str, StoryReviewGroupClientData]
diff --git a/ArknightsUID/utils/models/gamedata/StoryTable.py b/ArknightsUID/utils/models/gamedata/StoryTable.py
index 756bfa9..8a223db 100644
--- a/ArknightsUID/utils/models/gamedata/StoryTable.py
+++ b/ArknightsUID/utils/models/gamedata/StoryTable.py
@@ -6,7 +6,7 @@ from msgspec import field
class StoryDataTrigger(BaseStruct):
- type_: str = field(name="type")
+ type_: str = field(name='type')
key: Union[str, None]
useRegex: bool
@@ -27,13 +27,13 @@ class StoryDataCondition(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class StoryData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
needCommit: bool
repeatable: bool
disabled: bool
@@ -46,6 +46,6 @@ class StoryData(BaseStruct):
class StoryTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
stories: Dict[str, StoryData]
diff --git a/ArknightsUID/utils/models/gamedata/TechBuffTable.py b/ArknightsUID/utils/models/gamedata/TechBuffTable.py
index ba1c07c..e330622 100644
--- a/ArknightsUID/utils/models/gamedata/TechBuffTable.py
+++ b/ArknightsUID/utils/models/gamedata/TechBuffTable.py
@@ -27,7 +27,7 @@ class RuneData(BaseStruct):
class PackedRuneData(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
points: float
mutexGroupKey: Union[str, None]
description: str
@@ -35,6 +35,6 @@ class PackedRuneData(BaseStruct):
class TechBuffTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
runes: List[PackedRuneData]
diff --git a/ArknightsUID/utils/models/gamedata/TipTable.py b/ArknightsUID/utils/models/gamedata/TipTable.py
index ecd57e3..168d025 100644
--- a/ArknightsUID/utils/models/gamedata/TipTable.py
+++ b/ArknightsUID/utils/models/gamedata/TipTable.py
@@ -17,7 +17,7 @@ class WorldViewTip(BaseStruct):
class TipTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
tips: List[TipData]
worldViewTips: List[WorldViewTip]
diff --git a/ArknightsUID/utils/models/gamedata/TokenTable.py b/ArknightsUID/utils/models/gamedata/TokenTable.py
index 3934afd..ab15426 100644
--- a/ArknightsUID/utils/models/gamedata/TokenTable.py
+++ b/ArknightsUID/utils/models/gamedata/TokenTable.py
@@ -32,7 +32,7 @@ class CharacterDataTraitDataBundle(BaseStruct):
class AttributesData(BaseStruct):
maxHp: int
atk: int
- def_: int = field(name="def")
+ def_: int = field(name='def')
magicResistance: float
cost: int
blockCnt: int
@@ -60,9 +60,9 @@ class CharacterDataAttributesKeyFrame(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class CharacterDataPhaseData(BaseStruct):
@@ -123,7 +123,7 @@ class ExternalBuff(BaseStruct):
class CharacterDataPotentialRank(BaseStruct):
- type_: int = field(name="type")
+ type_: int = field(name='type')
description: str
buff: Union[ExternalBuff, None]
equivalentCost: Union[ItemBundle, None]
@@ -170,6 +170,6 @@ class TokenCharacterData(BaseStruct):
class TokenTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
tokens: Dict[str, TokenCharacterData]
diff --git a/ArknightsUID/utils/models/gamedata/UniequipData.py b/ArknightsUID/utils/models/gamedata/UniequipData.py
index 7005384..8a46a80 100644
--- a/ArknightsUID/utils/models/gamedata/UniequipData.py
+++ b/ArknightsUID/utils/models/gamedata/UniequipData.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class UnlockCondition(BaseStruct):
@@ -39,7 +39,7 @@ class UniEquipData(BaseStruct):
unlockFavorPercent: int
missionList: List[str]
itemCost: Union[List[ItemBundle], None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
traitDescBundle: List[TraitDescBundle]
@@ -59,7 +59,7 @@ class SubProfessionData(BaseStruct):
class UniequipData(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
equipDict: Dict[str, UniEquipData]
missionList: Dict[str, UniEquipMissionData]
diff --git a/ArknightsUID/utils/models/gamedata/UniequipTable.py b/ArknightsUID/utils/models/gamedata/UniequipTable.py
index 9aabf84..24ffa6b 100644
--- a/ArknightsUID/utils/models/gamedata/UniequipTable.py
+++ b/ArknightsUID/utils/models/gamedata/UniequipTable.py
@@ -6,9 +6,9 @@ from msgspec import field
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class UniEquipData(BaseStruct):
@@ -29,7 +29,7 @@ class UniEquipData(BaseStruct):
unlockFavorPoint: int
missionList: List[str]
itemCost: Union[Dict[str, List[ItemBundle]], None]
- type_: str = field(name="type")
+ type_: str = field(name='type')
uniEquipGetTime: int
charEquipOrder: int
@@ -61,7 +61,7 @@ class UniEquipTimeInfo(BaseStruct):
class UniEquipTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
equipDict: Dict[str, UniEquipData]
missionList: Dict[str, UniEquipMissionData]
diff --git a/ArknightsUID/utils/models/gamedata/ZoneTable.py b/ArknightsUID/utils/models/gamedata/ZoneTable.py
index 218169f..1db5732 100644
--- a/ArknightsUID/utils/models/gamedata/ZoneTable.py
+++ b/ArknightsUID/utils/models/gamedata/ZoneTable.py
@@ -8,7 +8,7 @@ from msgspec import field
class ZoneData(BaseStruct):
zoneID: str
zoneIndex: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
zoneNameFirst: Union[str, None]
zoneNameSecond: Union[str, None]
zoneNameTitleCurrent: Union[str, None]
@@ -21,7 +21,7 @@ class ZoneData(BaseStruct):
class WeeklyZoneData(BaseStruct):
daysOfWeek: List[int]
- type_: str = field(name="type")
+ type_: str = field(name='type')
class ZoneValidInfo(BaseStruct):
@@ -47,9 +47,9 @@ class MainlineZoneData(BaseStruct):
class ItemBundle(BaseStruct):
- id_: str = field(name="id")
+ id_: str = field(name='id')
count: int
- type_: str = field(name="type")
+ type_: str = field(name='type')
class RecordRewardInfo(BaseStruct):
@@ -101,7 +101,7 @@ class ZoneMetaData(BaseStruct):
class ZoneTable(BaseStruct):
- __version__ = "23-10-31-11-47-45-d410ff"
+ __version__ = '23-10-31-11-47-45-d410ff'
zones: Dict[str, ZoneData]
weeklyAdditionInfo: Dict[str, WeeklyZoneData]
diff --git a/ArknightsUID/utils/models/gamedata/common.py b/ArknightsUID/utils/models/gamedata/common.py
index e71aa6b..b8a4131 100644
--- a/ArknightsUID/utils/models/gamedata/common.py
+++ b/ArknightsUID/utils/models/gamedata/common.py
@@ -2,23 +2,25 @@ from __future__ import annotations
from collections.abc import Callable, Iterable, Iterator
from copy import copy, deepcopy
-from typing import Any, Dict, Tuple, TypeVar, Union
-from typing_extensions import dataclass_transform
+from typing import Any, TypeVar
from msgspec import (
Struct,
UnsetType,
convert,
field,
+)
+from msgspec import (
json as mscjson,
)
+from typing_extensions import dataclass_transform
-Model = TypeVar("Model", bound="BaseStruct")
-T1 = TypeVar("T1")
-T2 = TypeVar("T2")
+Model = TypeVar('Model', bound='BaseStruct')
+T1 = TypeVar('T1')
+T2 = TypeVar('T2')
-def transUnset(v: Union[T1, UnsetType], d: T2 = None) -> Union[T1, T2]:
+def transUnset(v: T1 | UnsetType, d: T2 = None) -> T1 | T2:
return v if not isinstance(v, UnsetType) else d
@@ -39,8 +41,8 @@ class BaseStruct(
*,
strict: bool = True,
from_attributes: bool = False,
- dec_hook: Union[Callable[[type, Any], Any], None] = None,
- builtin_types: Union[Iterable[type], None] = None,
+ dec_hook: Callable[[type, Any], Any] | None = None,
+ builtin_types: Iterable[type] | None = None,
str_keys: bool = False,
) -> Model:
if obj is None:
@@ -57,7 +59,7 @@ class BaseStruct(
str_keys=str_keys,
)
- def __iter__(self) -> Iterator[Tuple[str, Any]]:
+ def __iter__(self) -> Iterator[tuple[str, Any]]:
for field_name in self.__struct_fields__:
yield field_name, getattr(self, field_name)
@@ -68,7 +70,7 @@ class BaseStruct(
for field_name in self.__struct_fields__:
yield getattr(self, field_name)
- def model_dump(self) -> Dict[str, Any]:
+ def model_dump(self) -> dict[str, Any]:
return mscjson.decode(mscjson.encode(self))
def dump_child(self, target: str) -> Any:
diff --git a/ArknightsUID/utils/models/skland/models.py b/ArknightsUID/utils/models/skland/models.py
index 0604269..16309fc 100644
--- a/ArknightsUID/utils/models/skland/models.py
+++ b/ArknightsUID/utils/models/skland/models.py
@@ -42,19 +42,22 @@ class ArknightsAttendanceAward(Struct):
count: int
type_: str = field(name='type')
+
class ArknightsAttendanceModel(Struct):
ts: str
awards: List[ArknightsAttendanceAward]
+
+
################
# ArknightsAttendance End
################
-
################
# ArknightsUserMeModel Start
################
+
class UserMeInfoApply(Struct):
nickname: str
profile: str
@@ -137,16 +140,17 @@ class ArknightsUserMeModel(Struct, omit_defaults=True):
moderator: UserMeModerator
userInfoApply: UserMeInfoApply
+
################
# ArknightsUserMeModel End
################
-
################
# ArknightsPlayerInfoModel Start
################
+
class PlayerManufactureFormulaInfo(Struct):
id_: str = field(name='id')
itemId: str
@@ -539,8 +543,8 @@ class PlayerInfoChar(Struct):
evolvePhase: int
potentialRank: int
mainSkillLvl: int
- skills: Union[List[PlayerInfoCharSkill] , None]
- equip: Union[List[PlayerInfoCharEquip] , None]
+ skills: Union[List[PlayerInfoCharSkill], None]
+ equip: Union[List[PlayerInfoCharEquip], None]
favorPercent: int
defaultSkillId: str
gainTime: int
diff --git a/ArknightsUID/utils/resource/RESOURCE_PATH.py b/ArknightsUID/utils/resource/RESOURCE_PATH.py
index ab99a8d..dfe6327 100644
--- a/ArknightsUID/utils/resource/RESOURCE_PATH.py
+++ b/ArknightsUID/utils/resource/RESOURCE_PATH.py
@@ -12,6 +12,7 @@ RESOURCE_PATH = MAIN_PATH / 'resource'
GAMEDATA_PATH = RESOURCE_PATH / 'gamedata'
SKIN_PATH = RESOURCE_PATH / 'skin'
+
def init_dir():
for i in [
MAIN_PATH,
@@ -19,7 +20,7 @@ def init_dir():
PLAYER_PATH,
RESOURCE_PATH,
GAMEDATA_PATH,
- SKIN_PATH
+ SKIN_PATH,
]:
i.mkdir(parents=True, exist_ok=True)
diff --git a/ArknightsUID/version.py b/ArknightsUID/version.py
index ca67c05..0659ef3 100644
--- a/ArknightsUID/version.py
+++ b/ArknightsUID/version.py
@@ -1,3 +1,3 @@
-ArknightsUID_version = "0.1.0"
-Arknights_Client_version = "2.1.21"
-Arknights_Res_version = "23-10-31-11-47-45-d410ff"
+ArknightsUID_version = '0.1.0'
+Arknights_Client_version = '2.1.21'
+Arknights_Res_version = '23-10-31-11-47-45-d410ff'
diff --git a/README.md b/README.md
index d1025e3..da5c173 100644
--- a/README.md
+++ b/README.md
@@ -4,14 +4,13 @@
-
+