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`。