Pokemon Center | 口袋中心 以口袋妖怪为主题并带有其他动漫游戏的讨论

 找回密码
 加入口袋中心
搜索
楼主: starxxxxx
打印 上一主题 下一主题

火红绿宝石美版攻击定义DP化补丁

[复制链接]

62

帖子

2239

现金

32

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
284
跳转到指定楼层
1#
发表于 2011-11-22 22:09:57 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
http://www.rayfile.com/zh-cn/fil ... -b34a-0015c55db73d/
以上下载包含绿宝石美版和红宝石美版的攻击定义DP化补丁。
打补丁前,请先确认原ROM在下面对应版本的图片展示的位置中完全有空位(除开第一行和最后一行)(绿宝石美版需要扩容)。
两个都是我自己做的,而漆黑吧的补丁则是根据日站做的,
至于二者有什么不同,后面会作出解释。

1.首先我会先介绍两个补丁的原理。
我们知道,游戏中必定存在判断攻击定义的程序,但是这些程序在哪呢?
网上的老金表明,口袋妖怪ROM中各种属性对应数字(即如0对应普通,1对应格斗)的排列是有规律的,
0-8的属性是物攻,9是问号属性,9以上的属性都是特攻。
因此,GBA上的口袋妖怪的攻击定义判定实际上就是判定属性对应的数字与8或9或A的大小关系。
所以判定攻击定义的指令有可能是 CMP RX,08H 或 CMP RX,09H 或 CMP RX,AH

我们只需用工具标记所有“CMP RX,08H 或 CMP RX,09H 或 CMP RX,AH”,看哪些指令会在战斗中运行,
经筛选就能得出判定攻击定义的指令。
最终找到两个指令,分别是位于69A5A的“0829”和位于69BCC的“0928”。

我们再在ROM里做一张表,规定哪些编号的技能是物攻,哪些是特攻。
最后让判定程序与这张表挂钩就完成了修改。


2.ROM中技能对应物特的表格
如下面二图所示,我做的表格均由图片的第二行(全F行的下一行)开始。
以第一张火红的图为例,每一个技能对应两个数字,
第一个技能0001 拍打对应9A00A0的00, 第二个技能0002空手切对应9A00A1的00,以此类推。
表中00代表物攻和变化技能,10代表特攻技能。
火红
绿宝石


如果你想把某个物攻技能改为特攻技能,只要将表中技能对应的00改为10即可。

以下为部分技能对应的内部数字(最左侧),其它请百度。
0001 拍打(はたく) 40 100% 35 无特效
0002 空手切(からてチョップ) 50 100% 25 容易命中要害
0003 往复拍打(おうふくビンタ) 15 85% 10 2至5次连续攻击
0004 连续拳(れんぞくパンチ) 18 85% 15 2至5次连续攻击
0005 百万吨级铁拳(メガトンパンチ) 80 85% 20 无特效
0006 招财猫(ネコにこばん) 40 100% 20 战斗结束后得到金钱
0007 火炎拳(ほのおのパンチ) 75 100% 15 10%机率敌烧伤
0008 冷冻拳 (れいとうパンチ) 75 100% 15 10%机率敌冰冻
0009 闪电拳(かみなりパンチ) 75 100% 15 10%机率敌麻痹
000A 抓(ひっかく) 40 100% 35 无特效


3.两个补丁是否有BUG?
虽然自使用以来,我还没发现过BUG,但我是不能保证无BUG的。
我看过漆黑吧的补丁,可以确定作者懂的东西比我多。
他还找到两个以上的判定程序。你可能就会说了,我这两个补丁不就漏掉其它判定程序了吗?
但是,那两个程序是用如地毯式搜查的方法得到的,除非判定指令只在特殊情况中被用到,
不然不可能遗漏。
事实上,我看过他其它的判定程序,也只有两个程序在战斗中被检测出,
其它要么是伤害计算完才被检测,要么就根本没被检测出过。
除了我找到的两个程序外的其它判定程序有什么用我也不太清楚,
毕竟绿宝石中技能发动后的技能效果与物特无关。
但是听说日站补丁在天气球和觉醒力上的判定会有误,
而经测试,我做的补丁在这两个技能上是没问题的。

[ 本帖最后由 starxxxxx 于 2011-11-26 18:39 编辑 ]
回复

使用道具 举报

62

帖子

2239

现金

32

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
284
2#
 楼主| 发表于 2011-11-26 09:36:36 | 显示全部楼层
原帖由 海のLUGIA 于 2011-11-22 22:33 发表
看了下,修改的字节不算多,怎么会不能做成补丁形式呢?

试试xPatch?

谢了。
我的修改地区就是超了16M,所以其他补丁工具都用不了。
回复 支持 反对

使用道具 举报

62

帖子

2239

现金

32

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
284
3#
 楼主| 发表于 2011-11-26 18:34:07 | 显示全部楼层
原帖由 天行 于 2011-11-26 17:11 发表
那么楼主大人你可否再确定一下,ips到底是用于红宝石呢,还是用于火红呢。。。

美版火红

感谢海姐指正错误

[ 本帖最后由 starxxxxx 于 2011-11-26 18:40 编辑 ]
回复 支持 反对

使用道具 举报

62

帖子

2239

现金

32

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
284
4#
 楼主| 发表于 2011-11-26 19:24:07 | 显示全部楼层
原帖由 某R 于 2011-11-26 19:06 发表


"帮楼主编辑了一下,图得用盗链才能显示"
這裡@@


對了,樓主用的Hexeditor我從來沒見過的
我現在用的是Hexworkshop v6.6

能請問一下該程式的名稱嗎?謝謝


我不知道你想问哪个程式的名称,
不过我用的WINHEX,CrystalTile2(CT2,复制功能好),HEXCMP(能查出两ROM的不同处)

[ 本帖最后由 starxxxxx 于 2011-11-26 19:46 编辑 ]
回复 支持 反对

使用道具 举报

62

帖子

2239

现金

32

勋章券

繁华都市的喧闹

Rank: 5Rank: 5Rank: 5

积分
284
5#
 楼主| 发表于 2011-12-29 20:57:04 | 显示全部楼层
原帖由 zjzj1118 于 2011-12-27 11:07 发表
我们只需用工具标记所有“CMP RX,08H 或 CMP RX,09H 或 CMP RX,AH”,看哪些指令会在战斗中运行,
经筛选就能得出判定攻击定义的指令。
最终找到两个指令,分别是位于69A5A的“0829”和位于69BCC的“0928”。 ...


工具的名字叫MO$GBA ,名字跟模拟器一样,但实际上是不同的。
在工具中只要点击某行指令,使其变为红色即完成标记。
详情请看http://bbs.newwise.com/viewthread.php?tid=80377

[ 本帖最后由 starxxxxx 于 2011-12-29 20:59 编辑 ]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入口袋中心

本版积分规则

手机版|Archiver|Pokemon Center

GMT+8, 2024-5-27 09:43 , Processed in 0.061480 second(s), 17 queries , Eaccelerator On.

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表