refactor(迭代27 T3): 波三 账本收口——RunLedger 单类持四账+刷新双账删副本+gp_final 键删影子账——逐位一致对拍全同
P1-4 共享账本 Ledger 类化(裁点②甲 单类持四账): - game/core/run_ledger.gd: attune_charges/vision_counter/adventure_counters/bonus 四账 单类承载;战斗侧只拿 read/append 原语(attune_charge_has/set/consume、vision_count_add、 counters_seed_snapshot/merge_export、bonus_add_axis)——战末 export/开局 seed 时点语义不变 - AdventureRunner 持账(run_ledger)→ LevelRunner set_run_ledger+sync_attune_inventory (原四散 setter 收口)→ enc 单键 ledger 下传;编排器三裸引用成员退役为 _ledger 原语调用 - 调试/单场缺省新账=零扰动面(vision_counter 缺省空=不计,原 enc 缺键守卫语义保留) P1-2 刷新双账收口: - main 刷新计数副本(run_scope.refresh_used_round)删除;单一事实源=编排器受理计数 - presentation_snapshot 成文面升键 refresh_used(can_refresh 邻位)——HUD 余量/遥测 round_refresh_index 单源读快照;V5 快照一致性断言×3(smoke+ui_click HUD 文本比对) P1-3 GP 影子账收口: - adventure_runner summary 增 gp_final 键(close_wallet 清账前快照) - gp_shadow_ledger.gd 全件退役删除;main 委托缝/会话账本成员删除;终局面板 GP 行 取数=summary 键;ui_probe 影子账断言换代为 summary 键断言 验收: 逐位一致对拍三变体全同;冒烟 1079/0+run_all 26 套+probe click+render golden 0.00%
This commit is contained in:
1 parent
26301baa9c
commit
6fd7d782cc
16 files changed
+174
-183
No files matched your search
@@ -357,8 +357,8 @@ func _refresh_status() -> void:
|
||||
var max_hp: int = _runner.effective_max_hp()
|
||||
_hp_value.text = "HP %d/%d" % [int(_runner.hero_hp), int(max_hp)]
|
||||
_hp_bar.queue_redraw()
|
||||
var atk_bonus := int(_runner.bonus.get("atk", 0))
|
||||
var ac_bonus := int(_runner.bonus.get("armor_class", 0))
|
||||
var atk_bonus := int(_runner.run_ledger.bonus.get("atk", 0)) # 迭代 27 T3——加算区住 RunLedger
|
||||
var ac_bonus := int(_runner.run_ledger.bonus.get("armor_class", 0))
|
||||
var atk_txt := "%d" % _runner.effective_atk()
|
||||
if atk_bonus > 0:
|
||||
atk_txt += " +%d" % atk_bonus # 加成角标(ASCII 加号——防像素字体缺 ⁺ 字形出豆腐块)
|
||||
@@ -366,7 +366,7 @@ func _refresh_status() -> void:
|
||||
if ac_bonus > 0:
|
||||
ac_txt += " +%d" % ac_bonus
|
||||
_attr_value.text = "攻击 %s · 护甲 AC %s" % [atk_txt, ac_txt]
|
||||
var hp_bonus := int(_runner.bonus.get("max_hp", 0))
|
||||
var hp_bonus := int(_runner.run_ledger.bonus.get("max_hp", 0))
|
||||
var parts: Array[String] = []
|
||||
if atk_bonus > 0:
|
||||
parts.append("攻 +%d" % atk_bonus)
|
||||
|
||||
Reference in new issue
Block a user