本帖最后由 yty 于 2012-6-15 19:55 编辑
本文章解析模式文件中文件头偏移0x16那个字节的含义。详见模式文件格式剖析。
末日浩劫中的危险物品包括两种:地雷和油桶。
物品种类设置
有四种可能值,分别为:
物品数量设置
危险物品数量的默认值为8。使用模式文件可以把危险物品数量修改为1~250的值。如果想要0个危险物品,只需要把物品种类设置为无危险物品即可。
需要注意的是,即使把危险物品数量设置为很大的数,比如250,在普通地图上也不可能出现这么多危险物品。因为危险物品之间、危险物品与虫子之间都至少相隔一定的距离。所以那只是理论上可以设置的最大值。
并不是1~250中任一整数都可以被设置。随着数字增大,步长也在增大。1~30的步长为1,35~100步长为5,110~250步长为10。所以所有可能的取值可以形成下面的数列A:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 35
- 40
- 45
- 50
- 55
- 60
- 65
- 70
- 75
- 80
- 85
- 90
- 95
- 100
- 110
- 120
- 130
- 140
- 150
- 160
- 170
- 180
- 190
- 200
- 210
- 220
- 230
- 240
- 250
在模式文件中的存储方式
在旧版模式文件中,该字节只有四个取值,含义为:
- 0x00 无危险物品
- 0x01 只有地雷
- 0x02 只有油桶
- 0x05 有地雷和油桶
在新版模式文件中,该字节的取值包含了危险物品类别和数量的信息。
首先把字节值与4取模(mod)。得数有四种情况:
- 0,无危险物品;
- 1,只有地雷;
- 2,只有油桶;
- 3,有地雷和油桶。
【举例1】字节值为79。79 mod 4=3,所以该模式同时有地雷和油桶。
【举例2】字节值为246。246 mod 4=2,所以该模式只有油桶。
设该字节的值为V,上面一个步骤所得模值为M,计算E:
E=(V-8-M)/4
以E为索引号,在前述的数列A中查找相应的值。这个值就是危险物品数量。
【举例1】字节值为79。则V=79,M=3,E=(79-8-3)/4=17。在列表中,第17项为17。所以该模式包含17个地雷和油桶。
【举例2】字节值为246。则V=246,M=2,E=(246-8-2)/4=59。在列表中,第59项为250。所以该模式包含250个油桶。
注意:如果字节值为以下数,则游戏程序自动处理为值1,即8个地雷。这些无效值为:3, 4, 6, 7, 8, 9, 10, 11, 248, 249, 250, 251, 252, 253, 254, 255.
|