744865306 发表于 2021-7-22 21:28:42

本人最近写了段ASM,但没有达到效果,求各位大佬帮助

我想要达到的效果是:如果是此特性,则无克制效果,且造成伤害提升至原来的10倍,但没能达成此效果,并且似乎被克制自己的技能攻击会卡死?

.gba
.thumb
.create "test.gba",0x8000000
.close
.open "绿宝石.gba","test.gba",0x8000000

.org 0x082E9808
.func new
      mov r1,#0x58
      ldr r5,=0x0202420B
      ldrb r5,
      mul r1,r5
      ldr r0,=0x020240A4
      add r0,r1
      ldrb r0,
      cmp r0,#78 ;特性编号
      bne no
      mov r0,#0xA
      mov r1,#0x1
end:
      bl 0x082E7540
      mov r5,r0
      ldr r0,=(0x08046F70|1)
      bx r0
no:
      ldr r5,=0x020241F0
      ldr r0,
      mul r0,r4
      mov r1,#0xA
      b end
.endfunc
.pool

.org 0x08046F68
      bx r5
.pool

.org 0x08046F70
      mov r0,r5
.pool

.org 0x08046F90
      .word (new|1)
.pool

.close

本站第一萌新 发表于 2021-7-22 22:37:06

本帖最后由 本站第一萌新 于 2021-7-22 22:38 编辑

推荐修改TypeCalc(080475e4)以移除克制关系 修改CalculateBaseDamage(0806957c)以进行伤害10倍增幅。这两个函数的逻辑可以对照老外的反编译工程来理解
另外,发现你的函数书写格式和我一模一样{:5_doge06:}

744865306 发表于 2021-7-23 07:53:53

本站第一萌新 发表于 2021-7-22 22:37
推荐修改TypeCalc(080475e4)以移除克制关系 修改CalculateBaseDamage(0806957c)以进行伤害10倍增幅。这两个 ...

唔……我去试试,话说书写格式问题可能是刚学ASM的时候看了您太多ASM的原因?

744865306 发表于 2021-7-23 08:39:44

本站第一萌新 发表于 2021-7-22 22:37
推荐修改TypeCalc(080475e4)以移除克制关系 修改CalculateBaseDamage(0806957c)以进行伤害10倍增幅。这两个 ...

这两函数完全看不懂……一直搁那mov,ldr和str……

本站第一萌新 发表于 2021-7-23 09:33:53

744865306 发表于 2021-7-23 08:39
这两函数完全看不懂……一直搁那mov,ldr和str……

这两个是巨型函数,如果你直接用nogba看的话看不懂很正常。可以对照老外的反编译工程来理解。(看过你发的其他帖子,你既然知道用github,想必也知道老外的反编译工程吧)

744865306 发表于 2021-7-23 15:02:52

本站第一萌新 发表于 2021-7-23 09:33
这两个是巨型函数,如果你直接用nogba看的话看不懂很正常。可以对照老外的反编译工程来理解。(看过你发 ...

知道是知道,但是不会对照着理解……

本站第一萌新 发表于 2021-7-23 15:14:27

744865306 发表于 2021-7-23 15:02
知道是知道,但是不会对照着理解……

C语言的源码看起来还不好理解吗= =,光是看命名就能弄懂大多数函数和数据的作用了。在结合nogba调试一下很容易就知道该怎么写了

744865306 发表于 2021-7-23 15:22:33

本站第一萌新 发表于 2021-7-23 15:14
C语言的源码看起来还不好理解吗= =,光是看命名就能弄懂大多数函数和数据的作用了。在结合nogba调试一下 ...

……我的意思是用不来反编译项目的东西,是看项目里的文件嘛?

本站第一萌新 发表于 2021-7-23 15:27:05

744865306 发表于 2021-7-23 15:22
……我的意思是用不来反编译项目的东西,是看项目里的文件嘛?

是的 叫你看我发的那两个函数的逻辑

744865306 发表于 2021-7-23 17:49:59

本站第一萌新 发表于 2021-7-23 15:27
是的 叫你看我发的那两个函数的逻辑

如果我想写:
拥有某个特性的精灵被某一属性技能打中后,某项能力值提升/下降一定等级,应该怎么写呢

本站第一萌新 发表于 2021-7-23 19:23:58

没写过这种的。大概看了一下,可以参考dizzyegg的绿宝石战斗完全升级,看看他怎么实现避雷针,引水等特性的
这个的难度会显著高于上面那个

744865306 发表于 2021-7-23 20:00:01

本站第一萌新 发表于 2021-7-23 19:23
没写过这种的。大概看了一下,可以参考dizzyegg的绿宝石战斗完全升级,看看他怎么实现避雷针,引水等特性的 ...

额……这个东西能给个链接嘛?

本站第一萌新 发表于 2021-7-23 21:07:11

744865306 发表于 2021-7-23 20:00
额……这个东西能给个链接嘛?

论坛里就有:http://www.pmcenter.cn/forum.php?mod=viewthread&tid=110937&highlight=%C2%CC%B1%A6%CA%AF%D5%BD%B6%B7%CF%B5%CD%B3
页: [1]
查看完整版本: 本人最近写了段ASM,但没有达到效果,求各位大佬帮助