From 1ea379f0071c77769d88ebefa4d9a23a67670a98 Mon Sep 17 00:00:00 2001 From: Joywayer Date: Mon, 20 Jul 2026 16:30:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(mana):=20SpellEvaluator=20=E4=B8=BB?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E9=80=90=E8=8A=82=E7=82=B9=E6=89=A3=E8=93=9D?= =?UTF-8?q?=20+=20=E8=93=9D=E7=A9=BA=E5=81=9C=E6=96=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/domain/spell_system/spell_evaluator.gd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/domain/spell_system/spell_evaluator.gd b/scripts/domain/spell_system/spell_evaluator.gd index e764e92..706b394 100644 --- a/scripts/domain/spell_system/spell_evaluator.gd +++ b/scripts/domain/spell_system/spell_evaluator.gd @@ -330,6 +330,9 @@ func execute_compiled(compiled: CompiledDeck, caster_id: int, spawn_pos: Vector2 while deck.has_next() and ops_count < max_ops: ops_count += 1 var node: SpellNode = deck.pop() + var mana_cost: float = float(node.meta.get("mana_cost", 0.0)) + if mana_cost > 0.0 and not PlayerStats.spend_mana(mana_cost): + break # 蓝不足 → 停止本次施法(此节点不执行、剩余跳过) match node.type: SpellNode.SpellType.ACTION: _push_projectile(node, ctx, spawn_pos, -1)