Files
NewWPSBot/.tasks/2025-11-08_2_alchemy-system.md
2025-11-09 01:31:12 +08:00

60 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 背景
文件名: 2025-11-08_2
创建于: 2025-11-08_23:33:12
创建者: ASUS
主分支: main
任务分支: 未创建
Yolo模式: Off
# 任务描述
阅读并理解项目当前的实现,目前基础部分已经完成;接下来需要筹备炼金系统的开发工作。
# 项目概览
当前项目基于 `WPSAPI` 提供插件化架构,核心系统包括:
- `WPSBackpackSystem`:负责物品注册、背包存取与数量维护,提供 `add_item``set_item_quantity` 等接口,物品定义缓存于 `_item_cache`
- `WPSStoreSystem`:维护商店模式注册、整点刷新系统商品、处理玩家上架与购买逻辑,通过 `purchase_item``sell_item` 等方法与背包交互,并以 Markdown 形式输出。
- `WPSFortuneSystem`:按整点哈希计算运势值(范围约 -0.9999 0.9999),对外提供 `get_fortune_value` 等接口,可供其他系统复用运势加成。
# 分析
## 现状理解
- 商店系统已实现模式注册(永久/轮换)、系统刷新以及玩家出售流程,依赖背包系统进行物品数量变更。
- 背包系统支持以物品 ID 查询定义、增减用户物品数量并自动清理数量为 0 的记录。
- 运势系统可按用户与整点计算浮动值,可作为炼金收益或成功率的修正因子。
- 指令入口:`炼金` 及其别名,通过聊天命令触发;支持两种模式:
- 积分炼金:`炼金 <积分>`,仅一个参数。
- 物品炼金:`炼金 <材料1> <材料2> <材料3> [次数]`,默认次数 1。
- 积分炼金:投入积分后立即扣除,再依据“阶梯式”倍率表随机返还积分;倍率阶段包括 0爆炸、0.5失败、2成功、5丰厚积分、10巨额积分、100传说积分期望需匹配 `1 + 运势值 * 系数`;系数配置键名为“炼金运势系数”,在 `ProjectConfig` 中独立管理。
- 物品炼金:固定三件材料,每次消耗各 1 件;按注册配方的基础成功率并结合运势修正决定产出;成功产出目标物品,失败产出配方指定物品;若未注册配方则必定失败并产出普通品质 `炉灰`(由炼金系统自行注册)。
- 配方管理:炼金插件提供注册接口,参数包括三件材料、目标产物、成功率、失败产物。文本提示统一处理,不需 per 配方描述。
## 待确认要点
- “爆炸/失败/成功/丰厚积分”基础概率设定为:失败、成功各为 `p`,爆炸与丰厚各为 `p/2`;“巨额积分”概率为丰厚的一半,即 `p/4`;剩余概率归传说阶段。收益期望公式为 `0∙(p/2) + 0.5∙p + 2∙p + 5∙(p/2) + 10∙(p/4) + 100∙(1 - 3.25p) = 1`,解得 `p ≈ 0.2965`,进而可推导出各阶段概率:爆炸与丰厚约 0.1482,失败与成功约 0.2965,巨额约 0.0741,传说约 0.0361。后续需考虑运势修正如何在此基础上调整概率同时保持总概率为 1。
- 各倍率对应的文本描述尚未提供,需要在后续阶段设计统一的消息模板。
- 运势修正:`x = fortune_value * fortune_coeff`,随机值 `y = rand01()`,以 `clamp01(x + y)` 得到最终落点;区间按奖励从低到高的累积概率设定,如爆炸长度约 0.1482、失败累计至约 0.4447 等。运势偏移会平移落点进而改变概率,需要明确是否接受此非均一调整,或需改用其他保期望策略。
- 运势偏移带来的概率扭曲符合预期:好运用户更易触达高倍率区间,坏运则倾向低倍率,容许期望随运势自然浮动。
- 系统需区分积分炼金与物品炼金逻辑,可能需要持久化炼金历史或冷却(目前未提及)。
# 提议的解决方案
待补充(进入规划阶段后撰写)
# 当前执行步骤:"2. 创建任务文件"
# 任务进度
[2025-11-09_00:57:54]
- 已修改: Plugins/WPSAlchemyGame.py
- 更改: 新增炼金插件,包含积分与物品炼金逻辑、配方注册接口、运势修正及指令解析
- 原因: 实施规划中定义的炼金系统核心功能
- 阻碍因素: 暂无
- 状态: 未确认
[2025-11-09_01:27:21]
- 已修改: Plugins/WPSAlchemyGame.py
- 更改: 炼金爆炸阶段增加炉灰奖励,注册炉渣物品及配方,积分结算文案更新
- 原因: 满足新增的炉灰/炉渣奖励机制
- 阻碍因素: 暂无
- 状态: 未确认
# 最终审查
待补充