From f498d2ec858653c7cae70a9c3995dff421ede3a1 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Sat, 31 Oct 2026 08:24:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=AD=E4=BB=A346=E5=8D=A1A-T8=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3(S9):=20=E5=9B=9B=E5=A4=84=E6=98=BE=E5=BC=8F=E9=9D=9E?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=8C=96=E5=AE=B9=E5=99=A8=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E6=94=B9:=3D=E6=8E=A8=E6=96=AD(R1=E6=97=A0=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=E2=80=94=E2=80=94emit=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=80=BC=E6=89=BF=E6=8E=A5=E5=BD=A2=E6=80=81;=E9=9B=B6?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E6=94=B9=E5=8A=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/core/damage_controller.gd | 6 +++--- game/core/settlement/grant_segment.gd | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/game/core/damage_controller.gd b/game/core/damage_controller.gd index ad8b68cb..a27469fb 100644 --- a/game/core/damage_controller.gd +++ b/game/core/damage_controller.gd @@ -469,7 +469,7 @@ func _resolve_enemy_skill(t: Dictionary) -> void: # damage_taken 发射(kind=enemy_skill;铁壁整备减伤订阅面:shield 加法族合计 value×per(charge_layers), # 稳健拓荒树规则同面(rebuild 合成订阅);减后过下限保底。damage_reduce〔背水 hp_ratio when〕/ # counter_add〔保险丝/石肤〕/ac_bonus〔石肤〕同面施加;hp_ratio fact 由 _fx_fact 补充事实面回落提供) - var dt_res: Dictionary = _emit_hero_damage_taken(total, "enemy_skill", String(t.context.get("skill_id", "")), t.origin_cell, int(t.round_index)) + var dt_res := _emit_hero_damage_taken(total, "enemy_skill", String(t.context.get("skill_id", "")), t.origin_cell, int(t.round_index)) total = int(dt_res["total"]) units.apply_damage(hero, total) var payload: Dictionary[Variant, Variant] = {"target": "hero", "skill_id": String(t.context.get("skill_id", "")), "baseline": int(t.context.get("baseline", 0)), @@ -509,7 +509,7 @@ func _emit_hero_damage_taken(amount: int, damage_kind: String, source: String, c var hu: Dictionary[Variant, Variant] = units.hero_unit() var payload: Dictionary[Variant, Variant] = {"kind": damage_kind, "amount": amount, "source": source, "cell": cell, "round": ri, "hp_ratio": int(round(100.0 * float(int(hu.get("hp", 0))) / float(maxi(1, int(hu.get("max_hp", 1))))))} - var hits: Array = _fx_hits("damage_taken", payload) + var hits := _fx_hits("damage_taken", payload) return {"total": int(_apply_hero_damage_effects(hits, amount)["total"]), "hits": hits} @@ -583,7 +583,7 @@ func _resolve_board_blast(t: Dictionary) -> void: func _resolve_board_flat_hero(t: Dictionary) -> void: var dealt: int = int(t.base_value) if not bool((t.get("context", {}) as Dictionary).get("hero_damage_consumed", false)): - var res_flat: Dictionary = _emit_hero_damage_taken(dealt, "board_flat_hero", String(t.get("source_class", "")), t.origin_cell, int(t.round_index)) + var res_flat := _emit_hero_damage_taken(dealt, "board_flat_hero", String(t.get("source_class", "")), t.origin_cell, int(t.round_index)) dealt = int(res_flat["total"]) dealt = maxi(int(db.combat.settlement.damage_roll.damage_floor), dealt) # 伤害下限全来源(减后过下限) units.apply_damage(units.hero_unit(), dealt) diff --git a/game/core/settlement/grant_segment.gd b/game/core/settlement/grant_segment.gd index d2a5d3e5..6cdec2ab 100644 --- a/game/core/settlement/grant_segment.gd +++ b/game/core/settlement/grant_segment.gd @@ -194,7 +194,7 @@ func _terrain_batch(ri: int) -> void: # hero_damage_consumed 标记入单据 context——战斗段末 _resolve_board_flat_hero 跳过重复发射; # grant_material〔荆棘/地脉〕移到单据提交后(兑付值序一致——收益不因减伤变化)) var dt_amount := int(vrow.get("effect_value", 0)) - var dt_res: Dictionary = oc._damage._emit_hero_damage_taken(dt_amount, "terrain", String(vid), evt.cell, ri) + var dt_res := oc._damage._emit_hero_damage_taken(dt_amount, "terrain", String(vid), evt.cell, ri) dt_amount = int(dt_res["total"]) var vt := oc._damage.open_ticket(DamageController.KIND_BOARD_FLAT_HERO, "地形变异", String(vrow.get("display_name", vid)), {"channel": "board", "base_value": dt_amount, "target_rule": DamageController.TARGET_HERO,