外观
Weather Record 天气计划
状态:Authoritative Reference v1
1. 物理结构
Weather record 固定:
text
0x10 = 16 bytes字段:
| Offset | Size | Raw type | 当前名称 | 状态 |
|---|---|---|---|---|
+0x00 | 4 | int32 LE | WeatherTypeRaw | Confirmed dispatch input |
+0x04 | 4 | int32 LE | ParameterRaw | Confirmed runtime parameter / effect Unknown |
+0x08 | 4 | int32 LE | StartRound | Confirmed |
+0x0C | 4 | int32 LE | Duration | Confirmed |
2. 全局计划而不是 Tile 天气
原版 FUN_00387138 复制四个 int32。每回合 FUN_003871DC 从磁盘记录末尾向前扫描,选择满足:
text
StartRound <= GameRound < StartRound + Duration的最后一条记录,再调用:
text
FUN_00387220(WeatherService, WeatherTypeRaw, ParameterRaw)因此当前已确认:
- Weather 是 battle-global schedule;
- record 中没有 Tile、Province 或 Country 目标字段;
- 多条时间区间重叠时,磁盘中靠后的有效记录优先;
WeatherTypeRaw原版 runtime 接受0..3的 dispatch 范围。
3. 当前原版正样本极少
WeatherTypeRaw 0..3 的 dispatch/效果状态可直接查 核心固定记录值域速查。
当前 1358 个原版 BTL 中只有:
text
frontier60106.btl含 Weather,且仅 1 条:
text
WeatherTypeRaw = 3
ParameterRaw = 3
StartRound = 1
Duration = 20所以“计划结构和选择时序”已经 Confirmed,但:
text
WeatherType 3 的具体天气名称
Parameter 3 的具体玩法意义仍为 Unknown。
不能因为它出现在 Frontier 关卡就自行命名为某种天气效果。
4. Writer 边界
当前缺少:
- 各 WeatherType 的完整效果;
- Parameter 的 type-dependent 语义;
- 非正 Duration 的原版动态表现;
- 多条计划组合的行为 corpus。
因此 semantic writer 仍为 NoGo。
主要证据:
text
reconstruction/src/WC4.Runtime.BattleData/BtlScheduleRecords.cs
reports/route4_identity_reference_contract.md
reports/evidence_reuse_round3_btl_datasystem_fields_audit.md