轩辕春秋文化论坛 » 曹操传MOD制作交流 » 关于破甲攻击整数伤害/百分比伤害的问题


2010-3-7 13:58 武骧金星
关于破甲攻击整数伤害/百分比伤害的问题

GODTYPE引擎2.0版中提到破甲攻击的说明:

[color=Red]无视防御攻击(破甲攻击)。当AE1B2设置为1时,整数伤害,其他都是百分数伤害。由于涉及成长公式,所以不要改编号,除非会修改成长公式。目前默认的成长是:DATA效果*(武器等级+1)
[/color]
但是我发现AE1B2处压根没有代码ORZ

所以,能否请斑竹大人指点一下,如何把破甲攻击由整数伤害改为百分比伤害?谢谢。

2010-3-7 14:54 godtype
那里不记得是什么原因,地址变了,到了4.0的时代已经换了另外一种方式,所以没有打算修改。
0043BEF5  |. 803D B2334E00 >CMP BYTE PTR DS:[4E33B2],1
这句要改成 CMP BYTE PTR DS:[4E41B2],1
而4E41B2换算成UE地址是AEFB2

2010-3-7 15:02 武骧金星
啊,其实我是想请问一下百分比/整数在代码中如何体现的问题啦。

因为在岳飞传中有些数值是整数,有些数值时百分比,我想了解一下其中的区别在哪里。

因此,能否请您用破甲攻击作为例子来说明一下呢?谢谢。

2010-3-7 15:14 godtype
看一下旧版STAR引擎的代码吧,容易看一点
0043BE3D  |> 8B4D D4            MOV ECX,DWORD PTR SS:[EBP-2C]
0043BE40  |. E8 7B4B0900        CALL 004D09C0
0043BE45  |. 894D F8            MOV DWORD PTR SS:[EBP-8],ECX
0043BE48  |. 6A 17              PUSH 17                                  ; /Arg1 = 00000017
0043BE4A  |. E8 BABBFCFF        CALL 00407A09                            ; \00407A09
0043BE4F  |. 85C0               TEST EAX,EAX
0043BE51  |. 74 30              JE SHORT 0043BE83
0043BE53  |. 6A 17              PUSH 17                                  ; /Arg1 = 00000017
0043BE55  |. 8B4D F8            MOV ECX,DWORD PTR SS:[EBP-8]             ; |
0043BE58  |. E8 95BCFCFF        CALL 00407AF2                            ; \00407AF2
0043BE5D  |. 33C9               XOR ECX,ECX
0043BE5F  |. 8AC8               MOV CL,AL
0043BE61  |. 894D FC            MOV DWORD PTR SS:[EBP-4],ECX
0043BE64  |. 803D 70234600 01   CMP BYTE PTR DS:[462370],1 ——这里判断是否如果是1就是整数伤害,即按DATA的效果值来直接伤血,否则就是按被攻击方的总HP的百分比来计算
0043BE6B  |. 74 69              JE SHORT 0043BED6
0043BE6D  |. 8B4D 08            MOV ECX,DWORD PTR SS:[EBP+8]
0043BE70  |. E8 B7B3FCFF        CALL 0040722C ——被攻击方的总HP
0043BE75  |. FF75 FC            PUSH DWORD PTR SS:[EBP-4]
0043BE78  |. 50                 PUSH EAX
0043BE79  |. E8 79000000        CALL 0043BEF7 ——两个参数相乘后除以100
0043BE7E  |. 8945 FC            MOV DWORD PTR SS:[EBP-4],EAX

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.