Skip to content

Weather Record 天气计划 ​

状态:Authoritative Reference v1

1. 物理结构 ​

Weather record 固定:

text
0x10 = 16 bytes

字段:

OffsetSizeRaw type当前名称状态
+0x004int32 LEWeatherTypeRawConfirmed dispatch input
+0x044int32 LEParameterRawConfirmed runtime parameter / effect Unknown
+0x084int32 LEStartRoundConfirmed
+0x0C4int32 LEDurationConfirmed

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/效果状态可直接查 核心固定记录值域速查。

当前最新 1.30.0 的 1383 个原版 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

除另有说明外,本站有权许可的原创文档采用 CC BY-SA 4.0;第三方内容除外。