feat(迭代38卡③ 效果文案批): effect_engine 校验文案计数修正——b1 fact 出域报错文案动态取 FACTS.size()(用户裁 Q 甲:两次漂移实证,禁留死数)+b2 EFFECT_KINDS 头注计数表述治理(去写死「定稿 19 行;类型实数 24」→实数以常量为准,历史笔误叙事句按禁写变更记录红线保留);wr1 断言一条(message 含词表实数 19、无「9 项」写死,effect_words_t1 ③-b 段);撤销证明=回退 b1 hunk→断言红→还原复绿(实测红绿复现);合法数据加载零变化(契约 2,errs 结构零触碰);T0 复核 FACTS 19/EFFECT_KINDS 32 双词表实数在案
This commit is contained in:
1 parent
b85b3b45e3
commit
a15370c524
2 files changed
+6
-2
No files matched your search
@@ -18,7 +18,7 @@ const EVENTS := ["dig_reveal", "dig_paid", "seal_hit", "mine_hit", "attack_commi
|
||||
## 原 MINE_HOOKS 的同义迁移:挖掘/封印/轮末结算面事件)
|
||||
const MINE_EVENTS := ["dig_reveal", "dig_paid", "seal_hit", "mine_hit", "seal_settle", "round_end", "reward_roll"]
|
||||
|
||||
## 效果类型词汇(解释器 switch 闭集——需求卡片 §3.3 定稿 19 行;类型实数 24,含共享行拆型:
|
||||
## 效果类型词汇(解释器 switch 闭集——词表实数以 EFFECT_KINDS 常量为准,含共享行拆型:
|
||||
## grant_gp/bias_wallet、counter_add/counter_spend、reveal_tiles/remove_mines/refresh_pick、
|
||||
## bias_rewards/preview。需求卡片标题计 23 系笔误,落码按行内容全收——commit 留痕)
|
||||
const EFFECT_KINDS := ["add_ticket_rider", "modify_ticket", "damage_mult", "open_ticket",
|
||||
@@ -357,7 +357,7 @@ static func validate_trigger_row(rid: String, row: Dictionary, triggers: Array,
|
||||
errs.append({"category": "zero_flat", "message": "%s when 键出白名单: %s" % [rid, String(k)]})
|
||||
var fact := String(c.get("fact", ""))
|
||||
if not FACTS.has(fact):
|
||||
errs.append({"category": "enum", "message": "%s fact 出域(事实词汇封闭 9 项): %s" % [rid, fact]})
|
||||
errs.append({"category": "enum", "message": "%s fact 出域(事实词汇封闭 %d 项): %s" % [rid, FACTS.size(), fact]})
|
||||
if not OPS.has(String(c.get("op", "eq"))):
|
||||
errs.append({"category": "enum", "message": "%s when 算子出域: %s" % [rid, String(c.get("op", ""))]})
|
||||
var do_d: Dictionary[Variant, Variant] = tr.get("do", {}) as Dictionary
|
||||
|
||||
@@ -45,6 +45,10 @@ func _init() -> void:
|
||||
EffectEngineScript.validate_trigger_row("出域op", {}, [{"on": "dig_stop", "when": [{"fact": "ap_left", "op": "mod_odd", "value": 2}], "do": {"kind": "heal", "value": 1}}], errs)
|
||||
EffectEngineScript.validate_trigger_row("出域kind", {}, [{"on": "dig_stop", "do": {"kind": "nope_kind", "value": 1}}], errs)
|
||||
Kit.check_quiet(errs.size() == 4, "出域 on/fact/op/kind 各一行全部被拒(4 违例)〔专长批 V1〕")
|
||||
# ③-b fact 出域文案随词表实数(动态取 FACTS.size()——禁写死计数,词表增删文案自动随)〔效果文案批 V1〕
|
||||
Kit.check_quiet(String(errs[1].get("message", "")).contains(str(EffectEngineScript.FACTS.size()))
|
||||
and not String(errs[1].get("message", "")).contains(" 9 项"),
|
||||
"fact 出域文案含词表实数 %d、无写死计数〔效果文案批 V1〕" % EffectEngineScript.FACTS.size())
|
||||
|
||||
# ④ 运行期命中序(合法新事件;dispatch 出域 fail-fast=debug assert;引擎无状态——计数器经 ctx)
|
||||
var fx = EffectEngineScript.new(null)
|
||||
|
||||
Reference in new issue
Block a user