加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

KB之暗金恶魔流星锤Bug

(2008-09-13 23:45:09)
标签:

it

游戏

分类: 暗黑世界
bar.jpg D2有一个Bug,就是KB的时候只要有角色手持暗金恶魔流星锤(巴拉那之星,Baranar's Star),那巴尔就会只攻击该角色,而对于其他角色视而不见。一个利用这个Bug的典型例子,就是让一个角色拿这武器站在对岸,这样巴尔只是诅咒或者放爪子攻击该角色,别的角色可以贴身攻击巴尔。
 
 
这个Bug在1.10以及1.11b都存在,相信在1.12b也存在。
通过分析D2的程序代码,发现这个Bug主要由于巴尔的AI选择攻击目标函数的计算上有问题所致。
巴尔在选择攻击目标的时候,需要考虑很多因素,主要分为3类:
1、目标的抗性因子(包括物理抗性、魔法抗性、火抗、电抗、毒抗、冰抗);
2、目标的攻击因子(包括物理伤害、魔法伤害、毒伤害、冰伤害、火伤害、电伤害、)
3、目标和巴尔之间的可视距离(LOS);
 
最后,计算加权值:
加权值=目标的抗性因子 + 可视距离*4 + 目标的攻击因子*2
 
当角色手持暗金恶魔流星锤的时候,导致角色的目标的攻击因子变得很大,大到超过了可视距离*4的影响(可视距离固定为4B或者0)。
 
巴尔会在所有在场的玩家和Pet之中,选择一个加权值最大的目标作为攻击目标。
因此产生了这个Bug。
 
解决这个Bug的一个方法就是加大可视距离的影响,由原来的4B修改为一个较大的值FF。让巴尔比较注重攻击近身的玩家或Pet。
 
1.11b需要修改的地方在:
6FC4A677                 mov     [esp+0F8h+var_E8], 4Bh ; 'K
 
1.10需要修改的地方在:
6FCCDB03                 mov     [esp+0ECh+var_B8], 4Bh
 

1.11b d2hack.script修正代码:
#暗金恶魔流星锤Bug修正
D2Game.dll 0X2A67B 4B000000 FF000000 1 #6FC4A67B mov     [esp+0F8h+var_E8], 4Bh

 

1.10 d2hack.script修正代码:
#暗金恶魔流星锤Bug修正

D2Game.dll 0X9DB07 4B000000 FF000000 1 #6FCCDB07 mov     [esp+0ECh+var_B8], 4Bh

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有