Skip to content

扩展状态系统:tick 时机、驱散净化、叠层与控制效果 #6

Description

@TommrraraSnow

背景

当前状态系统已经足够支撑最小 demo,但与 docs 中的通用状态对象仍有明显差距。battle docs 明确要求状态系统支持不同 tick 时机、驱散/净化、叠层/覆盖策略,以及更丰富的控制语义。

现状

已有:

  • StatusTemplate / StatusInstance
  • owner_turn_start / owner_turn_end 两种 tick 时机
  • 基础 buff / debuff / cannot_act

缺口:

  • 没有 source turn start/end 或 special tick timing
  • 没有 stack policy / max stacks / independent instances
  • 没有 dispel / cleanse API
  • 没有 permanent / until_trigger / action-based duration
  • 当前护盾仍是单个聚合数字,不支持来源/持续时间独立管理
  • 控制类效果仍停留在 cannot_act,无法表达 Freeze / Entanglement / Imprisonment / Taunt / Lock On

目标

把状态系统从“最小效果容器”扩展为 battle docs 可持续承载角色脚本的通用子系统。

建议范围

  • 对齐 docs/battle-system-mechanics/12-status-timing.md
  • 设计 stack / refresh / replace 策略
  • 增加 dispel / cleanse / remove-by-tag 能力
  • 扩展 tick timing 与 duration mode
  • 为控制类效果与特殊状态参数提供统一建模
  • 评估是否将 shield 改为 ShieldInstance 栈结构

验收建议

  • 增加覆盖不同 tick 时机、刷新/叠层、净化/驱散、控制类状态的测试

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions