MD梦幻模拟战2 机制解析2-魔法(修正@20170302)

  • 内容
  • 评论
  • 相关

2017/03/02------
经评论的朋友提醒,增加了剩下3种魔法的修复方法。
----------------

上次介绍了MDL2中的形象限制,这次要研究的是MDL2中的魔法效果,这里着重介绍魔法威力。
MDL2的魔法系统比较简单,魔法威力只与等级LV和魔防MR有关。
1、首先是攻击类魔法
攻击类魔法带有自身的魔法威力,由程序设定的,由于代码段比较长,就不贴出来了,直接把魔法威力的计算方式贴出来:
魔法箭 LV/2*2
爆炎 LV/2+20
落雷 LV/2+5 水中+1
火球 LV/2+3
陨石 LV/2+10
暴风雪 (LV/2+2)*2
龙卷风 (LV/2+2)*2 飞行+1
地震 (LV/2+5)*2 飞行=0
其中要注意的是,除法的计算结果要省略小数点后面,比如7/2=3,因为程序本来使用的是右位移,为了表示方便我写成了除法。
然后再来看接下来的算法,看图:

简单解释一下:
0xa711是保存防守方魔防MR的地方,这里的意思是:
魔法伤害=((100-防守方MR)*魔法自身威力)/100 +道具附加魔法伤害
就这么一个简单的式子。

2、回复魔法,直接省略了,效果大家都清楚

3、状态魔法
状态魔法有催眠、沉默、束缚、魅惑,成功率都是由攻击方LV、防守方LV、防守方MR共同决定。
具体如下:
催眠 种类=0e无效 状态=催眠无效
沉默 召唤兽无效 状态=沉默无效
束缚 状态=束缚无效
魅惑 种类=0e无效
它们的成功率计算方式都是一样的:
成功率=100-(防守方MR-(攻击方lv-防守方lv)*4)

程序里设计是这样的,但是测试的时候却发现,状态魔法无论如何都是成功的,测试使用的是狼组汉化原版。
然后调试之后发现,这好像是一个BUG,貌似游戏程序员把状态位搞错了。
如果这是一个BUG,那么可以这样修复:
修改ROM:
修复催眠:B0C4:67 -> 6B
修复沉默:B144:67 -> 6B
修复束缚:B23E:67 -> 6B
修复魅惑:B2F4:67 -> 6B

效果图:
20151204033122

加载中,请稍候...

评论

1条评论
  1. 莫纹 回复

    这样改好像只有催眠有效果.其他三项都还是必中.

发表评论

电子邮件地址不会被公开。 必填项已用*标注