zhenxun_bot/zhenxun/builtin_plugins/sign_in/_random_event.py
2024-02-25 03:18:34 +08:00

34 lines
986 B
Python

import random
from zhenxun.configs.config import Config
PROB_DATA = None
def random_event(impression: float) -> str | int:
"""签到随机事件
参数:
impression: 好感度
返回:
额外奖励 和 类型
"""
global PROB_DATA
if not PROB_DATA:
PROB_DATA = {
Config.get_config("sign_in", "SIGN_CARD3_PROB"): "好感度双倍加持卡Ⅲ",
Config.get_config("sign_in", "SIGN_CARD2_PROB"): "好感度双倍加持卡Ⅱ",
Config.get_config("sign_in", "SIGN_CARD1_PROB"): "好感度双倍加持卡Ⅰ",
}
rand = random.random() - impression / 1000
for prob in PROB_DATA.keys():
if rand <= prob:
return PROB_DATA[prob]
gold = random.randint(
1, random.randint(1, int(1 if impression < 1 else impression))
)
max_sign_gold = Config.get_config("sign_in", "MAX_SIGN_GOLD")
gold = max_sign_gold if gold > max_sign_gold else gold
return gold