2013-6-11 01:06
WHITESHIP
代码无视掉,懒得自己删了,只要看八岁的解释文字即可
[quote]原帖由 [i]岱瀛[/i] 于 2007-1-20 17:15 发表
0043BDA4 |. FF2485 96BF43>JMP DWORD PTR DS:[EAX*4+43BF96] 下面是个跳转表
0043BF96 . 35BE4300 DD Ekd5大白.0043BE35 01步兵
0043BF9A . ABBD4300 DD Ekd5大白.0043BDAB 02弓兵
0043BF9E . 98BE4300 DD Ekd5大白.0043BE98 3与大于4一样处理 03骑兵
0043BFA2 . ABBD4300 DD Ekd5大白.0043BDAB 04弓骑兵
0043BFA6 . \ABBD4300 DD Ekd5大白.0043BDAB 05炮兵
弓兵,弓骑兵,炮兵都跳转到这里:
0043BDAB |> 8B4D EC MOV ECX,DWORD PTR SS:[EBP-14]
0043BDAE |. 81E1 FF000000 AND ECX,0FF
0043BDB4 . 83F9 03 CMP ECX,3 3,骑兵受到150%的远程伤害
0043BDB7 |. 74 1B JE SHORT Ekd5.0043BDD4
0043BDB9 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14]
0043BDBC |. 81E2 FF000000 AND EDX,0FF
0043BDC2 . 83FA 11 CMP EDX,11 11,训虎受到150%的远程伤害
0043BDC5 |. 74 0D JE SHORT Ekd5.0043BDD4
0043BDC7 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
0043BDCA |. 25 FF000000 AND EAX,0FF
0043BDCF |. 83F8 10 CMP EAX,10 10, 训雄受到150%的远程伤害
0043BDD2 |. 75 0B JNZ SHORT Ekd5.0043BDDF
0043BDD4 |> 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
0043BDD7 |. 6BC9 03 IMUL ECX,ECX,3
0043BDDA |. D1E9 SHR ECX,1
0043BDDC |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX //伤害计算 先乘以3,再右移动一位(处以2)
0043BDDF |> 6A 3D PUSH 3D 3D减轻远距损伤的特殊效果代号
0043BDE1 |. 8B4D DC MOV ECX,DWORD PTR SS:[EBP-24]
0043BDE4 |. E8 87380200 CALL Ekd5.0045F670 获取被攻击武将的data编号
0043BDE9 |. 8BC8 MOV ECX,EAX
0043BDEB |. 6BC9 48 IMUL ECX,ECX,48
0043BDEE |. 81C1 681B4A00 ADD ECX,Ekd5.004A1B68
0043BDF4 |. E8 10BCFCFF CALL Ekd5.00407A09 检测被攻击武将是否装备减轻远距损伤的特殊道具
0043BDF9 |. 85C0 TEST EAX,EAX
0043BDFB |. 74 36 JE SHORT Ekd5.0043BE33
0043BDFD |. 6A 3D PUSH 3D 减轻远距损伤
0043BDFF |. 8B4D DC MOV ECX,DWORD PTR SS:[EBP-24]
0043BE02 . E8 69380200 CALL Ekd5.0045F670 获取被攻击武将的data编号
0043BE07 |. 8BC8 MOV ECX,EAX
0043BE09 |. 6BC9 48 IMUL ECX,ECX,48
0043BE0C |. 81C1 681B4A00 ADD ECX,Ekd5.004A1B68
0043BE12 . E8 DBBCFCFF CALL Ekd5.00407AF2 ; \Ekd5. 获取被武将减轻远距损伤的特殊道具的特殊效果值
0043BE17 |. 25 FF000000 AND EAX,0FF
0043BE1C |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0043BE1F |. 0FAFC2 IMUL EAX,EDX
0043BE22 |. 33D2 XOR EDX,EDX
0043BE24 |. B9 64000000 MOV ECX,64
0043BE29 |. F7F1 DIV ECX
0043BE2B |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0043BE2E |. 2BD0 SUB EDX,EAX
0043BE30 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
0043BE33 |> EB 63 JMP SHORT Ekd5.0043BE98
步兵跳转到这里:
0043BE35 |> 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
0043BE38 |. 25 FF000000 AND EAX,0FF
0043BE3D |. 83F8 03 CMP EAX,3 3表示骑兵只受到步兵60%的伤害
0043BE40 |. 75 2F JNZ SHORT Ekd5.0043BE71 不是骑兵则跳转
0043BE42 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0043BE45 |. 6BC0 03 IMUL EAX,EAX,3
0043BE48 |. 33D2 XOR EDX,EDX
0043BE4A |. B9 05000000 MOV ECX,5
0043BE4F |. F7F1 DIV ECX 乘以3除以5----------------------------60%
0043BE51 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0043BE54 |. 837D FC 00 CMP DWORD PTR SS:[EBP-4],0
0043BE58 |. 75 09 JNZ SHORT Ekd5.0043BE63
0043BE5A |. C745 CC 01000>MOV DWORD PTR SS:[EBP-34],1 如果等于0,则设置为---------------1%
0043BE61 |. EB 06 JMP SHORT Ekd5.0043BE69
0043BE63 |> 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0043BE66 |. 8955 CC MOV DWORD PTR SS:[EBP-34],EDX
0043BE69 |> 8B45 CC MOV EAX,DWORD PTR SS:[EBP-34]
0043BE6C |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0043BE6F |. EB 27 JMP SHORT Ekd5.0043BE98
0043BE71 |> 8B4D EC MOV ECX,DWORD PTR SS:[EBP-14]
0043BE74 |. 81E1 FF000000 AND ECX,0FF
0043BE7A |. 83F9 02 CMP ECX,2 02弓兵受到步兵150%的伤害
0043BE7D |. 74 0E JE SHORT Ekd5.0043BE8D 相等,是弓兵,跳转
0043BE7F |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14]
0043BE82 |. 81E2 FF000000 AND EDX,0FF
0043BE88 |. 83FA 05 CMP EDX,5 05炮兵受到步兵150%的伤害
0043BE8B |. 75 0B JNZ SHORT Ekd5.0043BE98 不相等,不是炮兵,跳转
0043BE8D |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0043BE90 |. 6BC0 03 IMUL EAX,EAX,3
0043BE93 |. D1E8 SHR EAX,1
0043BE95 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0043BE98 |> 8B4D EC MOV ECX,DWORD PTR SS:[EBP-14]
0043BE9B |. 81E1 FF000000 AND ECX,0FF
0043BEA1 |. 83F9 03 CMP ECX,3
0043BEA4 |. 75 4A JNZ SHORT Ekd5.0043BEF0 如果被攻击不是骑兵跳转
0043BEA6 |. 6A 2D PUSH 2D 2D-骑马攻击
0043BEA8 |. 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C]
0043BEAB |. 8B0A MOV ECX,DWORD PTR DS:[EDX]
0043BEAD |. 6BC9 48 IMUL ECX,ECX,48
0043BEB0 |. 81C1 681B4A00 ADD ECX,Ekd5.004A1B68
0043BEB6 |. E8 4EBBFCFF CALL Ekd5.00407A09 检测攻击武将是否装备骑马攻击的特殊道具
0043BEBB |. 85C0 TEST EAX,EAX
0043BEBD |. 74 31 JE SHORT Ekd5.0043BEF0
0043BEBF |. 6A 2D PUSH 2D 2D-骑马攻击. [/quote]
========
简单解释下就是:弓骑兵攻击时视作弓兵,挨打时视作普通兵种而不是骑兵(好不容易才想出的整理台词!)
[color=Silver][[i] 本帖最后由 WHITESHIP 于 2013-6-11 01:10 编辑 [/i]][/color]