zhenxun_bot/plugins/draw_card/config.py
2021-05-20 17:06:54 +08:00

105 lines
2.7 KiB
Python

import nonebot
from pathlib import Path
try:
import ujson as json
except ModuleNotFoundError:
import json
# 方舟概率
PRTS_SIX_P = 0.02
PRTS_FIVE_P = 0.08
PRTS_FOUR_P = 0.48
PRTS_THREE_P = 0.42
# 原神概率
GENSHIN_FIVE_P = 0.006
GENSHIN_FOUR_P = 0.051
GENSHIN_THREE_P = 0.43
GENSHIN_G_FOUR_P = 0.13
GENSHIN_G_FIVE_P = 0.016
I72_ADD = 0.0585
# 赛马娘概率
PRETTY_THREE = 0.03
PRETTY_TWO = 0.18
PRETTY_ONE = 0.79
path_dict = {
'genshin': '原神',
'prts': '明日方舟',
'pretty': '赛马娘',
}
_draw_config = Path() / "data" / "draw_card" / "draw_card_config" / "draw_card_config.json"
driver: nonebot.Driver = nonebot.get_driver()
@driver.on_startup
def check_config():
global PRTS_SIX_P, PRTS_FOUR_P, PRTS_FIVE_P, PRTS_THREE_P, GENSHIN_G_FIVE_P, \
GENSHIN_G_FOUR_P, GENSHIN_FOUR_P, GENSHIN_FIVE_P, I72_ADD, path_dict, PRETTY_THREE, \
PRETTY_ONE, PRETTY_TWO, GENSHIN_THREE_P
if _draw_config.exists():
data = json.load(open(_draw_config, 'r', encoding='utf8'))
PRTS_SIX_P = float(data['prts']['six'])
PRTS_FIVE_P = float(data['prts']['five'])
PRTS_FOUR_P = float(data['prts']['four'])
PRTS_THREE_P = float(data['prts']['three'])
GENSHIN_FIVE_P = float(data['genshin']['five_char'])
GENSHIN_FOUR_P = float(data['genshin']['four_char'])
GENSHIN_THREE_P = float(data['genshin']['three_char'])
GENSHIN_G_FIVE_P = float(data['genshin']['five_weapon'])
GENSHIN_G_FOUR_P = float(data['genshin']['four_weapon'])
I72_ADD = float(data['genshin']['72_add'])
PRETTY_THREE = float(data['pretty']['three'])
PRETTY_TWO = float(data['pretty']['two'])
PRETTY_ONE = float(data['pretty']['one'])
path_dict = data['path_dict']
else:
_draw_config.parent.mkdir(parents=True, exist_ok=True)
config_dict = {
'path_dict': {
'genshin': '原神',
'prts': '明日方舟',
'pretty': '赛马娘',
},
'prts': {
'six': 0.02,
'five': 0.08,
'four': 0.48,
'three': 0.42,
},
'genshin': {
'five_char': 0.006,
'four_char': 0.051,
'three_char': 0.43,
'five_weapon': 0.13,
'four_weapon': 0.016,
'72_add': 0.0585,
},
'pretty': {
'three': 0.03,
'two': 0.18,
'one': 0.79,
}
}
json.dump(config_dict, open(_draw_config, 'w', encoding='utf8'), indent=4, ensure_ascii=False)