积分炼金添加上限
This commit is contained in:
@@ -27,6 +27,7 @@ from .WPSFortuneSystem import WPSFortuneSystem
|
||||
logger: ProjectConfig = Architecture.Get(ProjectConfig)
|
||||
FORTUNE_COEFF:float = logger.FindItem("alchemy_fortune_coeff", 0.03)
|
||||
COOLDOWN_MINUTES:int = logger.FindItem("alchemy_cooldown_minutes", 2)
|
||||
MAX_POINTS_PER_BATCH:int = logger.FindItem("alchemy_max_points_per_batch", 100)
|
||||
logger.SaveProperties()
|
||||
|
||||
|
||||
@@ -68,6 +69,8 @@ class WPSAlchemyGame(WPSAPI):
|
||||
# 从配置读取冷却时间(分钟)
|
||||
self._cooldown_minutes = 0 if get_internal_debug() else COOLDOWN_MINUTES
|
||||
self._cooldown_ms = int(self._cooldown_minutes * 60 * 1000)
|
||||
# 从配置读取单次积分炼金上限
|
||||
self._max_points_per_batch = MAX_POINTS_PER_BATCH
|
||||
logger.SaveProperties()
|
||||
|
||||
@override
|
||||
@@ -305,6 +308,8 @@ class WPSAlchemyGame(WPSAPI):
|
||||
|
||||
config_api: WPSConfigAPI = Architecture.Get(WPSConfigAPI)
|
||||
current_points = config_api.get_user_points(user_id)
|
||||
if points > self._max_points_per_batch:
|
||||
return f"❌ 单次炼金积分不能超过 {self._max_points_per_batch} 分"
|
||||
if current_points < points:
|
||||
return f"❌ 积分不足,需要 {points} 分,当前仅有 {current_points} 分"
|
||||
|
||||
@@ -833,7 +838,7 @@ class WPSAlchemyGame(WPSAPI):
|
||||
def _help_message(self) -> str:
|
||||
return (
|
||||
"# ⚗️ 炼金指令帮助\n"
|
||||
"- `炼金 <积分>`:投入积分尝试炼金\n"
|
||||
f"- `炼金 <积分>`:投入积分尝试炼金(单次最多 {self._max_points_per_batch} 分)\n"
|
||||
"- `炼金 <材料1> <材料2> <材料3> [次数]`:使用三件材料进行炼金(可选次数,默认 1)\n"
|
||||
"- `炼金 状态`:查询当前炼金状态\n"
|
||||
"> 建议提前备足材料及积分,谨慎开启炼金流程。炼金需要等待一定时间后才会获得结果。"
|
||||
|
||||
Reference in New Issue
Block a user