积分炼金添加上限
This commit is contained in:
@@ -23,7 +23,7 @@ Yolo模式: Off
|
||||
# 新建 `WPSAlchemyRecipeLookup`(名称待定)插件,依赖炼金与背包系统,在 `wake_up` 中注册 `炼金配方` 命令,并在 `callback` 中完成参数解析、配方查询、结果排序与 Markdown 渲染。
|
||||
# 输出两个有序列表,分别展示目标物品参与的配方(作为材料)以及目标物品对应的产物/失败产物信息;同一物品若兼具多种角色则在两个列表中分别呈现。
|
||||
|
||||
# 当前执行步骤:"2. 创建任务文件"
|
||||
# 当前执行步骤:"5. 更新任务文件"
|
||||
|
||||
# 任务进度
|
||||
[2025-11-10_23:51:23]
|
||||
@@ -33,6 +33,13 @@ Yolo模式: Off
|
||||
- 阻碍因素: 暂无
|
||||
- 状态: 未确认
|
||||
|
||||
[2025-11-11_手动编辑]
|
||||
- 已修改: Assets/config.json Plugins/WPSAlchemyGame.py
|
||||
- 更改: 配置与代码新增积分炼金单次投入上限,帮助信息同步上限提示
|
||||
- 原因: 限制积分炼金单次投入,防止积分快速翻倍
|
||||
- 阻碍因素: 本地 PowerShell/Get-Date 命令因环境脚本报错,时间记录暂用手动标注
|
||||
- 状态: 成功
|
||||
|
||||
# 最终审查
|
||||
待补充
|
||||
|
||||
|
||||
@@ -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