梦幻模拟战吧 关注:54,959贴子:384,156
  • 2回复贴,共1

【MDL2】魔防修复

取消只看楼主收藏回复

首先,魔防魔法增加数值:50(32)
关于护身符破魔防Bug:
原因是在判断加部下魔防的时候,没有判断这个属性,它只判断魔防与非魔防,那么就悲剧,因为就数值上来说,部下魔防≠魔防,所以部下魔防只能与AMD共享Max=99.
关于魔防Bug:
首先,它在程序里是有判断是否佣兵的。然后呢,在断定是佣兵的时候就会跳过主将这条加魔防程序,然后进入佣兵加魔防的程序,所以加魔防道具都是有加佣兵道具魔防的数值的。接着关键来了,在断定是主将的时候就进入主将的加魔防程序,没毛病吧?然后呢,在接下来它没跳过佣兵的那条程序,所以又加了一遍魔防。那么主将就加了双倍魔防。
关于魔防崩溃:
没别的,只列一个系列算式,注:计算魔防程序是判断是否负数。
神圣杖30+50=80(50) 【50-64=-14(负数)写入50】
幻影袍20+80=100(64) 【64-64=0(非负数)写入64】
十字架20+100=120(78) 【78-64=14(非负数)写入64】
如果仅一遍是正常的:
100+100=200(C8) 【C8-64=64(非负数)写入64】
但:
100+100=200(C8) →再次进入计算魔防程序
30+200=230(E6) 【E6-64=82(负数)写入E6】为什么说82是负数?因为在判断单字节时,80就等于是负数了。然后后面你也知道结果了……
20+230=250(FA) 【FA-64=96(负数)写入FA】
20+250=270(0E) 【0E-64=-86(负数)写入0E】为什么是0E?因为是单字节。010E是不取那个01,直接取0E……
最终计算魔防为——【0E】
最后,修复方法已经制作为一个修复补丁,上传至我的永硕盘里,即置顶里的【另有网盘】


IP属地:广东1楼2018-09-10 23:38回复
    呃Eeeeeee……
    我把【含部下】改成了【仅部下】…………
    等下研究一下改回来吧。


    IP属地:广东11楼2018-09-12 16:48
    回复(5)
      加了个补丁:
      10号的补丁是【包含部下】属性魔防仅加部下,不加主将
      12号的补丁是【包含部下】属性魔防主将小兵都加


      IP属地:广东12楼2018-09-12 18:34
      收起回复