拳皇97吧 关注:395,599贴子:16,772,723
  • 0回复贴,共1

[技术流]也聊一下关于97气珠的加减

只看楼主收藏回复

前几天见一水友谈到,97气珠应该可以传递。闲着分析一下气珠加减数据
说一下97加减器规则
是按住C可以查看两人间关系?
怒脸:气珠清空
白脸:气珠不变
笑脸:气珠加一
=====================================
惯例WINHEX打开P1,从这里看起就够了
======================================
2561C: 0C07 0002 CMPI.B #0x2,D7
25620: 6502 BCS.S *+0x4 [0x25624]
25622: 7E02 MOVEQ #0x2,D7
25624: 47F9 000A C698 LEA 0xAC698,A3
//读取角色关系表 (下面会列出这个表)
2562A: 7400 MOVEQ #0x0,D2
2562C: 1430 700A MOVE.B (0xA,A0,D7.W),D2
25630: 7200 MOVEQ #0x0,D1
25632: 1230 2004 MOVE.B (0x4,A0,D2.W),D1
25636: C2FC 0020 MULU.W #0x20,D1
2563A: 0407 0001 SUBI.B #0x1,D7
2563E: 1430 700A MOVE.B (0xA,A0,D7.W),D2
25642: 1030 2004 MOVE.B (0x4,A0,D2.W),D0
25646: D240 ADD.W D0,D1
25648: 1033 1000 MOVE.B (0x0,A3,D1.W),D0
2564C: 0C00 0002 CMPI.B #0x2,D0
//比较寄存器D0是否为2(角色间是否为敌对关系)
25650: 671C BEQ.S *+0x1E [0x2566E]
//是,则跳转至地址[0x2566E]。(气珠数设为0)
25652: 0C00 0001 CMPI.B #0x1,D0
//比较寄存器D0是否为1(角色间是否为平常关系)
25656: 6718 BEQ.S *+0x1A [0x25670]
//是,则跳转至地址[0x25670],分支子程序结束。
25658: 0C06 0003 CMPI.B #0x3,D6
//比较寄存器D6数据是否为3。(气珠数是否为3)
2565C: 6412 BCC.S *+0x14 [0x25670]
//无进位则跳转至地址[0x25670],分支子程序结束。(3个气珠满了,不用加。子程序结束)
2565E: 5206 ADDQ.B #1,D6
//寄存器D6的数值加1。(如果角色关系为友好,气珠数加1)
25660: 0C06 0004 CMPI.B #0x4,D6
//比较寄存器D6数据是否为4。(气珠数增加以后,是否为4)
25664: 6500 000A BCS *+0xC [0x25670]
//有进位则跳转至地址[0x25670],分支子程序结束。(数值为4,则运行下一行。)
25668: 1C3C 0003 MOVE.B #0x3,D6
//数值3置入寄存器D6。(气珠数为3)
2566C: 6002 BRA.S *+0x4 [0x25670]
//无条件分支至地址[0x25670],分支子程序结束。
2566E: 7C00 MOVEQ #0x0,D6
//数值0置入寄存器D6。(如果角色关系为敌对,气珠数为0)
25670: 4E75 RTS
//分支子程序结束。
角色关系:
0=友好
1=平常
2=敌对
下列数据每个角色一行,与每一个角色相对应。
例:草薙京、矢吹真吾 之间关系为友好
下一角色是矢吹真吾,ID为1F。找到下列数据的1F行。
上一个角色用的是草薙京,那就是第00列数据(00=友好;01=平常;02=敌对)。
依次类推……
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 角色ID
AC698: 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (草薙京) 00
AC6B8: 01 00 01 01 01 01 01 01 00 00 01 01 00 01 01 00 00 00 01 01 01 02 01 02 01 00 01 02 02 02 02 01 (二阶堂红丸) 01
AC6D8: 01 01 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (大门五郎) 02
AC6F8: 01 01 01 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 02 00 02 02 02 02 02 01 (特瑞) 03
AC718: 01 01 01 00 00 01 01 01 01 01 01 01 01 01 01 01 00 01 01 01 01 02 02 02 02 01 02 02 02 02 02 01 (安迪) 04
AC738: 01 01 01 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (东丈) 05
AC758: 01 01 01 01 01 01 00 01 00 01 01 01 01 01 01 01 01 00 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (坂崎良) 06
AC778: 01 01 01 01 01 01 01 00 00 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (罗伯特) 07
AC798: 01 01 01 01 01 01 00 01 00 01 01 01 01 01 01 01 00 00 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (坂崎由莉) 08
AC7B8: 01 01 01 01 01 01 01 01 01 00 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (莉安娜) 09
AC7D8: 01 01 01 01 01 01 01 01 01 00 00 00 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (拉尔夫) 0A
AC7F8: 01 01 01 01 01 01 01 01 01 00 00 00 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (克拉克) 0B
AC818: 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (雅典娜) 0C
AC838: 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (椎拳崇) 0D
AC858: 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (镇元斋) 0E
AC878: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 00 00 01 01 01 02 02 02 01 01 01 01 02 02 02 01 (神乐千鹤) 0F
AC898: 01 01 01 01 00 01 01 01 00 01 01 01 01 01 01 00 00 00 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (不知火舞) 10
AC8B8: 01 01 01 01 01 01 00 01 00 01 01 01 01 01 01 00 00 00 01 01 01 02 02 02 01 01 01 02 02 02 02 01 (KING) 11
AC8D8: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 01 01 02 02 02 02 01 01 02 02 02 02 01 (金家藩) 12
AC8F8: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 00 00 00 00 00 00 01 01 00 01 01 02 01 (陈国汉) 13
AC918: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 00 00 00 00 00 00 01 01 00 01 01 02 01 (蔡宝健) 14
AC938: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 00 00 01 02 02 01 02 02 02 02 (七枷社&暴) 15
AC958: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 00 00 01 02 02 01 02 02 02 02 (夏尔米&暴) 16
AC978: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 00 00 01 02 02 01 02 02 02 02 (克里斯&暴) 17
AC998: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 (山崎龙二) 18
AC9B8: 01 01 01 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 00 01 02 02 02 02 01 (玛莉) 19
AC9D8: 01 01 01 02 02 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 00 02 02 02 02 01 (比利) 1A
AC9F8: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 02 02 02 02 (八神庵) 1B
ACA18: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 02 02 02 (暴·八神庵) 1C
ACA38: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 02 02 (暴·莉安娜) 1D
ACA58: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 02 (OROCHI) 1E
ACA78: 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 02 02 01 01 01 02 02 02 02 00 (矢吹真吾) 1F
如果要按照那位水友的要求,气珠可以继承(不增不减)。有两种修改方法比较简单(方法不唯一)
1、不判断人物关系,直接4E75 RTS
2、下面那个表的数据全部选定,然后填充1
不过个人更倾向于改成KOF98那样比较合理
怒脸:气珠减一
白脸:气珠不变
笑脸:气珠加一


IP属地:广西1楼2014-11-05 12:26回复