积分炼金添加上限

This commit is contained in:
2025-11-11 20:45:28 +08:00
parent 29c1ddef53
commit f8d02fbf86
2 changed files with 14 additions and 2 deletions

View File

@@ -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"
"> 建议提前备足材料及积分,谨慎开启炼金流程。炼金需要等待一定时间后才会获得结果。"