Board logo

标题: 跑步速度计算 [打印本页]

作者: clockpj    时间: 2008-7-29 10:45     标题: 跑步速度计算

引言 人物,怪物,箭,火球等等这些物体在地图上移动的时候都会以某个速度(Velocity)
    行进一段距离,这个距离拿什么单位来表示呢?那就是Tile Unit,简称TU.D2里的地
    图就被一个个TU拼凑而成.1个TU有多大?扔1个金币到地上,你会看到金币堆成一个
    菱形状,多扔几堆就可以清楚得看到菱形的四边.1个TU就是这样的一个菱形,是物体
    在地面存在的最小单位,也用做距离的单位.菱形的两条对角线长度用来表示TU的大
    小:32×16,单位是pixel(象素).所以在640×480的显示模式下,屏幕水平方向宽为
    640/32=20 个TU,竖直方向跨度为480/16=30 个TU.而TU和yard的关系为
                            1 TU=2/3 yard
    更多信息参见
    http://www.lurkerlounge.com/diablo2/discoveries/120300.shtml
    (注意文章中提到的星状aura的bug在资料片中已经被修正)


知道了地面单位TU的概念就可以研究许多和距离,速度,地面大小有关的问题,今次我们只
说run/walk的速度.我们用 TU/second 作为run/walk速度的单位.例如跑步速度为8 TU/s
就是指每秒钟一个char能跑过8个TU的距离.而实际上源文件中表示所有速度(Velocity)
的数值就是以TU/second为单位的.


在charstats.txt中设定好了所有角色的基础走路速度WB=6 TU/s,基础跑步速度RB=9
TU/s,就是说一个无技能无光环裸体的char的走路速度walk_speed=WB=6 TU/s,跑步速度
run_speed=RB=9 TU/s.关键的问题就在于加了技能,装备后的速度如何计算.

介绍公式前先说说各个参数的含义:
●Skill%
设技能(如Vigor,Burst of Speed,Increase Speed,Holy Freeze,Decrepify等)带来的对
速度的加成或减少百分比为Skill%,这个参数甚至可以囊括Slow Target by xx%,chill
(冰冻)带来的对速度的影响百分比.(Slow Target减速效果恒定为-100%,chill对player
的效果为-50%).
●e_Item%
所有物品上提供的"xx% faster run/walk"属性的总和称之为Item%,Item%需要折算成
e_Item%来起作用: e_Item=[Item*150/(Item+150)].注意是150,不是通常所见的120.
●Armor%
重甲重盾,中甲中盾会减慢跑步走路速度10%,5%,而其他防具则无此效果.所以Armor%=0,
-5%或-10%,视防具类型而定.


走路速度为
walk_speed = WB * ( 1 + Skill% + e_Item% + Armor% )
跑步速度为
run_speed = RB + WB * ( Skill% + e_Item% + Armor% )
目前版本中,WB=6 TU/s,RB=9 TU/s
上述两个数值算没有上限,但下限将是WB/4,即基础走路速度的1/4.


举个例子,一个char身上有120%的faster run/walk,穿了一件full plate mail(重甲),
挂着43%的Vigor光环.则
walk_speed=6*(1 + [120*150/(120+150)]% + 43% - 10%)=6*1.99=11.94 TU/sec
run_speed=9 + 6*0.99=14.94  TU/sec
此时如果被cold attack击中进入chill状态,则
walk_speed=11.94-6*50%=8.94 TU/sec
run_speed=14.94-6*50%=11.94 TU/sec
如果在chill期间再中个"Slow Target by xx%",则
walk_speed=8.94-6*100%=2.94 TU/sec
run_speed=11.94-6*100%=5.94 TU/sec
如果在cold,slow效果消失前再中个-25%的Holy Freeze,则
walk_speed=2.94-6*25%=1.44 < 6/4,所以取6/4=1.5 TU/sec
run_speed=5.94-6*25%=4.44 TU/sec


至此run/walk speed如何计算我想应该很清楚了,如果对算出来的数字还不是很敏感,可

以参考下面一些物体的基础移动速度,相对比就可以知道大概快慢了.
==================================
Chain Lightning           30 TU/s
Arrow/bolt(箭矢)          24 TU/s
Fire Ball                 20 TU/s
Teeth(骨牙)               16 TU/s
Charge冲锋速度          13.5 TU/s
Bone Spirit               12 TU/s
Frozen Orb(中央冰球)      10 TU/s
Act5 pet移动速度           8 TU/s
Act1,2,3pet移动速度        7 TU/s
WhirlWind移动速度          6 TU/s
Hell Bovine(cow)移动       5 TU/s
==================================
特别注意不要被跑步/走路的动作快慢所迷惑,动作快慢与真实的移动速度大小无关.



注释:关于walk/run speed的关系公式最早由吧哈姆特的Garyyen发现并给出.其中关于物
品快跑属性的diminish return数150也由Garyyen推测出并由Hammerman(dii.net)给予确
认.本人经大量测试后认为此形式最为正确并做了部分修正和完善.希望能作为run/walk
速度的一个最终结论(当然也欢迎有新的论断).



















跑步速度的计算(from cbn   简单版 仅供参考)

术语:

Walk_Speed: 走路速度.
Run_Speed: 跑步速度.
FRW: Faster run/walk, 装备增加的走路/跑步速度的总和.
Other_Speed_Bonus: 其它对走路/跑步速度的影响, 包括技能提供的
   增速和装甲盾牌造成的减速.
   中型甲/中型盾 -5%, 重型甲/重型盾 -10%
作者: clockpj    时间: 2008-7-29 10:45

Walk_Speed = 6 * (1 + FRW * 1.5 / (FRW + 1.5) + Other_Speed_Bonus)
Run_Speed = 3 + Walk_Speed
单位: TU/s
关于 TU 请看这里

在没有加跑步速度的技能时, 跑步速度与 FRW 关系表如下:

===============================
  Run Speed  轻甲  中甲  重甲
-------------------------------
     8              0     0
-------------------------------
     9        0     6    11
-------------------------------
    10       20    26    33
-------------------------------
    11       44    53    63
-------------------------------
    12       75    87   100
-------------------------------
    13      122   139   159
-------------------------------
    14      191   219   252
-------------------------------
    15      300   350   413
-------------------------------
    16      532   654   829
===============================




欢迎光临 anhei3战网 (http://test.anhei2.com/) Powered by Discuz! 6.0.0