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

4.3 KiB
Raw Blame History

背景

文件名: 2025-11-08_2 创建于: 2025-11-08_23:33:12 创建者: ASUS 主分支: main 任务分支: 未创建 Yolo模式: Off

任务描述

阅读并理解项目当前的实现,目前基础部分已经完成;接下来需要筹备炼金系统的开发工作。

项目概览

当前项目基于 WPSAPI 提供插件化架构,核心系统包括:

  • WPSBackpackSystem:负责物品注册、背包存取与数量维护,提供 add_itemset_item_quantity 等接口,物品定义缓存于 _item_cache
  • WPSStoreSystem:维护商店模式注册、整点刷新系统商品、处理玩家上架与购买逻辑,通过 purchase_itemsell_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
  • 更改: 炼金爆炸阶段增加炉灰奖励,注册炉渣物品及配方,积分结算文案更新
  • 原因: 满足新增的炉灰/炉渣奖励机制
  • 阻碍因素: 暂无
  • 状态: 未确认

最终审查

待补充