关闭

DiabloII的移动速度计算方法

354人阅读 评论(0) 收藏 举报
Faster run/walk速度最终版

引言 人物,怪物,箭,火球等等这些物体在地图上移动的时候都会以某个速度(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


知道了地面单位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
==================================
特别注意不要被跑步/走路的动作快慢所迷惑,动作快慢与真实的移动速度大小无关.
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场