DiabloII的移动速度计算方法

    技术2022-05-11  171

    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=9TU/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/secrun_speed=9 + 6*0.99=14.94 TU/sec此时如果被cold attack击中进入chill状态,则walk_speed=11.94-6*50%=8.94 TU/secrun_speed=14.94-6*50%=11.94 TU/sec如果在chill期间再中个"Slow Target by xx%",则walk_speed=8.94-6*100%=2.94 TU/secrun_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/secrun_speed=5.94-6*25%=4.44 TU/sec至此run/walk speed如何计算我想应该很清楚了,如果对算出来的数字还不是很敏感,可以参考下面一些物体的基础移动速度,相对比就可以知道大概快慢了.==================================Chain Lightning 30 TU/sArrow/bolt(箭矢) 24 TU/sFire Ball 20 TU/sTeeth(骨牙) 16 TU/sCharge冲锋速度 13.5 TU/sBone Spirit 12 TU/sFrozen Orb(中央冰球) 10 TU/sAct5 pet移动速度 8 TU/sAct1,2,3pet移动速度 7 TU/sWhirlWind移动速度 6 TU/sHell Bovine(cow)移动 5 TU/s==================================特别注意不要被跑步/走路的动作快慢所迷惑,动作快慢与真实的移动速度大小无关. 

    最新回复(0)