From 7f45f90484a7fce31f5b80a4e0e7ab48158a8bbe Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Tue, 20 Oct 2026 23:04:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=8D=A1=E2=91=A1=20T6):=20feats.tres=20c?= =?UTF-8?q?ounter=5Fid=20=E6=94=B9=E5=90=8D=20+=20domain/reset=5Fat=20?= =?UTF-8?q?=E9=94=AE=E5=88=A0=E9=99=A4=20+=20DO=5FKEYS=20=E6=94=B6?= =?UTF-8?q?=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - twin_digs→adv_twin_digs、instinct_atk→round_instinct_atk(写点+读点 value_counter 成对改) - 删 9 处 domain/reset_at 键行(含 pain_layers 三处归 battle、insurance_used domain=battle 删键) - 引擎 DO_KEYS 删 domain/reset_at;do 键白名单注释改前缀归属口径 config_db_test 26 checks 全绿(feats.tres 加载校验通过、跨表护栏零违例)。 --- game/core/effect_engine.gd | 6 +++--- game/data/tables/feats.tres | 35 +++++++++++++---------------------- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/game/core/effect_engine.gd b/game/core/effect_engine.gd index 6b37cf99..4ce6d5e4 100644 --- a/game/core/effect_engine.gd +++ b/game/core/effect_engine.gd @@ -67,12 +67,12 @@ const WHEN_KEYS := ["fact", "op", "value", "id", "ref", "value_from"] ## do 效果键白名单(trigger 行 do 字典键——零裸 flat 同族护栏:kind 外键全部参数引用面。 ## value_event=事件载荷取值键名〔爆破会计——counter_add 值=本轮挖格花费 ## payload.ap_cost〕;value_counter=计数器取值键〔疼痛记忆/弃图兑换——attack rider 值=账面层值〕; -## domain=计数器寿命域〔battle=战斗域重建清零〔缺省〕/adventure=跨战持久随 battle 末导出〕; +## 归属由 counter_id 前缀表达(round_/lvl_/adv_/无前缀=battle),旧 domain/reset_at 键删除; ## axis=bonus_delta 加算区轴向) const DO_KEYS := ["kind", "value", "value_from", "delta", "delta_from", "mult", "mult_from", "cap", "cap_from", "cost_mult", "per", "divisor", "dtype", "mode", "channel", "counter_id", - "reset_at", "set", "status_id", "label", "fallback", "target_kinds", "trade_atk", "trade_hit", - "value_event", "value_counter", "domain", "axis"] + "set", "status_id", "label", "fallback", "target_kinds", "trade_atk", "trade_hit", + "value_event", "value_counter", "axis"] ## 主动件分发通道(不经事件订阅——刷新/显影/移除是玩家主动动作;use_treasure 按 kind 分发) ## safe_dig 安全格直开(天眼——3×3 内安全格按普通挖格规则全额兑付 diff --git a/game/data/tables/feats.tres b/game/data/tables/feats.tres index 67e649fb..4cb5cd5c 100644 --- a/game/data/tables/feats.tres +++ b/game/data/tables/feats.tres @@ -26,9 +26,8 @@ rows = [ "on": "dig_paid", "do": { "kind": "counter_add", - "counter_id": "twin_digs", - "value": 1, - "domain": "adventure" + "counter_id": "adv_twin_digs", + "value": 1 } }, { @@ -36,7 +35,7 @@ rows = [ "when": [ { "fact": "counter", - "id": "twin_digs", + "id": "adv_twin_digs", "op": "mod_eq", "value": 2, "ref": 1 @@ -208,8 +207,7 @@ rows = [ "kind": "counter_add", "counter_id": "round_blast_spent", "value": 1, - "value_event": "ap_cost", - "reset_at": "round_start" + "value_event": "ap_cost" } }, { @@ -373,8 +371,7 @@ rows = [ "do": { "kind": "counter_add", "counter_id": "pain_layers", - "value": 1, - "domain": "adventure" + "value": 1 } }, { @@ -489,16 +486,15 @@ rows = [ "on": "mine_hit", "do": { "kind": "counter_add", - "counter_id": "instinct_atk", - "value": 2, - "reset_at": "round_start" + "counter_id": "round_instinct_atk", + "value": 2 } }, { "on": "attack_commit", "do": { "kind": "attack_bonus", - "value_counter": "instinct_atk" + "value_counter": "round_instinct_atk" } } ] @@ -514,8 +510,7 @@ rows = [ "do": { "kind": "counter_add", "counter_id": "round_mines", - "value": 1, - "reset_at": "round_start" + "value": 1 } }, { @@ -531,8 +526,7 @@ rows = [ "do": { "kind": "counter_add", "counter_id": "pain_layers", - "value": 1, - "domain": "adventure" + "value": 1 } } ] @@ -624,8 +618,7 @@ rows = [ "do": { "kind": "counter_add", "counter_id": "pain_layers", - "value": 1, - "domain": "adventure" + "value": 1 } } ] @@ -719,8 +712,7 @@ rows = [ "do": { "kind": "counter_add", "counter_id": "round_digs", - "value": 1, - "reset_at": "round_start" + "value": 1 } }, { @@ -873,8 +865,7 @@ rows = [ "do": { "kind": "forgive_seal_miss", "counter_id": "insurance_used", - "value": 1, - "domain": "battle" + "value": 1 } } ]