From 022017e551e57f8a275c78a8fa000a3bb17e7256 Mon Sep 17 00:00:00 2001 From: Joywayer Date: Mon, 20 Jul 2026 16:44:11 +0800 Subject: [PATCH] =?UTF-8?q?docs(mana):=20spec=20=C2=A72.4=20=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=20LOOP/CIRCUIT=20=E4=B9=9F=E6=89=A3=E8=93=9D=EF=BC=88?= =?UTF-8?q?=E5=A4=8D=E5=AE=A1=E4=BF=AE=E5=A4=8D=208b9565e=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- docs_dev/specs/2026-07-20-mana-system-mvp-design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs_dev/specs/2026-07-20-mana-system-mvp-design.md b/docs_dev/specs/2026-07-20-mana-system-mvp-design.md index 70f65ea..0a68e96 100644 --- a/docs_dev/specs/2026-07-20-mana-system-mvp-design.md +++ b/docs_dev/specs/2026-07-20-mana-system-mvp-design.md @@ -66,7 +66,7 @@ func regen_mana(delta: float) -> void # mana = min(mana_max, - **TRIGGER** 注册 SubPayload 时扣其 `mana_cost`;命中后 SubPayload(`execute_sub`,异步 on-hit)执行**不再扣蓝**(MVP 简化,避免命中回调里做资源判定)。 - **被控制流跳过的节点不扣蓝**:超出 `actions_remaining` 的 ACTION、被 LOGIC 门跳过的分支、被共鸣 `_consumed` 标记的输入卡,均不产生蓝耗。 - **中止信号机制**(`ctx` 上的 depleted 标志位 vs 效果函数返回 bool 令主循环 break)留实现计划敲定;语义目标一致:一旦某要生效的节点付不起蓝,本次施法就此打住,已生效部分保留。 -- **仅主施法流消耗魔力**(`execute_compiled` 这一遍);SubPayload 的 on-hit 执行不消耗。 +- **施法时立即执行的路径都消耗魔力**:`execute_compiled` 主循环、**LOOP 体(`_run_logic_loop`)**、**CIRCUIT 分支(`_run_branch_payload`)** 均逐节点扣蓝、蓝空即停(复审发现 LOOP/CIRCUIT 曾漏扣、已修 `8b9565e`);唯 **SubPayload 的 on-hit 执行(`execute_sub`)不消耗**——命中回调不做资源判定。 ### 2.5 `combat_s2` HUD —— 蓝条 - 在 HUD 区新增蓝色 `ProgressBar`(或等效控件),`max_value = PlayerStats.mana_max`、`value = PlayerStats.mana`。