暗黑破坏神吧 关注:679,900贴子:20,507,133

响应寒大号召整理重发DLL修改大杂烩

只看楼主收藏回复

内容较多,勿X谢谢。该补丁分110、111、113三个版本,覆盖DLL的时候最好自己备份一下原有的文件(D2Game.dll,D2Client.dll,D2Common.dll)。111和113的修改几乎相同(特征码相同,但偏移地址不同也不能直接替换DLL),但与110的修改差异很大。


1楼2012-04-08 16:03回复
    修改内容如下:
    1、魔法,火,电,冰冷,毒抗性上限
    2、物理抗性上限
    3、魔法、火、电、冰冷百分比吸收上限
    4、格挡率上限
    5、PP数上限
    6、神符之语底材成色限制
    7、雇佣兵全装备(所需的txt和dc6文件在data文件夹下)
    8、命中率下限上限
    9、staffmod技能种数和等级


    2楼2012-04-08 16:04
    收起回复

      魔法,火,电,冰冷,毒抗性上限。原版暗黑抗性上限是95,现在修改为100就可以使玩家变得像怪物一样可以免疫。
      参考http://phrozenkeep.hugelaser.com/forum/viewtopic.php?t=19653的汇编

      --110------------------------------
      编辑D2Game.dll文件
      查找83F85F(对应汇编CMP EAX,5F)改为83F864(5F是十进制95而64是十进制100)
      其后间隔4个数字后有B85F(对应汇编MOV EAX,5F)改为B864
      同步面板显示效果编辑D2Client.dll文件
      查找83FD5F(对应汇编CMP EBP,5F)改为83FD64,这个83FD5F之前应该是83C54B(对应汇编ADD EBP,4B其中4B就是十进制75为原始抗性上限)
      其后间隔4个数字后有BD5F(对应汇编MOV EBP,5F)改为BD64
      --111、113------------------------------
      编辑D2Game.dll文件
      查找83F85F改为83F864(5F是十进制95而64是十进制100)
      其后间隔4个数字后有B85F改为B864
      同步面板显示效果编辑D2Client.dll文件
      查找83F85F改为83F864,这个83F85F之前应该是83C04B(其中4B就是十进制75为原始抗性上限)
      其后间隔4个数字后有B85F改为B864


      4楼2012-04-08 16:14
      回复
        魔法,火,电,冰冷,毒抗性上限修改的验证。单机双开,用补丁附带的存档人物uke建立TCP多人游戏,seme加入游戏与uke敌对。uke从方块里拿一个加抗性上限25%(如果没有这个属性人物的抗性上限是75%)所有抗性100%的小护身符到物品栏,可以从左边的属性面板看出抗性已经是100了。seme分别用火球、骨魂、剧毒新星三种技能攻击uke,发现仅55HP的uke毫发无伤(seme放剧毒新星的时候要卸下死灵套装盾牌,否则会减uke的抗性)。





        


        5楼2012-04-08 16:39
        回复
          物理抗性上限。原版暗黑物免上限50%,现在修改为100就可以使玩家变得像怪物一样可以免疫。
          参考http://phrozenkeep.hugelaser.com/forum/viewtopic.php?t=19653的汇编

          --110--------------------------------------------
          编辑D2Game.dll文件
          查找837A0424(对应汇编CMP DWORD PTR [EDX+04], 24)
          其后间隔4个数字后有B832(对应汇编MOV EAX, 32其中32是十进制50)改为B864(64是十进制100)
          --111,113------------------------------------------
          编辑D2Game.dll文件
          查找837B0424
          其后间隔4个数字后有B832(其中32是十进制50)改为B864(64是十进制100)


          6楼2012-04-08 16:43
          回复
            物理抗性上限修改的验证。uke的那个抗性小护身符同时也有物理伤害减少100%的属性(物理伤害和其他五系伤害不同,没有增加抗性上限的物品属性,也就是说没有75%这个限制)。seme去掉多余的装备只保留武器,确保普通攻击中只含有物理伤害。seme普通攻击uke,发现uke毫发无伤。



            


            7楼2012-04-08 16:55
            回复
              魔法,火,电,冰百分比吸收上限。暗黑原版是40%,百分比吸收在伤害流程中作用于抗性之后数值吸收之前,一般情况下40%吸收可以近似理解为80%抗性。不存在物理伤害和毒伤害的百分比吸收属性。
              参考http://phrozenkeep.hugelaser.com/forum/viewtopic.php?t=19653的汇编

              --110---------------------------------------
              编辑D2Game.dll文件
              查找83F928(28是十进制40)改为83F964(64是十进制100)
              其后间隔4个数字后有B928(对应汇编MOV ECX, 28)改(和555谐)为B964
              --111、113---------------------------------------
              编辑D2Game.dll文件
              查找83F828(28是十进制40)改为83F864(64是十进制100)
              这个83F828之后紧跟的4个数字应该是7C07
              再后面的4个数字应该是B828改为B864


              9楼2012-04-08 17:00
              回复

                格挡上限。原版暗黑是75%,现在修改为100,就可以做到四面受敌而毫发无伤。
                参考http://phrozenkeep.hugelaser.com/forum/viewtopic.php?t=19653的汇编

                --110--------------------------------------------
                编辑D2Common.dll文件
                查找83FD4B改为83FD64(4B是十进制75而64是十进制100)
                其后间隔24个数字后有B84B改为B864
                --111,113------------------------------------------
                编辑D2Common.dll文件
                查找83FF4B改为83FF64(4B是十进制75而64是十进制100)
                其后间隔24个数字后有B84B改为B864


                15楼2012-04-08 17:51
                回复
                  格挡上限测试。uke带上盾牌,鼠标移到属性面板的防御上看格挡率,显示格挡几率100%。seme普通攻击uke,uke每次都做格挡动作,seme打了很久uke还是毫发无伤。


                  


                  16楼2012-04-08 17:56
                  回复
                    PP数上限。暗黑原版最高只能设置为8PP,现在修改到最高127PP(128PP到255PP的数值会有问题这个在参考贴里已经说明,所以一般都是修改到127PP)。参考贴写的修改方法是按偏移地址修改,我转换为按特征码修改这样做兼容性更好。
                    参考http://tieba.baidu.com/p/646692974


                    --110--------------------------------------------
                    编辑D2Client.dll文件
                    查找83F8088BF0,将83F808的08改为7F(7F是十进制127)。其后几个字节处有7C05BE08,将BE08的08也改为7F。
                    编辑D2Game.dll文件
                    查找83F9087F06,将83F908的08改为7F。
                    --111,113------------------------------------------
                    编辑D2Client.dll文件
                    查找83F8088BF8,将83F808的08改为7F(7F是十进制127)。其后几个字节处有7C05BF08,将BF08的08也改为7F。
                    编辑D2Game.dll文件
                    查找83F9087F06,将83F908的08改为7F。


                    17楼2012-04-08 18:07
                    回复
                      PP数上限的测试。uke建立单人游戏,按回车开启聊天输入,输入“/players 127”回车,屏幕提示“player set to 127”。出门砍一个僵尸,发现僵尸掉血很慢。



                      


                      18楼2012-04-08 18:13
                      回复
                        神符之语底材成色限制。原版暗黑的神符之语只能用带孔白色装备作为底材,其他成色的带孔装备只会附加符文本身的属性而不能附加神符之语的超强属性。现在修改为所有成色的底材都能附加神符之语的超强属性,可以想象一下无形暗金双头斧【符文大师】做成的【死神】神符之语是一把什么武器。
                        以前抄录的某大神博客里的,不过摆渡一下也能找到很多。这些文章写到的修改方法都是按偏移地址修改,我也转成了按特征码修改,并发现暗黑三个版本的特征码修改方法完全一致。
                        --110、111、113--------------------------------------------
                        编辑D2Common.dll文件
                        查找0C8B0083F8047C05,将83F804的04改为0A(04灰色、0A所有成色、05蓝色、06绿色、07亮金、08暗金、09橙色)


                        19楼2012-04-08 18:22
                        回复
                          神符之语底材成色限制的测试。seme存档里有四件装备,可以看出无形暗金双头斧【符文大师】做成的【死神】神符之语的单手伤害是369-747。




                          


                          20楼2012-04-08 18:28
                          收起回复
                            雇佣兵全装备。虽然网上有补丁但无教程,所以自己用WinHex的二进制文件比较补丁和原版搞出来的,经测试无误。这里贴一下用WinHex比较文件的截图好了。



                            --110--------------------------------------------
                            编辑D2Client.dll文件
                            查找C0750C6A2556,将C075的75改为EB
                            查找C0752F6A22EB,将C075的75改为EB
                            查找C0750C6A2553,将C075的75改为EB
                            查找C00F8598000000,将0F8598000000改为E99900000090
                            编辑D2Game.dll文件
                            查找C0750C6A2556,将C075的75改为EB
                            查找C075626A1E56,将C075的75改为EB
                            --111、113--------------------------------------------
                            编辑D2Client.dll文件
                            查找C0750C6A2557,将C075的75改为EB
                            查找C0752F6A22EB,将C075的75改为EB
                            查找C0750C6A2553,将C075的75改为EB
                            查找FF85C00F85980000006A22E987,将0F8598000000改为E99900000090
                            编辑D2Game.dll文件
                            查找C0750C6A2556,将C075的75改为EB
                            查找C075616A2256,将C075的75改为EB


                            22楼2012-04-08 18:37
                            收起回复
                              雇佣兵全装备的验证。seme雇佣一个萝格弓箭手,可以给她戴上手套、腰带、鞋子、项链、戒指。武器也不局限于弓类。


                              


                              23楼2012-04-08 18:49
                              收起回复