mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-06 20:29:59 +08:00
fit nonebot.beta2
This commit is contained in:
+123
-371
@@ -1,6 +1,7 @@
|
||||
import nonebot
|
||||
from pathlib import Path
|
||||
from configs.path_config import DATA_PATH
|
||||
from nonebot.log import logger
|
||||
from pydantic import BaseModel, Extra, ValidationError
|
||||
from configs.path_config import IMAGE_PATH, DATA_PATH
|
||||
from configs.config import Config
|
||||
|
||||
try:
|
||||
@@ -9,133 +10,111 @@ except ModuleNotFoundError:
|
||||
import json
|
||||
|
||||
|
||||
DRAW_PATH = DATA_PATH + "/draw_card/"
|
||||
|
||||
_draw_config = Path(rf"{DRAW_PATH}/draw_card_config/draw_card_config.json")
|
||||
# 原神
|
||||
class GenshinConfig(BaseModel, extra=Extra.ignore):
|
||||
GENSHIN_FIVE_P: float = 0.006
|
||||
GENSHIN_FOUR_P: float = 0.051
|
||||
GENSHIN_THREE_P: float = 0.43
|
||||
GENSHIN_G_FIVE_P: float = 0.13
|
||||
GENSHIN_G_FOUR_P: float = 0.016
|
||||
I72_ADD: float = 0.0585
|
||||
|
||||
|
||||
for game_flag, game_name in zip(
|
||||
[
|
||||
"PRTS_FLAG",
|
||||
"GENSHIN_FLAG",
|
||||
"PRETTY_FLAG",
|
||||
"GUARDIAN_FLAG",
|
||||
"PCR_FLAG",
|
||||
"AZUR_FLAG",
|
||||
"FGO_FLAG",
|
||||
"ONMYOJI_FLAG",
|
||||
"PCR_TAI",
|
||||
],
|
||||
["明日方舟", "原神", "赛马娘", "坎公骑冠剑", "公主连结", "碧蓝航线", "命运-冠位指定(FGO)", "阴阳师", "pcr台服卡池"],
|
||||
):
|
||||
Config.add_plugin_config(
|
||||
"draw_card",
|
||||
game_flag,
|
||||
True,
|
||||
name="游戏抽卡",
|
||||
help_=f"{game_name} 抽卡开关",
|
||||
default_value=True,
|
||||
)
|
||||
Config.add_plugin_config(
|
||||
"draw_card", "SEMAPHORE", 5, help_=f"异步数据下载数量限制", default_value=5
|
||||
)
|
||||
PRTS_FLAG = Config.get_config("draw_card", "PRTS_FLAG")
|
||||
GENSHIN_FLAG = Config.get_config("draw_card", "GENSHIN_FLAG")
|
||||
PRETTY_FLAG = Config.get_config("draw_card", "PRETTY_FLAG")
|
||||
GUARDIAN_FLAG = Config.get_config("draw_card", "GUARDIAN_FLAG")
|
||||
PCR_FLAG = Config.get_config("draw_card", "PCR_FLAG")
|
||||
AZUR_FLAG = Config.get_config("draw_card", "AZUR_FLAG")
|
||||
FGO_FLAG = Config.get_config("draw_card", "FGO_FLAG")
|
||||
ONMYOJI_FLAG = Config.get_config("draw_card", "ONMYOJI_FLAG")
|
||||
|
||||
PCR_TAI = Config.get_config("draw_card", "PCR_TAI")
|
||||
SEMAPHORE = Config.get_config("draw_card", "SEMAPHORE")
|
||||
# 明日方舟
|
||||
class PrtsConfig(BaseModel, extra=Extra.ignore):
|
||||
PRTS_SIX_P: float = 0.02
|
||||
PRTS_FIVE_P: float = 0.08
|
||||
PRTS_FOUR_P: float = 0.48
|
||||
PRTS_THREE_P: float = 0.42
|
||||
|
||||
|
||||
# 方舟概率
|
||||
PRTS_SIX_P = 0.02
|
||||
PRTS_FIVE_P = 0.08
|
||||
PRTS_FOUR_P = 0.48
|
||||
PRTS_THREE_P = 0.42
|
||||
# 赛马娘
|
||||
class PrettyConfig(BaseModel, extra=Extra.ignore):
|
||||
PRETTY_THREE_P: float = 0.03
|
||||
PRETTY_TWO_P: float = 0.18
|
||||
PRETTY_ONE_P: float = 0.79
|
||||
|
||||
# 原神概率
|
||||
GENSHIN_FIVE_P = 0.006
|
||||
GENSHIN_FOUR_P = 0.051
|
||||
GENSHIN_THREE_P = 0.43
|
||||
# 保底概率
|
||||
GENSHIN_G_FIVE_P = 0.016
|
||||
GENSHIN_G_FOUR_P = 0.13
|
||||
# 72抽后增加的概率
|
||||
I72_ADD = 0.0585
|
||||
|
||||
# 赛马娘概率
|
||||
PRETTY_THREE_P = 0.03
|
||||
PRETTY_TWO_P = 0.18
|
||||
PRETTY_ONE_P = 0.79
|
||||
|
||||
# 坎公骑冠剑
|
||||
# 角色概率
|
||||
GUARDIAN_THREE_CHAR_P = 0.0275
|
||||
GUARDIAN_TWO_CHAR_P = 0.19
|
||||
GUARDIAN_ONE_CHAR_P = 0.7825
|
||||
# UP角色
|
||||
GUARDIAN_THREE_CHAR_UP_P = 0.01375
|
||||
GUARDIAN_THREE_CHAR_OTHER_P = 0.01375
|
||||
# 武器概率
|
||||
GUARDIAN_EXCLUSIVE_ARMS_P = 0.03
|
||||
GUARDIAN_FIVE_ARMS_P = 0.03
|
||||
GUARDIAN_FOUR_ARMS_P = 0.09
|
||||
GUARDIAN_THREE_ARMS_P = 0.27
|
||||
GUARDIAN_TWO_ARMS_P = 0.58
|
||||
# UP武器
|
||||
GUARDIAN_EXCLUSIVE_ARMS_UP_P = 0.01
|
||||
GUARDIAN_EXCLUSIVE_ARMS_OTHER_P = 0.02
|
||||
class GuardianConfig(BaseModel, extra=Extra.ignore):
|
||||
GUARDIAN_THREE_CHAR_P: float = 0.0275
|
||||
GUARDIAN_TWO_CHAR_P: float = 0.19
|
||||
GUARDIAN_ONE_CHAR_P: float = 0.7825
|
||||
GUARDIAN_THREE_CHAR_UP_P: float = 0.01375
|
||||
GUARDIAN_THREE_CHAR_OTHER_P: float = 0.01375
|
||||
GUARDIAN_EXCLUSIVE_ARMS_P: float = 0.03
|
||||
GUARDIAN_FIVE_ARMS_P: float = 0.03
|
||||
GUARDIAN_FOUR_ARMS_P: float = 0.09
|
||||
GUARDIAN_THREE_ARMS_P: float = 0.27
|
||||
GUARDIAN_TWO_ARMS_P: float = 0.58
|
||||
GUARDIAN_EXCLUSIVE_ARMS_UP_P: float = 0.01
|
||||
GUARDIAN_EXCLUSIVE_ARMS_OTHER_P: float = 0.02
|
||||
|
||||
|
||||
# 公主连结
|
||||
class PcrConfig(BaseModel, extra=Extra.ignore):
|
||||
PCR_THREE_P: float = 0.025
|
||||
PCR_TWO_P: float = 0.18
|
||||
PCR_ONE_P: float = 0.795
|
||||
PCR_G_THREE_P: float = 0.025
|
||||
PCR_G_TWO_P: float = 0.975
|
||||
|
||||
# PCR
|
||||
PCR_THREE_P = 0.025
|
||||
PCR_TWO_P = 0.18
|
||||
PCR_ONE_P = 0.795
|
||||
# 保底
|
||||
PCR_G_THREE_P = 0.025
|
||||
PCR_G_TWO_P = 0.975
|
||||
|
||||
# 碧蓝航线
|
||||
AZUR_FIVE_P = 0.012
|
||||
AZUR_FOUR_P = 0.07
|
||||
AZUR_THREE_P = 0.12
|
||||
AZUR_TWO_P = 0.51
|
||||
AZUR_ONE_P = 0.3
|
||||
class AzurConfig(BaseModel, extra=Extra.ignore):
|
||||
AZUR_FIVE_P: float = 0.012
|
||||
AZUR_FOUR_P: float = 0.07
|
||||
AZUR_THREE_P: float = 0.12
|
||||
AZUR_TWO_P: float = 0.51
|
||||
AZUR_ONE_P: float = 0.3
|
||||
|
||||
|
||||
# 命运-冠位指定
|
||||
class FgoConfig(BaseModel, extra=Extra.ignore):
|
||||
FGO_SERVANT_FIVE_P: float = 0.01
|
||||
FGO_SERVANT_FOUR_P: float = 0.03
|
||||
FGO_SERVANT_THREE_P: float = 0.4
|
||||
FGO_CARD_FIVE_P: float = 0.04
|
||||
FGO_CARD_FOUR_P: float = 0.12
|
||||
FGO_CARD_THREE_P: float = 0.4
|
||||
|
||||
# FGO
|
||||
FGO_SERVANT_FIVE_P = 0.01
|
||||
FGO_SERVANT_FOUR_P = 0.03
|
||||
FGO_SERVANT_THREE_P = 0.4
|
||||
FGO_CARD_FIVE_P = 0.04
|
||||
FGO_CARD_FOUR_P = 0.12
|
||||
FGO_CARD_THREE_P = 0.4
|
||||
|
||||
# 阴阳师
|
||||
ONMYOJI_SP = 0.0025
|
||||
ONMYOJI_SSR = 0.01
|
||||
ONMYOJI_SR = 0.2
|
||||
ONMYOJI_R = 0.7875
|
||||
class OnmyojiConfig(BaseModel, extra=Extra.ignore):
|
||||
ONMYOJI_SP: float = 0.0025
|
||||
ONMYOJI_SSR: float = 0.01
|
||||
ONMYOJI_SR: float = 0.2
|
||||
ONMYOJI_R: float = 0.7875
|
||||
|
||||
|
||||
path_dict = {
|
||||
"genshin": "原神",
|
||||
"prts": "明日方舟",
|
||||
"pretty": "赛马娘",
|
||||
"guardian": "坎公骑冠剑",
|
||||
"pcr": "公主连结",
|
||||
"azur": "碧蓝航线",
|
||||
"fgo": "命运-冠位指定",
|
||||
"onmyoji": "阴阳师",
|
||||
}
|
||||
class PathDict(BaseModel, extra=Extra.ignore):
|
||||
genshin: str = "原神"
|
||||
prts: str = "明日方舟"
|
||||
pretty: str = "赛马娘"
|
||||
guardian: str = "坎公骑冠剑"
|
||||
pcr: str = "公主连结"
|
||||
azur: str = "碧蓝航线"
|
||||
fgo: str = "命运-冠位指定"
|
||||
onmyoji: str = "阴阳师"
|
||||
|
||||
driver: nonebot.Driver = nonebot.get_driver()
|
||||
|
||||
config_default_data = {
|
||||
"path_dict": {
|
||||
class DrawConfig(BaseModel, extra=Extra.ignore):
|
||||
# 开关
|
||||
PRTS_FLAG: bool = Config.get_config("draw_card", "PRTS_FLAG")
|
||||
GENSHIN_FLAG: bool = Config.get_config("draw_card", "GENSHIN_FLAG")
|
||||
PRETTY_FLAG: bool = Config.get_config("draw_card", "PRETTY_FLAG")
|
||||
GUARDIAN_FLAG: bool = Config.get_config("draw_card", "GUARDIAN_FLAG")
|
||||
PCR_FLAG: bool = Config.get_config("draw_card", "PCR_FLAG")
|
||||
AZUR_FLAG: bool = Config.get_config("draw_card", "AZUR_FLAG")
|
||||
FGO_FLAG: bool = Config.get_config("draw_card", "FGO_FLAG")
|
||||
ONMYOJI_FLAG: bool = Config.get_config("draw_card", "ONMYOJI_FLAG")
|
||||
|
||||
# 其他配置
|
||||
PCR_TAI: bool = Config.get_config("draw_card", "PCR_TAI")
|
||||
SEMAPHORE: int = Config.get_config("draw_card", "SEMAPHORE")
|
||||
|
||||
# 路径
|
||||
path_dict: dict = {
|
||||
"genshin": "原神",
|
||||
"prts": "明日方舟",
|
||||
"pretty": "赛马娘",
|
||||
@@ -144,268 +123,41 @@ config_default_data = {
|
||||
"azur": "碧蓝航线",
|
||||
"fgo": "命运-冠位指定",
|
||||
"onmyoji": "阴阳师",
|
||||
},
|
||||
"prts": {
|
||||
"PRTS_SIX_P": 0.02,
|
||||
"PRTS_FIVE_P": 0.08,
|
||||
"PRTS_FOUR_P": 0.48,
|
||||
"PRTS_THREE_P": 0.42,
|
||||
},
|
||||
"genshin": {
|
||||
"GENSHIN_FIVE_P": 0.006,
|
||||
"GENSHIN_FOUR_P": 0.051,
|
||||
"GENSHIN_THREE_P": 0.43,
|
||||
"GENSHIN_G_FIVE_P": 0.13,
|
||||
"GENSHIN_G_FOUR_P": 0.016,
|
||||
"I72_ADD": 0.0585,
|
||||
},
|
||||
"pretty": {
|
||||
"PRETTY_THREE_P": 0.03,
|
||||
"PRETTY_TWO_P": 0.18,
|
||||
"PRETTY_ONE_P": 0.79,
|
||||
},
|
||||
"guardian": {
|
||||
"GUARDIAN_THREE_CHAR_P": 0.0275,
|
||||
"GUARDIAN_TWO_CHAR_P": 0.19,
|
||||
"GUARDIAN_ONE_CHAR_P": 0.7825,
|
||||
"GUARDIAN_THREE_CHAR_UP_P": 0.01375,
|
||||
"GUARDIAN_THREE_CHAR_OTHER_P": 0.01375,
|
||||
"GUARDIAN_EXCLUSIVE_ARMS_P": 0.03,
|
||||
"GUARDIAN_FIVE_ARMS_P": 0.03,
|
||||
"GUARDIAN_FOUR_ARMS_P": 0.09,
|
||||
"GUARDIAN_THREE_ARMS_P": 0.27,
|
||||
"GUARDIAN_TWO_ARMS_P": 0.58,
|
||||
"GUARDIAN_EXCLUSIVE_ARMS_UP_P": 0.01,
|
||||
"GUARDIAN_EXCLUSIVE_ARMS_OTHER_P": 0.02,
|
||||
},
|
||||
"pcr": {
|
||||
"PCR_THREE_P": 0.025,
|
||||
"PCR_TWO_P": 0.18,
|
||||
"PCR_ONE_P": 0.795,
|
||||
},
|
||||
"azur": {
|
||||
"AZUR_FIVE_P": 0.012,
|
||||
"AZUR_FOUR_P": 0.07,
|
||||
"AZUR_THREE_P": 0.12,
|
||||
"AZUR_TWO_P": 0.51,
|
||||
"AZUR_ONE_P": 0.3,
|
||||
},
|
||||
"fgo": {
|
||||
"FGO_SERVANT_FIVE_P": 0.01,
|
||||
"FGO_SERVANT_FOUR_P": 0.03,
|
||||
"FGO_SERVANT_THREE_P": 0.4,
|
||||
"FGO_CARD_FIVE_P": 0.04,
|
||||
"FGO_CARD_FOUR_P": 0.12,
|
||||
"FGO_CARD_THREE_P": 0.4,
|
||||
},
|
||||
"onmyoji": {
|
||||
"ONMYOJI_SP": 0.0025,
|
||||
"ONMYOJI_SSR": 0.01,
|
||||
"ONMYOJI_SR": 0.2,
|
||||
"ONMYOJI_R": 0.7875,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
# 抽卡概率
|
||||
prts: PrtsConfig = PrtsConfig()
|
||||
genshin: GenshinConfig = GenshinConfig()
|
||||
pretty: PrettyConfig = PrettyConfig()
|
||||
guardian: GuardianConfig = GuardianConfig()
|
||||
pcr: PcrConfig = PcrConfig()
|
||||
azur: AzurConfig = AzurConfig()
|
||||
fgo: FgoConfig = FgoConfig()
|
||||
onmyoji: OnmyojiConfig = OnmyojiConfig()
|
||||
|
||||
|
||||
driver = nonebot.get_driver()
|
||||
global_config = driver.config
|
||||
DRAW_DATA_PATH = DATA_PATH / "draw_card"
|
||||
DRAW_IMAGE_PATH = IMAGE_PATH / "draw_card"
|
||||
# DRAW_PATH = Path(draw_path) if draw_path else Path("data/draw_card").absolute()
|
||||
config_path = DRAW_DATA_PATH / "draw_card_config" / "draw_card_config.json"
|
||||
|
||||
draw_config: Config = DrawConfig()
|
||||
|
||||
|
||||
@driver.on_startup
|
||||
def check_config():
|
||||
global PRTS_SIX_P, PRTS_FOUR_P, PRTS_FIVE_P, PRTS_THREE_P, GENSHIN_G_FIVE_P, config_default_data, GENSHIN_G_FOUR_P, GENSHIN_FOUR_P, GENSHIN_FIVE_P, I72_ADD, path_dict, PRETTY_THREE_P, PRETTY_ONE_P, PRETTY_TWO_P, GENSHIN_THREE_P, GUARDIAN_THREE_CHAR_P, GUARDIAN_TWO_CHAR_P, GUARDIAN_ONE_CHAR_P, GUARDIAN_THREE_CHAR_UP_P, GUARDIAN_THREE_CHAR_OTHER_P, GUARDIAN_EXCLUSIVE_ARMS_P, GUARDIAN_FIVE_ARMS_P, GUARDIAN_FOUR_ARMS_P, GUARDIAN_THREE_ARMS_P, GUARDIAN_TWO_ARMS_P, GENSHIN_FLAG, PRTS_FLAG, PRETTY_FLAG, GUARDIAN_FLAG, GUARDIAN_EXCLUSIVE_ARMS_UP_P, GUARDIAN_EXCLUSIVE_ARMS_OTHER_P, DRAW_PATH, PCR_THREE_P, PCR_TWO_P, PCR_ONE_P, AZUR_FOUR_P, AZUR_THREE_P, AZUR_TWO_P, AZUR_ONE_P, AZUR_FIVE_P, FGO_CARD_FIVE_P, FGO_CARD_FOUR_P, FGO_CARD_THREE_P, FGO_SERVANT_THREE_P, FGO_SERVANT_FOUR_P, FGO_SERVANT_FIVE_P, ONMYOJI_R, ONMYOJI_SP, ONMYOJI_SSR, ONMYOJI_SR
|
||||
_draw_config.parent.mkdir(parents=True, exist_ok=True)
|
||||
try:
|
||||
data = json.load(open(_draw_config, "r", encoding="utf8"))
|
||||
except (FileNotFoundError, ValueError):
|
||||
_draw_config.parent.mkdir(parents=True, exist_ok=True)
|
||||
json.dump(
|
||||
config_default_data,
|
||||
open(_draw_config, "w", encoding="utf8"),
|
||||
indent=4,
|
||||
ensure_ascii=False,
|
||||
)
|
||||
print("draw_card:配置文件不存在或格式错误,已重新生成配置文件.....")
|
||||
else:
|
||||
global draw_config
|
||||
|
||||
try:
|
||||
PRTS_SIX_P = float(data["prts"]["PRTS_SIX_P"])
|
||||
PRTS_FIVE_P = float(data["prts"]["PRTS_FIVE_P"])
|
||||
PRTS_FOUR_P = float(data["prts"]["PRTS_FOUR_P"])
|
||||
PRTS_THREE_P = float(data["prts"]["PRTS_THREE_P"])
|
||||
except KeyError:
|
||||
data["prts"] = {}
|
||||
data["prts"]["PRTS_SIX_P"] = config_default_data["prts"]["PRTS_SIX_P"]
|
||||
data["prts"]["PRTS_FIVE_P"] = config_default_data["prts"]["PRTS_FIVE_P"]
|
||||
data["prts"]["PRTS_FOUR_P"] = config_default_data["prts"]["PRTS_FOUR_P"]
|
||||
data["prts"]["PRTS_THREE_P"] = config_default_data["prts"]["PRTS_THREE_P"]
|
||||
if not config_path.exists():
|
||||
config_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
draw_config = DrawConfig()
|
||||
logger.warning("draw_card:配置文件不存在,已重新生成配置文件.....")
|
||||
|
||||
try:
|
||||
GENSHIN_FIVE_P = float(data["genshin"]["GENSHIN_FIVE_P"])
|
||||
GENSHIN_FOUR_P = float(data["genshin"]["GENSHIN_FOUR_P"])
|
||||
GENSHIN_THREE_P = float(data["genshin"]["GENSHIN_THREE_P"])
|
||||
GENSHIN_G_FIVE_P = float(data["genshin"]["GENSHIN_G_FIVE_P"])
|
||||
GENSHIN_G_FOUR_P = float(data["genshin"]["GENSHIN_G_FOUR_P"])
|
||||
I72_ADD = float(data["genshin"]["I72_ADD"])
|
||||
except KeyError:
|
||||
data["genshin"] = {}
|
||||
data["genshin"]["GENSHIN_FIVE_P"] = config_default_data["genshin"][
|
||||
"GENSHIN_FIVE_P"
|
||||
]
|
||||
data["genshin"]["GENSHIN_FOUR_P"] = config_default_data["genshin"][
|
||||
"GENSHIN_FOUR_P"
|
||||
]
|
||||
data["genshin"]["GENSHIN_THREE_P"] = config_default_data["genshin"][
|
||||
"GENSHIN_THREE_P"
|
||||
]
|
||||
data["genshin"]["GENSHIN_G_FIVE_P"] = config_default_data["genshin"][
|
||||
"GENSHIN_G_FIVE_P"
|
||||
]
|
||||
data["genshin"]["GENSHIN_G_FOUR_P"] = config_default_data["genshin"][
|
||||
"GENSHIN_G_FOUR_P"
|
||||
]
|
||||
data["genshin"]["I72_ADD"] = config_default_data["genshin"]["I72_ADD"]
|
||||
|
||||
try:
|
||||
PRETTY_THREE_P = float(data["pretty"]["PRETTY_THREE_P"])
|
||||
PRETTY_TWO_P = float(data["pretty"]["PRETTY_TWO_P"])
|
||||
PRETTY_ONE_P = float(data["pretty"]["PRETTY_ONE_P"])
|
||||
except KeyError:
|
||||
data["pretty"] = {}
|
||||
data["pretty"]["PRETTY_THREE_P"] = config_default_data["pretty"][
|
||||
"PRETTY_THREE_P"
|
||||
]
|
||||
data["pretty"]["PRETTY_TWO_P"] = config_default_data["pretty"][
|
||||
"PRETTY_TWO_P"
|
||||
]
|
||||
data["pretty"]["PRETTY_ONE_P"] = config_default_data["pretty"][
|
||||
"PRETTY_ONE_P"
|
||||
]
|
||||
|
||||
try:
|
||||
GUARDIAN_THREE_CHAR_P = float(data["guardian"]["GUARDIAN_THREE_CHAR_P"])
|
||||
GUARDIAN_TWO_CHAR_P = float(data["guardian"]["GUARDIAN_TWO_CHAR_P"])
|
||||
GUARDIAN_ONE_CHAR_P = float(data["guardian"]["GUARDIAN_ONE_CHAR_P"])
|
||||
GUARDIAN_THREE_CHAR_UP_P = float(
|
||||
data["guardian"]["GUARDIAN_THREE_CHAR_UP_P"]
|
||||
)
|
||||
GUARDIAN_THREE_CHAR_OTHER_P = float(
|
||||
data["guardian"]["GUARDIAN_THREE_CHAR_OTHER_P"]
|
||||
)
|
||||
GUARDIAN_EXCLUSIVE_ARMS_P = float(
|
||||
data["guardian"]["GUARDIAN_EXCLUSIVE_ARMS_P"]
|
||||
)
|
||||
GUARDIAN_FIVE_ARMS_P = float(data["guardian"]["GUARDIAN_FIVE_ARMS_P"])
|
||||
GUARDIAN_FOUR_ARMS_P = float(data["guardian"]["GUARDIAN_FOUR_ARMS_P"])
|
||||
GUARDIAN_THREE_ARMS_P = float(data["guardian"]["GUARDIAN_THREE_ARMS_P"])
|
||||
GUARDIAN_TWO_ARMS_P = float(data["guardian"]["GUARDIAN_TWO_ARMS_P"])
|
||||
GUARDIAN_EXCLUSIVE_ARMS_UP_P = float(
|
||||
data["guardian"]["GUARDIAN_EXCLUSIVE_ARMS_UP_P"]
|
||||
)
|
||||
GUARDIAN_EXCLUSIVE_ARMS_OTHER_P = float(
|
||||
data["guardian"]["GUARDIAN_EXCLUSIVE_ARMS_OTHER_P"]
|
||||
)
|
||||
except KeyError:
|
||||
data["guardian"] = {}
|
||||
data["guardian"]["GUARDIAN_THREE_CHAR_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_THREE_CHAR_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_TWO_CHAR_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_TWO_CHAR_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_ONE_CHAR_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_ONE_CHAR_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_THREE_CHAR_UP_P"] = config_default_data[
|
||||
"guardian"
|
||||
]["GUARDIAN_THREE_CHAR_UP_P"]
|
||||
data["guardian"]["GUARDIAN_THREE_CHAR_OTHER_P"] = config_default_data[
|
||||
"guardian"
|
||||
]["GUARDIAN_THREE_CHAR_OTHER_P"]
|
||||
data["guardian"]["GUARDIAN_EXCLUSIVE_ARMS_P"] = config_default_data[
|
||||
"guardian"
|
||||
]["GUARDIAN_EXCLUSIVE_ARMS_P"]
|
||||
data["guardian"]["GUARDIAN_FIVE_ARMS_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_FIVE_ARMS_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_FOUR_ARMS_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_FOUR_ARMS_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_THREE_ARMS_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_THREE_ARMS_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_TWO_ARMS_P"] = config_default_data["guardian"][
|
||||
"GUARDIAN_TWO_ARMS_P"
|
||||
]
|
||||
data["guardian"]["GUARDIAN_EXCLUSIVE_ARMS_UP_P"] = config_default_data[
|
||||
"guardian"
|
||||
]["GUARDIAN_EXCLUSIVE_ARMS_UP_P"]
|
||||
data["guardian"]["GUARDIAN_EXCLUSIVE_ARMS_OTHER_P"] = config_default_data[
|
||||
"guardian"
|
||||
]["GUARDIAN_EXCLUSIVE_ARMS_OTHER_P"]
|
||||
|
||||
try:
|
||||
PCR_THREE_P = float(data["pcr"]["PCR_THREE_P"])
|
||||
PCR_TWO_P = float(data["pcr"]["PCR_TWO_P"])
|
||||
PCR_ONE_P = float(data["pcr"]["PCR_ONE_P"])
|
||||
except KeyError:
|
||||
data["pcr"] = {}
|
||||
data["pcr"]["PCR_THREE_P"] = config_default_data["pcr"]["PCR_THREE_P"]
|
||||
data["pcr"]["PCR_TWO_P"] = config_default_data["pcr"]["PCR_TWO_P"]
|
||||
data["pcr"]["PCR_ONE_P"] = config_default_data["pcr"]["PCR_ONE_P"]
|
||||
|
||||
try:
|
||||
AZUR_FIVE_P = float(data["azur"]["AZUR_FIVE_P"])
|
||||
AZUR_FOUR_P = float(data["azur"]["AZUR_FOUR_P"])
|
||||
AZUR_THREE_P = float(data["azur"]["AZUR_THREE_P"])
|
||||
AZUR_TWO_P = float(data["azur"]["AZUR_TWO_P"])
|
||||
AZUR_ONE_P = float(data["azur"]["AZUR_ONE_P"])
|
||||
except KeyError:
|
||||
data["azur"] = {}
|
||||
data["azur"]["AZUR_FIVE_P"] = config_default_data["azur"]["AZUR_FIVE_P"]
|
||||
data["azur"]["AZUR_FOUR_P"] = config_default_data["azur"]["AZUR_FOUR_P"]
|
||||
data["azur"]["AZUR_THREE_P"] = config_default_data["azur"]["AZUR_THREE_P"]
|
||||
data["azur"]["AZUR_TWO_P"] = config_default_data["azur"]["AZUR_TWO_P"]
|
||||
data["azur"]["AZUR_ONE_P"] = config_default_data["azur"]["AZUR_ONE_P"]
|
||||
|
||||
try:
|
||||
FGO_SERVANT_FIVE_P = float(data["fgo"]["FGO_SERVANT_FIVE_P"])
|
||||
FGO_SERVANT_FOUR_P = float(data["fgo"]["FGO_SERVANT_FOUR_P"])
|
||||
FGO_SERVANT_THREE_P = float(data["fgo"]["FGO_SERVANT_THREE_P"])
|
||||
FGO_CARD_FIVE_P = float(data["fgo"]["FGO_CARD_FIVE_P"])
|
||||
FGO_CARD_FOUR_P = float(data["fgo"]["FGO_CARD_FOUR_P"])
|
||||
FGO_CARD_THREE_P = float(data["fgo"]["FGO_CARD_THREE_P"])
|
||||
except KeyError:
|
||||
data["fgo"] = {}
|
||||
data["fgo"]["FGO_SERVANT_FIVE_P"] = config_default_data["fgo"][
|
||||
"FGO_SERVANT_FIVE_P"
|
||||
]
|
||||
data["fgo"]["FGO_SERVANT_FOUR_P"] = config_default_data["fgo"][
|
||||
"FGO_SERVANT_FOUR_P"
|
||||
]
|
||||
data["fgo"]["FGO_SERVANT_THREE_P"] = config_default_data["fgo"][
|
||||
"FGO_SERVANT_THREE_P"
|
||||
]
|
||||
data["fgo"]["FGO_CARD_FIVE_P"] = config_default_data["fgo"][
|
||||
"FGO_CARD_FIVE_P"
|
||||
]
|
||||
data["fgo"]["FGO_CARD_FOUR_P"] = config_default_data["fgo"][
|
||||
"FGO_CARD_FOUR_P"
|
||||
]
|
||||
data["fgo"]["FGO_CARD_THREE_P"] = config_default_data["fgo"][
|
||||
"FGO_CARD_THREE_P"
|
||||
]
|
||||
|
||||
try:
|
||||
ONMYOJI_SP = float(data["onmyoji"]["ONMYOJI_SP"])
|
||||
ONMYOJI_SSR = float(data["onmyoji"]["ONMYOJI_SSR"])
|
||||
ONMYOJI_SR = float(data["onmyoji"]["ONMYOJI_SR"])
|
||||
ONMYOJI_R = float(data["onmyoji"]["ONMYOJI_R"])
|
||||
except KeyError:
|
||||
data["onmyoji"] = {}
|
||||
data["onmyoji"]["ONMYOJI_SP"] = config_default_data["onmyoji"]["ONMYOJI_SP"]
|
||||
data["onmyoji"]["ONMYOJI_SSR"] = config_default_data["onmyoji"][
|
||||
"ONMYOJI_SSR"
|
||||
]
|
||||
data["onmyoji"]["ONMYOJI_SR"] = config_default_data["onmyoji"]["ONMYOJI_SR"]
|
||||
data["onmyoji"]["ONMYOJI_R"] = config_default_data["onmyoji"]["ONMYOJI_R"]
|
||||
|
||||
json.dump(
|
||||
data, open(_draw_config, "w", encoding="utf8"), indent=4, ensure_ascii=False
|
||||
)
|
||||
json.dump(
|
||||
draw_config.dict(),
|
||||
config_path.open("w", encoding="utf8"),
|
||||
indent=4,
|
||||
ensure_ascii=False,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user