diff --git a/game/presentation/main.gd b/game/presentation/main.gd index 3b7f3468..b2cd87a4 100644 --- a/game/presentation/main.gd +++ b/game/presentation/main.gd @@ -453,19 +453,11 @@ func _on_battle_finished(payload: Dictionary) -> void: return "level_end": _end_overlay.open_victory(Narrator.battle_end_text("victory", true), - "返回", board_view.get_global_rect(), - {"gp_summary": _gp_summary_text(payload), - "ks_summary": "钥石 · 累计 %d" % run_scope.runner.keystone, - "bonus_summary": HudPresenter.bonus_summary_text(run_scope.runner), - "gp_gain": int(payload.get("gp_dropped", 0)), "gp_total": int(run_scope.runner.gp)}) + "返回", board_view.get_global_rect(), _end_victory_opts(payload)) "standalone_end": if result == "victory": _end_overlay.open_victory(Narrator.battle_end_text("victory", false), - "回到遭遇选择", board_view.get_global_rect(), - {"gp_summary": _gp_summary_text(payload), - "ks_summary": "钥石 · 累计 %d" % run_scope.runner.keystone, - "bonus_summary": HudPresenter.bonus_summary_text(run_scope.runner), - "gp_gain": int(payload.get("gp_dropped", 0)), "gp_total": int(run_scope.runner.gp)}) + "回到遭遇选择", board_view.get_global_rect(), _end_victory_opts(payload)) else: _end_overlay.open_defeat(Narrator.battle_end_text("defeat", false), "返回", board_view.get_global_rect()) @@ -486,6 +478,14 @@ func _gp_summary_text(payload: Dictionary) -> String: # ==================== core↔view 接线(战斗信号统一走这里)==================== + +## 战末账行束(open_victory opts 键装配单点——GP/钥石/加成三行与增量合计) +func _end_victory_opts(payload: Dictionary) -> Dictionary: + return {"gp_summary": _gp_summary_text(payload), + "ks_summary": "钥石 · 累计 %d" % run_scope.runner.keystone, + "bonus_summary": HudPresenter.bonus_summary_text(run_scope.runner), + "gp_gain": int(payload.get("gp_dropped", 0)), "gp_total": int(run_scope.runner.gp)} + func _wire_battle(settlement_ref: BattleOrchestrator) -> void: settlement_ref.step_row.connect(_on_step_row) settlement_ref.battle_finished.connect(_on_battle_finished)