DiabloII的移动速度计算方法

转载 2007年09月30日 14:35:00
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
==================================
特别注意不要被跑步/走路的动作快慢所迷惑,动作快慢与真实的移动速度大小无关.
 

速度测量计算方法

  • 2012年08月22日 14:23
  • 207KB
  • 下载

宽带网的实际下载速度计算方法

  • 2011年11月29日 15:51
  • 34KB
  • 下载

CPU速度的计算方法和单位

作者:Sam (甄峰)  sam_code@hotmail.com   Sam这些年也算接触了很多嵌入式CPU, SoC等。每次看到CPU速度介绍,以及评估程序是否能跑得动时,就有些疑惑:...

宽带网的实际下载速度计算方法

  • 2013年10月10日 10:15
  • 26KB
  • 下载

nand 读写速度计算方法

  • 2011年08月23日 14:08
  • 880KB
  • 下载

汇总:unity中弹道计算和击中移动目标计算方法

http://download.jikexueyuan.com/detail/id/432.html 弹道计算是游戏里常见的问题,其中关于击中移动目标的自动计算提前量的话题,看似简单,其...
  • OnafioO
  • OnafioO
  • 2017年02月10日 17:41
  • 1088

简单的OA工时计算方法

  • 2017年11月17日 10:07
  • 15KB
  • 下载

视频大数据智慧计算方法 pdf

  • 2017年11月03日 10:27
  • 49.72MB
  • 下载

提高网站在移动端打开速度的方法技巧

最近一项研究表明:80%的网民对移动端的浏览体验感到失望,同时,当体验提升时,他们会在智能手机上花费更多的时间。 由于64%的智能手机用户希望网站可以在4秒内加载完毕,但一半的网站花费了...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DiabloII的移动速度计算方法
举报原因:
原因补充:

(最多只允许输入30个字)