Skip to content

feat(团队监控): 支持团队Buff统计变量及倒计时文案更新 - #122

Open
wohehuoguo wants to merge 1 commit into
tinymins:masterfrom
wohehuoguo:feat/dbm-computed-countdown-vars
Open

wohehuoguo wants to merge 1 commit into
tinymins:masterfrom
wohehuoguo:feat/dbm-computed-countdown-vars

Conversation

@wohehuoguo

Copy link
Copy Markdown

目前数据作者可以配置逐人 Buff 提示,但无法把团队 Buff 汇总人数及计算结果直接用于现有倒计时,并在状态变化后刷新文字。本次为 tCountdown 增加可选 tVars,提供数据定义的查询、计算和模板变量;没有该字段的原有数据沿用原路径。

改动

  • 支持按 Buff ID、等级、层数及存活条件计数或求和,可通过单个或多个排除 Buff 定义互斥分类。
  • 支持有界的基础表达式运算,公式和提示文字由数据作者提供,不执行表达式字符串或配置中的 Lua 函数。
  • 开启持续更新后,相关 Buff、成员在线和生死等事件合并触发计算,只更新已有计时条文案,保留时间进度及分段语音状态。
  • 必要状态不可读或计算失败时显示作者提供的备用文案;阶段取消、删除、清空和数据重载后不会由更新逻辑重建条目。
  • 同步简繁加载清单和“未发布”更新日志,将回归测试接入现有 CI 入口。

附六类人数展示示例:红1、红2、0、黑1、黑2、其他。隔绝优先归其他,因此红2+隔绝仅计为其他;3 层及以上也归其他。六类合计等于参与统计人数。具体 Buff ID、触发事件和时间轴均在数据中定义,插件不包含副本专用配平公式或人员分配逻辑。

配置说明:MY_TeamMon/docs/computed-countdowns.md;示例:MY_TeamMon/docs/examples/six-state-countdown.lua。示例需接入实际事件,不是独立可导入的完整副本包。

验证

  • Lua 5.1(通过 lupa.lua51)运行实际计算模块、模板函数、倒计时分发和计时模块,游戏 API / UI 使用模拟对象:38 项通过,0 失败。
  • 覆盖 25 人队伍、互斥分类与隔绝优先、增减层、状态缺失与恢复、分段语音、时间进度、阶段取消及旧数据。
  • 21 个 Lua 文件语法检查、GBK / UTF-8 编码往返、简繁加载清单一致性及 git diff --check 通过。
  • 可在仓库根目录用 Lua 5.1 运行 lua tests/team_mon_compute.lua;PR 的 GitHub CI 将执行该测试及原有构建打包流程。

待验证

尚未完成游戏内验证,包括重制版 / 缘起客户端的 Buff 可读取范围与事件同步时序。首次计算立即执行,后续事件的合并等待不保证状态已全部同步。

原生 .jx3dat 导入、保存导出及在线构建 / 订阅链路仍需端到端验证;未增加可视化配置编辑界面。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant