Skip to content

Country Strategy Schedule 国家策略调度记录

状态:Authoritative Reference v1

1. 物理结构

每条 Country Strategy schedule 固定:

text
0x10 = 16 bytes
OffsetSizeRaw type当前语义状态
+0x004int32 LECountryRecordIdConfirmed
+0x044int32 LEOperationTypeConfirmed
+0x084int32 LEActivationRoundConfirmed
+0x0C4int32 LEoperation-dependent ParameterIdConfirmed physical / Partial downstream semantics

2. Country identity

+0x00 通过 FUN_00346FB0Country.RecordId 查找,不是 BTL Country 数组 index。

当前 1730/1730 条 schedule 都能解析到同文件 Country。

3. OperationType

快速值域表见 核心固定记录值域速查

原版 runtime 支持:

text
0 -> 添加或替换 strategy override
1 -> 撤销匹配 override
2 -> 清空 override,并切换基础 strategy group

当前 corpus:

text
OperationType 0 = 1724
OperationType 1 = 6
OperationType 2 = 0

Type 2 是 native-supported、当前 corpus 未观察的能力,不得因为 0 个实例而删除支持。

4. ActivationRound

当前语料范围:

text
1..35

该范围只是当前观察值,不是格式硬上限。

原版按 GameRound 调度这些条目,因此其“激活回合”语义已 Confirmed

5. ParameterId

当前 corpus:

text
1000..1178

ParameterId 的定义域依赖 OperationType。不能给它一个跨三种 operation 永远成立的 DataSystem 类型。

尤其:

text
Country +0x11C
= def_strategy.xml 基础策略配置 ID

BTL Strategy schedule
= 运行中按回合修改该 Country strategy 状态的计划

这两者不能合并成同一字段/对象。

6. Writer 边界

虽然四字段物理和 operation switch 已闭合,完整 writer 仍需要:

  • operation-specific ParameterId 验证;
  • 同 Country/同回合多记录顺序;
  • 缺失 Country/Parameter 的完整动态反馈;
  • 与开局 H6C override、base strategy 和 AI runtime 状态的组合不变量。

当前 semantic writer 仍为 NoGo

主要证据:

text
reconstruction/src/WC4.Runtime.BattleData/BtlScheduleRecords.cs
reports/route4_identity_reference_contract.md
reports/route4_special_value_inventory.csv
reports/evidence_reuse_round3_btl_datasystem_fields_audit.md