【修改】FC ROM研究
finalfantasy2吧
全部回复
仅看楼主
level 12
winisterZ 楼主
能慢慢研究 @床上谦谦君子 的资料最开心了,真的非常享受这种钻研探究的过程,有时候一研究就忘了时间,不知不觉就到了半夜,真是感叹时间不够用啊。。。。[揉脸]
2013年04月03日 09点04分 1
level 12
winisterZ 楼主
我最先着手的是装备数据,按谦君的字段释义对应我整理的表格,只要除去其中相同的数值,剩余的便是属性的代码了,这里先列出【一般属性】和【种族属性】的相应代码:
数值 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80
一般 变化 火  精神 雷  死  毒  神经 冰
种族 空  水  地  鬼  魔  龙  妖  不死
2013年04月03日 10点04分 2
level 12
winisterZ 楼主
研究了一下FC版里的经典BUG【魔法书作武器】,贴一点小成果,嘿嘿~
首先我把主角的武器修改成魔法书,然后脱光身上其他装备,刷新出状态画面,利用公式反推出了个别魔法书的攻击、命中、回避等数值,然后到ROM中一查,还真找到了那段代码(从0x304AE开始的40×9个字节),接着利用程序输出到控制台,再粘贴到excel表中,于是有了如下的表格:
很明显,其实就是程序读了一段脏数据(把其他含义的代码当做武器数据来读了,而开发者之所以没有解决这个BUG,或许也是出于某种娱乐精神,故意留给玩家去发现的吧),其中前5项是我转换后的正常10进制数,后4项为了方便查找对应属性和魔法代码,仍旧保持16进制~
2013年04月03日 10点04分 3
level 12
winisterZ 楼主
然后是 魔法信息 和 物品的使用效果 列表,突破口就在之前发现的【魔法书武器】数据所读取的那段“脏数据”,从数据结构上看,这是一段N×5的代码区域,然后从前一段已知区域的武器代码区的结尾看起(0x30106+64*9=0x30346),因为不知道具体有多长,我先试了40本魔法书的数量看看:
2013年04月03日 13点04分 4
level 12
winisterZ 楼主
前面的还看不出什么端倪,但是最后那7行是什么?第一列的编号和第二列的数值正好对应了魔法书使用时的等级,但第三列和第五列实在看不懂(至今还是不懂。。。),那么第四列呢?难道是作用对象?也就是说,后面至少还有33行,那么再打印40行吧~~
2013年04月03日 13点04分 6
level 12
winisterZ 楼主
魔法书的使用效果确定了,那么前面和后面的又是什么呢?数数看两个255中间的行数,正好是商店出售物品的数量,第二个255后面到魔法书的前面正好是特殊物品的数量,那么第一行呢?正好是飞龙的使用效果,7级的【火焰】,这样特殊魔法的编号也基本确定了~~[Yeah]
2013年04月03日 13点04分 7
level 12
winisterZ 楼主
接着再打印80行,但是发现了异样,这里我给出前140行的数据就足够说明问题了
顺理成章可以推断出来,其实魔法书后面的数据就是定义给武器和怪物用的魔法了,当然,怪物的魔法也可以引用到前面的数据,你看,比如毛毛虫会的地震和吹雪其实就是大地鼓和风笛的效果,这个数据表格我暂且命名它为【魔法使用属性】数据~~
2013年04月03日 13点04分 8
level 12
winisterZ 楼主
至于编号86再后面的就不是了,因为数据已经完全不像了,比如编号1的火球术出现了0级,还出现了编号0的魔法,那么这里又是什么数据呢?数一下这个数据的地址(0x30346+0x86*5=0x305E9),然后再用下一段已知数据的起始地址(怪物数据的0x307D3)来减一下看看,(0x307D3-0x305E9=490),再按前面推算出来的最大魔法编号70(40个普通魔法和30个特殊魔法),正好能用490整除,也就是每个魔法对应了7个字节,这个信息表格我就命名它为【魔法基本属性】数据了,下面来看看输出后的数据表格吧~~
2013年04月03日 13点04分 10
level 12
winisterZ 楼主
经过初步分析,基本可以推断:
第一列是魔法类型(比如:1-伤害类、4-短时异状类、3-持久异状类。。。等);
第二列是命中,具体怎么用还不清楚,可能是数值越低,命中越高;
第三列是魔法威力;
第四列是附带的属性,应该会根据第一列的类型作不同判定,有些是一般属性,有些是种族属性;
第五列是附加的状态属性;
第六列是魔法使用时的颜色;
第七列是攻击到怪物身上产生的特效。
但至今唯一搞不懂的还是【魔法使用属性】数据里的第三列和第五列。。。
2013年04月03日 13点04分 11
level 12
winisterZ 楼主
link?shareid=337313&uk=1762572762
这是拜 @komicakomica 所赐的美版rom修改器 ,感激不尽~!
不过在怪物属性中有个【morale】值不知道是派什么用的,求指教~
2013年04月03日 13点04分 12
士气值,越低敌人越容易逃跑。FF1里面也有类似设定。
2013年04月03日 14点04分
回复 komicakomica :原来如此,但我好像没发现有怪物等级诶。。。
2013年04月05日 09点04分
回复 winisterZ :我找了一下,16进制地址17710开始是所有怪物的等级。顺序参照修改器的怪物数据一项。
2013年04月05日 13点04分
level 1
回复 winisterZ :现成的暂时未找到。 百度盘/share/link?shareid=378088&uk=1762572762 但这里的改版包括所有怪物等级提升8这样的修改,你把打好补丁的rom和未打的比较一下就知道了。
2013年04月05日 12点04分 13
多谢多谢~[太开心]
2013年04月06日 09点04分
level 13
我倒是很喜欢浅尝则止,都知道点。
2013年04月26日 22点04分 14
故常有些奇法,但不深入,这很正常
2013年04月26日 22点04分
level 13
高人
2013年11月17日 00点11分 15
1