From f3fe04f09b7ec2b459db4a2faa97721f160a1e74 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Fri, 2 Oct 2026 16:02:48 +0800 Subject: [PATCH] =?UTF-8?q?spawn=E8=A2=AB=E6=8B=92fatal=E4=BF=AE=E5=A4=8D:?= =?UTF-8?q?=20=E7=BB=AD=E7=8E=A9=E7=94=9F=E5=91=BD=E8=B4=A6=E6=9C=AC?= =?UTF-8?q?=E8=B6=8A=E7=95=8C=E9=92=B3=E5=88=B6=E2=80=94=E2=80=94=E6=96=AD?= =?UTF-8?q?=E7=82=B9=E7=94=B1=E6=97=A7=E5=8F=A3=E5=BE=84=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=86=99=E5=87=BA=E6=97=B6=E8=B4=A6=E6=9C=AC=E5=80=BC=E5=8F=AF?= =?UTF-8?q?=E8=B6=85=E6=96=B0=E5=8F=A3=E5=BE=84=E7=94=9F=E6=95=88=E4=B8=8A?= =?UTF-8?q?=E9=99=90=EF=BC=88=E5=AE=9E=E8=AF=81:=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9C=9F=E6=A1=A3hero=5Fhp=3D28>26=EF=BC=89=EF=BC=8Cspawn?= =?UTF-8?q?=E5=AE=88=E5=8D=ABEC16=E6=8B=92=E6=94=B6=E2=86=92=E6=95=8C?= =?UTF-8?q?=E4=BA=BA=E7=B3=BB=E7=BB=9Fspawn=E8=A2=AB=E6=8B=92fatal?= =?UTF-8?q?=EF=BC=9B=E6=81=A2=E5=A4=8D=E5=90=8E=E9=92=B3=E5=88=B0=E7=94=9F?= =?UTF-8?q?=E6=95=88=E4=B8=8A=E9=99=90=EF=BC=88=E8=A1=A8=E5=80=BC+?= =?UTF-8?q?=E6=B0=B8=E4=B9=85flat=E5=90=8E=E4=B9=98pct=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E8=84=8F=E6=96=AD=E7=82=B9=E5=85=8D=E7=96=AB=EF=BC=9B=E5=86=92?= =?UTF-8?q?=E7=83=9F628/0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/core/adventure_runner.gd | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/game/core/adventure_runner.gd b/game/core/adventure_runner.gd index d77421c0..8b2e33af 100644 --- a/game/core/adventure_runner.gd +++ b/game/core/adventure_runner.gd @@ -159,6 +159,13 @@ func resume_adventure(bp: Dictionary, params: Dictionary = {}) -> bool: _bonus_aux_carry.append(String(v)) _keystone_drops = (bp.get("keystone_drops", []) as Array).duplicate(true) _base_override = _normalize_override(params.get("hero_override", {})) + # 生命账本越界钳制(T17——spawn 守卫 EC16 免疫):断点可能由旧口径版本写出(如调试上限 + # 调高期带出的账本值 > 新口径生效上限,实例:hero_hp=28 > 基础 26)——恢复后钳到生效上限, + # 否则首战 spawn「hero_hp 入参越界」拒收 → 「敌人系统 spawn 被拒」fatal。上限 = 表值+永久 + # 强化 flat+加算区 flat 后乘 TunePanel pct(effective_max_hp 同式——此刻加算区尚未恢复, + # 钳制用 flat 已含的保守口径即可,加算区恢复后其余战斗照常)。 + ledger["hero_hp"] = mini(int(ledger.get("hero_hp", 0)), maxi(1, + int(round(float(int(db.hero.max_hp) + int(_base_override.get("max_hp", 0))) * (100.0 + float(_override[1])) / 100.0)))) _first_script = false # 续玩模板已随快照强制(已抽模板零重抽)——脚本模式不重放 _aux_unlocked = params.get("aux_unlocked", {}) if params.get("aux_unlocked", {}) is Dictionary else {} # 三选一停点续玩分支(迭代 10——选择态/已兑付态不重跑关卡;奖励选择态不重抽、已兑付不重付)