- UID
- 1313752
- 主题
- 15
- 阅读权限
- 20
- 帖子
- 369
- 精华
- 0
- 积分
- 185
- 金钱
- 1909
- 荣誉
- 0
- 人气
- 0
- 在线时间
- 497 小时
- 评议
- 0
- 帖子
- 369
- 精华
- 0
- 积分
- 185
- 金钱
- 1909
- 荣誉
- 0
- 人气
- 0
- 评议
- 0
|
一直以来,我找到的帖子都说,export_descr_unit.txt
stat_pri 6, 1, elite_bodkin_arrow, 200, 24, missile, missile_mechanical, piercing, none, 0, 1
“200”是武器射程。
其实不是的。这个是“最大允许射程”,可究竟能不能射这么远,还要看士兵能力。
到 descr_projectile.txt 里查找 elite_bodkin_arrow
下面的
velocity 29 58
58 是出膛速度,利用初中知识,最大射程是 343,因此修改 export_descr_unit.txt 时超过 343 就没用了。
而 58 似乎与上面的 max_angle 70有关,用 58 的速度、70的角度射出,射程约等于200。还找到一句“velocity: first value governs indirect, second direct”,因此我推测,开发者先决定速度,后计算射程,说明如下。
先设定速度58和角度70,角度70以内的称为 direct,使用速度58,70以上的称为 indirect,使用速度29(这3个数字随你高兴改)。
计算 v58 a70 的射程,得200,写入export_descr_unit.txt
这样一来,根据敌人的不同位置,有不同的射法:
1.士兵可目视敌人,距离 200<d<343
有能力以角度 a<45 射击,但由于export_descr_unit.txt 的限制而不会射击
2.士兵可目视敌人,d<200
以角度 a<45 射击
3.士兵无法目视敌人(被城墙、山丘阻挡),200<d<343
有能力以角度 45<a<70 射击,但由于export_descr_unit.txt 的限制而不会射击
4.士兵无法目视敌人,d<200
以角度 a>70 吊射
对比 1、3 两种情况,可见虽然都有射击的能力,射击角度却不同,可能开发者有无法解决的困难,所以设定一个200,将200-343段排除在火力打击之外。于是问题得到简化,4选1 变成 2选1,程序先判定是否被阻挡,再决定射击角度。
velocity 第一个数 29,把它删掉,弓弩手就不会在被阻挡时作出朝天射击(a>70)的举动。而且我怀疑 29 58 不是定值,而是一段取值范围的上下限,因此实际也有可能出现43 这样的速度。不过我没心思去验证,有兴趣的可以试试(因为只能靠目测,因此需要把这两个数改得很夸张)。
[ 本帖最后由 Gear5 于 2009-8-7 13:58 编辑 ] |
-
总评分: 金钱 + 20
+ 1
查看全部评分
|