工程(判据出处注记3/7·battle+contracts+integration): 20套件80函数逐函数挂# oracle注记——战斗四文档验收句(战斗结算:360-366/敌人系统:295-311/增益状态:250-262/地图战斗资源:235-241)+排雷玩法:231/237+行动经济+地形变异:156-158+奇物+存档序列化断点域/迁移链+关卡节点图生成:132+architecture:89/90/107/144+code-conventions:40/41/54; 本步凭据: 六目录代表套件直跑全绿(seal/contracts×2/integration×3),其余随WP4全量档兜
This commit is contained in:
1 parent
ddc352a985
commit
9e26df16be
18 files changed
+99
No files matched your search
@@ -21,6 +21,7 @@ func _init() -> void:
|
||||
# ---- 类型闸断言(V7——project.godot warning 配置在位〔源码断言〕+审计器脚本在位;
|
||||
# 审计器归零判定走 static_scan S9 闸机,此处兜配置面)----
|
||||
func _smoke_type_gate() -> void:
|
||||
# oracle: design/engineering/code-conventions.md:41(封装边界——类型闸源码扫描组)
|
||||
var pj: String = FileAccess.get_file_as_string("res://project.godot")
|
||||
Kit.check("V7 类型闸 warning 配置在位(untyped_declaration=1 显形)〔迭代27 T5〕",
|
||||
pj.contains("gdscript/warnings/untyped_declaration=1"))
|
||||
@@ -31,6 +32,7 @@ func _smoke_type_gate() -> void:
|
||||
|
||||
# ---- 卫生件 grep 闸(V8——死代码/字符串 Callable/影子账残留零命中;源码扫描面)----
|
||||
func _smoke_hygiene_gates() -> void:
|
||||
# oracle: design/engineering/code-conventions.md:54(模态覆盖层层级与登记纪律——卫生闸组)
|
||||
var callables := 0
|
||||
for d in ["res://core", "res://presentation", "res://data"]:
|
||||
var dir := DirAccess.open(d)
|
||||
|
||||
@@ -40,6 +40,8 @@ func _init() -> void:
|
||||
# ---- B1 兑付配方词表:五配方/三目标规则/双结账政策——常量非空且互异(封闭枚举负空间) ----
|
||||
|
||||
func _test_damage_controller_vocabularies() -> void:
|
||||
# oracle: design/engineering/architecture/architecture.md:89(事件/事实/效果类型/算子四词表封闭——契约词表组)
|
||||
# oracle: design/engineering/architecture/architecture.md:89(事件/事实/效果类型/算子四词表封闭——契约词表组)
|
||||
var kinds: Array = [
|
||||
DamageControllerScript.KIND_HERO_ATTACK, DamageControllerScript.KIND_ENEMY_SKILL,
|
||||
DamageControllerScript.KIND_BOARD_TYPED, DamageControllerScript.KIND_BOARD_BLAST,
|
||||
@@ -69,6 +71,8 @@ func _test_damage_controller_vocabularies() -> void:
|
||||
# ---- D2↔B1:掷点用途标签 ∈ RngService 封闭词表(EC12——跨系统字面量契约的成员性断言) ----
|
||||
|
||||
func _test_rng_tag_closure(db) -> void:
|
||||
# oracle: design/engineering/architecture/architecture.md:90(流 scope 封闭词表组)
|
||||
# oracle: design/engineering/architecture/architecture.md:90(流 scope 封闭词表组)
|
||||
var stream_label: String = String(db.combat.settlement.damage_roll.armor_roll_stream)
|
||||
Kit.check("settlement.armor_roll_stream ∈ RngService 封闭标签词表(EC12)",
|
||||
RngServiceScript.PURPOSE_TAGS.has(stream_label))
|
||||
@@ -82,6 +86,8 @@ func _test_rng_tag_closure(db) -> void:
|
||||
# ---- B1→D1 行协议:单据九栏缺省齐备 + 协议公共键形态 ----
|
||||
|
||||
func _test_ticket_nine_columns() -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/战斗结算.md:362(单据九列协议组)
|
||||
# oracle: design/gdd/systems/战斗循环/战斗结算.md:362(单据九列协议组)
|
||||
var ctrl = _bare_controller()
|
||||
var t: Dictionary = ctrl.open_ticket(DamageControllerScript.KIND_BOARD_FLAT_HERO, "mine_hit", "契约探针",
|
||||
{"channel": "棋盘兑付", "base_value": 1, "target_rule": DamageControllerScript.TARGET_HERO, "ri": 0})
|
||||
@@ -111,6 +117,8 @@ func _bare_controller():
|
||||
# ---- B4→B3:增益授予布尔受理口径(受理/拒绝二元面 + 投影一致性) ----
|
||||
|
||||
func _test_status_boolean_acceptance(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:250(受理布尔面组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:250(受理布尔面组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
# EC1 域闭:notify_battle_start 前授予 = false(受理面封闭)
|
||||
var any_row: Dictionary = {}
|
||||
@@ -137,6 +145,8 @@ func _test_status_boolean_acceptance(db) -> void:
|
||||
# 个体键直传字面量("e1"/"e2"/"e3"——拼写约定单点在 StatusContainer.owner_key_for,测试面模拟授予路径逐只授)
|
||||
|
||||
func _test_status_individual_isolation(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:251(按个体归属组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:251(按个体归属组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src := {"source_class": "seal_hit", "origin_cell": Vector2i(-1, -1), "round_index": 0}
|
||||
@@ -158,6 +168,8 @@ func _test_status_individual_isolation(db) -> void:
|
||||
|
||||
|
||||
func _test_status_grant_all_per_unit(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:252(授予即生效组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:252(授予即生效组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src := {"source_class": "mine_hit", "origin_cell": Vector2i(-1, -1), "round_index": 0}
|
||||
@@ -184,6 +196,8 @@ func _test_status_grant_all_per_unit(db) -> void:
|
||||
|
||||
|
||||
func _test_status_death_clears(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:250(战斗结束清空组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:250(战斗结束清空组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src := {"source_class": "seal_hit", "origin_cell": Vector2i(-1, -1), "round_index": 0}
|
||||
@@ -197,6 +211,8 @@ func _test_status_death_clears(db) -> void:
|
||||
|
||||
|
||||
func _test_status_merge_per_unit(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:253(只登记不去重组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:253(只登记不去重组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src := {"source_class": "enemy_action", "origin_cell": Vector2i(-1, -1), "round_index": 0}
|
||||
@@ -219,6 +235,8 @@ func _test_status_merge_per_unit(db) -> void:
|
||||
# ---- B4 结算链契约(断言补齐批——①增益状态结算链):衰减逐值/战斗结束全清/满层拒绝/独立并存/首授快照 ----
|
||||
|
||||
func _test_status_decay_and_clear(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:21(先兑付后衰减组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:21(先兑付后衰减组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src := {"source_class": "seal_hit", "origin_cell": Vector2i(-1, -1), "round_index": 0}
|
||||
@@ -239,6 +257,8 @@ func _test_status_decay_and_clear(db) -> void:
|
||||
|
||||
|
||||
func _test_status_stack_full_reject(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:255(满层拒绝原子且留痕组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:255(满层拒绝原子且留痕组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src := {"source_class": "seal_hit", "origin_cell": Vector2i(-1, -1), "round_index": 0}
|
||||
@@ -256,6 +276,8 @@ func _test_status_stack_full_reject(db) -> void:
|
||||
|
||||
|
||||
func _test_status_independent_branch(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:257(合成不设上下限组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:257(合成不设上下限组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var probe := {
|
||||
@@ -280,6 +302,8 @@ func _test_status_independent_branch(db) -> void:
|
||||
|
||||
|
||||
func _test_status_snapshot_first_grant(db) -> void:
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:258(快照抗重载组)
|
||||
# oracle: design/gdd/systems/战斗循环/增益状态.md:258(快照抗重载组)
|
||||
var effects = StatusContainerScript.new(db)
|
||||
effects.notify_battle_start()
|
||||
var src_first := {"source_class": "seal_hit", "origin_cell": Vector2i(3, 4), "round_index": 1}
|
||||
|
||||
Reference in new issue
Block a user