标题: 在godtype的最终引擎上添加借力打力、护卫特效
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-19 06:03 资料 短消息 只看该作者
在godtype的最终引擎上添加借力打力、护卫特效

在godtype的最终引擎上,根据毅大的指点及zhangju兄的原始借力打力特效,修改出新的效果。

1.借力打力:在自己的攻击范围内同时有2个或2个以上的敌人时,被打时能将敌人的攻击牵引到血最少的敌人(除了发起攻击的人)上,如果格挡了敌人攻击,则被借力方受到全部伤害,如果没格挡住敌人攻击,则自己及被借力方受到的伤害都减半。(自己混乱状态时无效)

2.护卫:在自己的九宫范围内,如果有我方单位被攻击,则将攻击引到自己身上。(自己混乱状态时无效)

代码:

00406526  - E9 D6DC0C00     jmp Ekd5.004D4201

004D4201    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D4204    E8 66000000     call Ekd5.004D426F<------------------借力打力
004D4209    8B4D FC           mov ecx,dword ptr ss:[ebp-4]
004D420C    E8 10030000       call Ekd5.004D4521<-----------------护卫
004D4211    90              nop
004D4212    90              nop
004D4213    90              nop
004D4214    90              nop
004D4215    90              nop
004D4216    90              nop
004D4217    90              nop
004D4218    90              nop
004D4219    90              nop
004D421A    90              nop
004D421B    90              nop
004D421C    90              nop
004D421D    90              nop
004D421E    90              nop
004D421F    90              nop
004D4220    90              nop
004D4221    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D4224    E8 1B15F3FF     call Ekd5.00405744
004D4229  - E9 0023F3FF     jmp Ekd5.0040652E
004D422E    0000            add byte ptr ds:[eax],al
004D4230    0000            add byte ptr ds:[eax],al
004D4232    0000            add byte ptr ds:[eax],al
004D4234    0000            add byte ptr ds:[eax],al

004D4236    55              push ebp<------------------输入新的被攻击方,更新自4927F0开始存放的数据
004D4237    8BEC            mov ebp,esp
004D4239    83EC 20         sub esp,20
004D423C    894D FC         mov dword ptr ss:[ebp-4],ecx
004D423F    895D F8         mov dword ptr ss:[ebp-8],ebx
004D4242    8945 F4         mov dword ptr ss:[ebp-C],eax
004D4245    8A45 F8         mov al,byte ptr ss:[ebp-8]
004D4248    50              push eax
004D4249    8A4D F4         mov cl,byte ptr ss:[ebp-C]
004D424C    51              push ecx
004D424D    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D4250    E8 A71FF3FF     call Ekd5.004061FC
004D4255    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D4258    E8 2F1BF3FF     call Ekd5.00405D8C
004D425D    8B5D FC         mov ebx,dword ptr ss:[ebp-4]
004D4260    8B93 84000000   mov edx,dword ptr ds:[ebx+84]
004D4266    83C4 20         add esp,20
004D4269    8BE5            mov esp,ebp
004D426B    5D              pop ebp
004D426C    C3              retn
004D426D    0000            add byte ptr ds:[eax],al

004D426F    55              push ebp
004D4270    8BEC            mov ebp,esp
004D4272    83EC 34         sub esp,34
004D4275    894D FC         mov dword ptr ss:[ebp-4],ecx
004D4278    8B49 01         mov ecx,dword ptr ds:[ecx+1]
004D427B    81E1 FF000000   and ecx,0FF
004D4281    6BC9 24         imul ecx,ecx,24
004D4284    81C1 502C4B00   add ecx,Ekd5.004B2C50
004D428A    894D F8         mov dword ptr ss:[ebp-8],ecx
004D428D    6A 08           push 8
004D428F    E8 4C24F3FF     call Ekd5.004066E0
004D4294    85C0            test eax,eax
004D4296    0F85 A3010000   jnz Ekd5.004D443F<---------被攻击方混乱状态时跳出

004D429C    8B4D F8         mov ecx,dword ptr ss:[ebp-8]
004D429F    8B09            mov ecx,dword ptr ds:[ecx]
004D42A1    81F9 FF030000   cmp ecx,3FF
004D42A7    74 0C           je short Ekd5.004D42B5
004D42A9    81F9 22000000   cmp ecx,22<-------------------赵云具有此特效
004D42AF    0F85 8A010000   jnz Ekd5.004D443F
004D42B5    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D42B8    BA 00000000     mov edx,0
004D42BD    807C11 10 FF    cmp byte ptr ds:[ecx+edx+10],0FF
004D42C2    74 03           je short Ekd5.004D42C7
004D42C4    42              inc edx
004D42C5  ^ EB F6           jmp short Ekd5.004D42BD
004D42C7    817C11 11 63850>cmp dword ptr ds:[ecx+edx+11],8563
004D42CF    75 0E           jnz short Ekd5.004D42DF
004D42D1    C64411 0F FF    mov byte ptr ds:[ecx+edx+F],0FF
004D42D6    C74411 11 FFFF0>mov dword ptr ds:[ecx+edx+11],0FFFF
004D42DE    4A              dec edx
004D42DF    8955 E0         mov dword ptr ss:[ebp-20],edx
004D42E2    68 FF000000     push 0FF
004D42E7    68 40060000     push 640
004D42EC    6A 04           push 4
004D42EE    6A 00           push 0
004D42F0    68 C0120000     push 12C0
004D42F5    B9 38EB4A00     mov ecx,Ekd5.004AEB38
004D42FA    E8 41B7FAFF     call Ekd5.0047FA40
004D42FF    50              push eax
004D4300    E8 0EBAFAFF     call Ekd5.0047FD13
004D4305    6A 00           push 0
004D4307    6A 00           push 0
004D4309    8B4D F8         mov ecx,dword ptr ss:[ebp-8]
004D430C    E8 ADB5F6FF     call Ekd5.0043F8BE
004D4311    50              push eax
004D4312    8B4D F8         mov ecx,dword ptr ss:[ebp-8]
004D4315    83C1 06         add ecx,6
004D4318    51              push ecx
004D4319    8B4D F8         mov ecx,dword ptr ss:[ebp-8]
004D431C    E8 6522F6FF     call Ekd5.00436586
004D4321    C745 F0 0000000>mov dword ptr ss:[ebp-10],0
004D4328    C745 EC FF00000>mov dword ptr ss:[ebp-14],0FF
004D432F    C745 E8 FFFF0F0>mov dword ptr ss:[ebp-18],0FFFFF
004D4336    EB 03           jmp short Ekd5.004D433B
004D4338    FF45 F0         inc dword ptr ss:[ebp-10]
004D433B    8B45 F0         mov eax,dword ptr ss:[ebp-10]
004D433E    8A88 48C74A00   mov cl,byte ptr ds:[eax+4AC748]
004D4344    80F9 FF         cmp cl,0FF
004D4347    74 2E           je short Ekd5.004D4377
004D4349    8B55 FC         mov edx,dword ptr ss:[ebp-4]
004D434C    3A0A            cmp cl,byte ptr ds:[edx]
004D434E    74 25           je short Ekd5.004D4375
004D4350    81E1 FF000000   and ecx,0FF
004D4356    894D E4         mov dword ptr ss:[ebp-1C],ecx
004D4359    6BC9 24         imul ecx,ecx,24
004D435C    81C1 502C4B00   add ecx,Ekd5.004B2C50
004D4362    E8 29E9F9FF     call Ekd5.00472C90
004D4367    3B45 E8         cmp eax,dword ptr ss:[ebp-18]
004D436A    73 09           jnb short Ekd5.004D4375
004D436C    8B4D E4         mov ecx,dword ptr ss:[ebp-1C]
004D436F    894D EC         mov dword ptr ss:[ebp-14],ecx
004D4372    8945 E8         mov dword ptr ss:[ebp-18],eax
004D4375  ^ EB C1           jmp short Ekd5.004D4338
004D4377    8A4D EC         mov cl,byte ptr ss:[ebp-14]
004D437A    80F9 FF         cmp cl,0FF
004D437D    0F84 BC000000   je Ekd5.004D443F
004D4383    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D4386    8B81 84000000   mov eax,dword ptr ds:[ecx+84]
004D438C    8945 DC         mov dword ptr ss:[ebp-24],eax
004D438F    8B41 01         mov eax,dword ptr ds:[ecx+1]
004D4392    8945 D8         mov dword ptr ss:[ebp-28],eax
004D4395    8B41 10         mov eax,dword ptr ds:[ecx+10]
004D4398    8945 D4         mov dword ptr ss:[ebp-2C],eax
004D439B    8B41 11         mov eax,dword ptr ds:[ecx+11]
004D439E    8945 D0         mov dword ptr ss:[ebp-30],eax
004D43A1    8B41 12         mov eax,dword ptr ds:[ecx+12]
004D43A4    8945 CC         mov dword ptr ss:[ebp-34],eax
004D43A7    8B01            mov eax,dword ptr ds:[ecx]
004D43A9    8B5D EC         mov ebx,dword ptr ss:[ebp-14]
004D43AC    E8 85FEFFFF     call Ekd5.004D4236
004D43B1    8B4D FC         mov ecx,dword ptr ss:[ebp-4]
004D43B4    8B45 D8         mov eax,dword ptr ss:[ebp-28]
004D43B7    8941 01         mov dword ptr ds:[ecx+1],eax
004D43BA    8B45 D4         mov eax,dword ptr ss:[ebp-2C]
004D43BD    8941 10         mov dword ptr ds:[ecx+10],eax
004D43C0    8B45 D0         mov eax,dword ptr ss:[ebp-30]
004D43C3    8941 11         mov dword ptr ds:[ecx+11],eax
004D43C6    8B45 CC         mov eax,dword ptr ss:[ebp-34]
004D43C9    8941 12         mov dword ptr ds:[ecx+12],eax
004D43CC    8955 D4         mov dword ptr ss:[ebp-2C],edx
004D43CF    8B45 DC         mov eax,dword ptr ss:[ebp-24]
004D43D2    6BC0 32         imul eax,eax,32
004D43D5    33D2            xor edx,edx
004D43D7    B9 64000000     mov ecx,64
004D43DC    F7F1            div ecx
004D43DE    8945 D8         mov dword ptr ss:[ebp-28],eax
004D43E1    8B45 D4         mov eax,dword ptr ss:[ebp-2C]
004D43E4    6BC0 32         imul eax,eax,32
004D43E7    33D2            xor edx,edx
004D43E9    B9 64000000     mov ecx,64
004D43EE    F7F1            div ecx
004D43F0    8945 D0         mov dword ptr ss:[ebp-30],eax
004D43F3    8B45 DC         mov eax,dword ptr ss:[ebp-24]
004D43F6    83F8 00         cmp eax,0
004D43F9    74 0E           je short Ekd5.004D4409
004D43FB    8B45 D8         mov eax,dword ptr ss:[ebp-28]
004D43FE    8983 84000000   mov dword ptr ds:[ebx+84],eax
004D4404    8B45 D0         mov eax,dword ptr ss:[ebp-30]
004D4407    EB 0D           jmp short Ekd5.004D4416
004D4409    C783 84000000 0>mov dword ptr ds:[ebx+84],0
004D4413    8B45 D4         mov eax,dword ptr ss:[ebp-2C]
004D4416    3B45 E8         cmp eax,dword ptr ss:[ebp-18]
004D4419    76 03           jbe short Ekd5.004D441E
004D441B    8B45 E8         mov eax,dword ptr ss:[ebp-18]
004D441E    8B4D EC         mov ecx,dword ptr ss:[ebp-14]
004D4421    8B55 E0         mov edx,dword ptr ss:[ebp-20]
004D4424    8B5D FC         mov ebx,dword ptr ss:[ebp-4]
004D4427    884C1A 10       mov byte ptr ds:[edx+ebx+10],cl
004D442B    C6441A 11 FF    mov byte ptr ds:[edx+ebx+11],0FF
004D4430    898493 84000000 mov dword ptr ds:[ebx+edx*4+84],eax
004D4437    C7441A 12 63850>mov dword ptr ds:[edx+ebx+12],8563
004D443F    8BE5            mov esp,ebp
004D4441    5D              pop ebp
004D4442    C3              retn

004D4443    0000              add byte ptr ds:[eax],al
004D4445    0000              add byte ptr ds:[eax],al
004D4447    0000              add byte ptr ds:[eax],al
004D4449    0000              add byte ptr ds:[eax],al

004D444B    55                push ebp<-------------------判断特效武将属于哪一方
004D444C    8BEC              mov ebp,esp
004D444E    83EC 0C           sub esp,0C
004D4451    894D FC           mov dword ptr ss:[ebp-4],ecx
004D4454    C745 F8 00000000  mov dword ptr ss:[ebp-8],0
004D445B    8B4D F8           mov ecx,dword ptr ss:[ebp-8]
004D445E    6BC9 24           imul ecx,ecx,24
004D4461    81C1 502C4B00     add ecx,Ekd5.004B2C50
004D4467    894D F4           mov dword ptr ss:[ebp-C],ecx
004D446A    8B09              mov ecx,dword ptr ds:[ecx]
004D446C    3B4D 08           cmp ecx,dword ptr ss:[ebp+8]
004D446F    74 0B             je short Ekd5.004D447C
004D4471    FF45 F8           inc dword ptr ss:[ebp-8]
004D4474    837D F8 72        cmp dword ptr ss:[ebp-8],72
004D4478  ^ 76 E1             jbe short Ekd5.004D445B
004D447A    EB 38             jmp short Ekd5.004D44B4
004D447C    8B4D FC           mov ecx,dword ptr ss:[ebp-4]
004D447F    8B49 0C           mov ecx,dword ptr ds:[ecx+C]
004D4482    33C0              xor eax,eax
004D4484    8A41 05           mov al,byte ptr ds:[ecx+5]
004D4487    8B4D F4           mov ecx,dword ptr ss:[ebp-C]
004D448A    33DB              xor ebx,ebx
004D448C    8A59 05           mov bl,byte ptr ds:[ecx+5]
004D448F    83F8 02           cmp eax,2
004D4492    73 07             jnb short Ekd5.004D449B
004D4494    83FB 02           cmp ebx,2
004D4497    73 07             jnb short Ekd5.004D44A0
004D4499    EB 0C             jmp short Ekd5.004D44A7
004D449B    83FB 02           cmp ebx,2
004D449E    73 07             jnb short Ekd5.004D44A7
004D44A0    B8 02000000       mov eax,2
004D44A5    EB 05             jmp short Ekd5.004D44AC
004D44A7    B8 01000000       mov eax,1
004D44AC    8B5D F8           mov ebx,dword ptr ss:[ebp-8]
004D44AF    8B4D F4           mov ecx,dword ptr ss:[ebp-C]
004D44B2    EB 05             jmp short Ekd5.004D44B9
004D44B4    B8 00000000       mov eax,0
004D44B9    83C4 0C           add esp,0C
004D44BC    8BE5              mov esp,ebp
004D44BE    5D                pop ebp
004D44BF    C3                retn
004D44C0    0000              add byte ptr ds:[eax],al

004D44C2    55                push ebp<-------------------被攻击方与特效武将的纵横坐标差
004D44C3    8BEC              mov ebp,esp
004D44C5    83EC 10           sub esp,10
004D44C8    8945 FC           mov dword ptr ss:[ebp-4],eax
004D44CB    895D F8           mov dword ptr ss:[ebp-8],ebx
004D44CE    8B4D FC           mov ecx,dword ptr ss:[ebp-4]
004D44D1    33C0              xor eax,eax
004D44D3    8A41 06           mov al,byte ptr ds:[ecx+6]
004D44D6    8B4D F8           mov ecx,dword ptr ss:[ebp-8]
004D44D9    33DB              xor ebx,ebx
004D44DB    8A59 06           mov bl,byte ptr ds:[ecx+6]
004D44DE    3BC3              cmp eax,ebx
004D44E0    72 07             jb short Ekd5.004D44E9
004D44E2    2BC3              sub eax,ebx
004D44E4    8945 F4           mov dword ptr ss:[ebp-C],eax
004D44E7    EB 05             jmp short Ekd5.004D44EE
004D44E9    2BD8              sub ebx,eax
004D44EB    895D F4           mov dword ptr ss:[ebp-C],ebx
004D44EE    8B4D FC           mov ecx,dword ptr ss:[ebp-4]
004D44F1    33C0              xor eax,eax
004D44F3    8A41 07           mov al,byte ptr ds:[ecx+7]
004D44F6    8B4D F8           mov ecx,dword ptr ss:[ebp-8]
004D44F9    33DB              xor ebx,ebx
004D44FB    8A59 07           mov bl,byte ptr ds:[ecx+7]
004D44FE    3BC3              cmp eax,ebx
004D4500    72 07             jb short Ekd5.004D4509
004D4502    2BC3              sub eax,ebx
004D4504    8945 F0           mov dword ptr ss:[ebp-10],eax
004D4507    EB 05             jmp short Ekd5.004D450E
004D4509    2BD8              sub ebx,eax
004D450B    895D F0           mov dword ptr ss:[ebp-10],ebx
004D450E    8B45 F4           mov eax,dword ptr ss:[ebp-C]
004D4511    8B5D F0           mov ebx,dword ptr ss:[ebp-10]
004D4514    8BC8              mov ecx,eax
004D4516    03CB              add ecx,ebx
004D4518    83C4 10           add esp,10
004D451B    8BE5              mov esp,ebp
004D451D    5D                pop ebp
004D451E    C3                retn
004D451F    0000              add byte ptr ds:[eax],al

004D4521    55                push ebp
004D4522    8BEC              mov ebp,esp
004D4524    83EC 34           sub esp,34
004D4527    894D FC           mov dword ptr ss:[ebp-4],ecx
004D452A    68 10000000       push 10<-------------------典韦具有此特效
004D452F    E8 17FFFFFF       call Ekd5.004D444B
004D4534    83F8 02           cmp eax,2
004D4537    74 02             je short Ekd5.004D453B
004D4539    EB 40             jmp short Ekd5.004D457B
004D453B    895D F8           mov dword ptr ss:[ebp-8],ebx
004D453E    894D F4           mov dword ptr ss:[ebp-C],ecx
004D4541    6A 08             push 8
004D4543    E8 9821F3FF       call Ekd5.004066E0
004D4548    85C0              test eax,eax
004D454A    75 2F             jnz short Ekd5.004D457B
004D454C    8B4D FC           mov ecx,dword ptr ss:[ebp-4]
004D454F    33C0              xor eax,eax
004D4551    8A41 01           mov al,byte ptr ds:[ecx+1]
004D4554    6BC0 24           imul eax,eax,24
004D4557    05 502C4B00       add eax,Ekd5.004B2C50
004D455C    8B5D F4           mov ebx,dword ptr ss:[ebp-C]
004D455F    E8 5EFFFFFF       call Ekd5.004D44C2
004D4564    83F8 01           cmp eax,1
004D4567    77 12             ja short Ekd5.004D457B
004D4569    83FB 01           cmp ebx,1
004D456C    77 0D             ja short Ekd5.004D457B
004D456E    8B4D FC           mov ecx,dword ptr ss:[ebp-4]
004D4571    8B01              mov eax,dword ptr ds:[ecx]
004D4573    8B5D F8           mov ebx,dword ptr ss:[ebp-8]
004D4576    E8 BBFCFFFF       call Ekd5.004D4236
004D457B    8BE5              mov esp,ebp
004D457D    5D                pop ebp
004D457E    C3                retn

[ 本帖最后由 aaa132536 于 2011-4-20 03:16 编辑 ]


附件: exe.rar (2011-4-20 03:16, 228.72 K)
该附件被下载次数 265


顶部
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2011-4-19 10:17 资料 短消息 只看该作者
请贴出在原CCZ引擎上的改法.谢谢

另外,(个人认为)借力打力  被打方处于混乱时,应无效才好.


顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-19 10:32 资料 短消息 只看该作者


QUOTE:
原帖由 norton 于 2011-4-19 10:17 发表
请贴出在原CCZ引擎上的改法.谢谢

另外,(个人认为)借力打力  被打方处于混乱时,应无效才好.

恩,没错。我再修改下。
顶部
性别:男-离线 norton

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 109
编号 60929
注册 2006-2-25
来自 湖北荆州
家族 肉肉门


发表于 2011-4-19 11:07 资料 短消息 只看该作者
回复 #3 aaa132536 的帖子

能把zhangju兄的原始借力打力特效贴出来看一下吗?
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-19 11:33 资料 短消息 只看该作者


QUOTE:
原帖由 norton 于 2011-4-19 11:07 发表
能把zhangju兄的原始借力打力特效贴出来看一下吗?

四、借力打力
效果为:在自己的攻击范围内同时有2个或2个以上的敌人时,被打中时能将敌人的攻击牵引到血最少的敌人(除了发起攻击的人)上,同时自己受到的伤害减少一半

一些可以设置的地方:
004CE05B    PUSH 200           ; 具有这种特性的武将编号
004CE060    PUSH 40             ; 具有此特性的宝物特效编号
004CE062    PUSH 40             ; 具有此特性的兵种编号
004CE15B    IMUL EAX,EAX,32 ; 转移50%的伤害给敌人,改为64,那么有此特性的武将伤害为0,全部转移到敌人身上


修改开始
00406541               JMP 004CE041  ; 跳到新代码处


新代码
004CE041    8B4D 0C         MOV ECX,DWORD PTR SS:[EBP+C]            
004CE044    81E1 FF000000   AND ECX,0FF
004CE04A    6BC9 24         IMUL ECX,ECX,24
004CE04D    81C1 502C4B00   ADD ECX,Ekd5原版.004B2C50                  
004CE053    894D F8         MOV DWORD PTR SS:[EBP-8],ECX
004CE056    8B09            MOV ECX,DWORD PTR DS:[ECX]               
004CE058    83EC 20         SUB ESP,20                              
004CE05B    68 00020000     PUSH 200       ; 具有这种特性的武将编号
004CE060    6A 40           PUSH 40             ; 具有此特性的宝物特效编号
004CE062    6A 40           PUSH 40             ; 具有此特性的兵种编号
004CE064    E8 97FFFFFF     CALL Ekd5原版.004CE000    ; 新函数检查ECX武将是否具有当前特性,见此段代码结束处.
004CE069    85C0            TEST EAX,EAX
004CE06B    75 0D           JNZ SHORT Ekd5原版.004CE07A               
004CE06D    8B4D FC         MOV ECX,DWORD PTR SS:[EBP-4]
004CE070    E8 CF76F3FF     CALL Ekd5原版.00405744
004CE075  - E9 CF84F3FF     JMP Ekd5原版.00406549                     
004CE07A    83EC 20         SUB ESP,20                              
004CE07D    8B4D FC         MOV ECX,DWORD PTR SS:[EBP-4]            
004CE080    BA 00000000     MOV EDX,0
004CE085    807C11 10 FF    CMP BYTE PTR DS:[ECX+EDX+10],0FF
004CE08A    74 03           JE SHORT Ekd5原版.004CE08F
004CE08C    42              INC EDX
004CE08D  ^ EB F6           JMP SHORT Ekd5原版.004CE085
004CE08F    817C11 11 63850>CMP DWORD PTR DS:[ECX+EDX+11],8563      
004CE097    75 0E           JNZ SHORT Ekd5原版.004CE0A7
004CE099    C64411 0F FF    MOV BYTE PTR DS:[ECX+EDX+F],0FF          ; 把被打力过的武将从伤害列表中排除, 不然会重复添加
004CE09E    C74411 11 FFFF0>MOV DWORD PTR DS:[ECX+EDX+11],0FFFF      
004CE0A6    4A              DEC EDX
004CE0A7    8955 E0         MOV DWORD PTR SS:[EBP-20],EDX            
004CE0AA    68 FF000000     PUSH 0FF                                 ; 下面这段是为了获取武将攻击范围内所有敌方武将战场编号
004CE0AF    68 40060000     PUSH 640
004CE0B4    6A 04           PUSH 4
004CE0B6    6A 00           PUSH 0
004CE0B8    68 C0120000     PUSH 12C0
004CE0BD    B9 38EB4A00     MOV ECX,Ekd5原版.004AEB38
004CE0C2    E8 7919FBFF     CALL Ekd5原版.0047FA40
004CE0C7    50              PUSH EAX
004CE0C8    E8 461CFBFF     CALL Ekd5原版.0047FD13
004CE0CD    6A 00           PUSH 0
004CE0CF    6A 00           PUSH 0
004CE0D1    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE0D4    E8 E517F7FF     CALL Ekd5原版.0043F8BE
004CE0D9    50              PUSH EAX
004CE0DA    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE0DD    83C1 06         ADD ECX,6
004CE0E0    51              PUSH ECX
004CE0E1    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8]
004CE0E4    E8 9D84F6FF     CALL Ekd5原版.00436586                     
004CE0E9    C745 F0 0000000>MOV DWORD PTR SS:[EBP-10],0             ; 下面遍历获取攻击范围内HP最少的敌人
004CE0F0    C745 EC FF00000>MOV DWORD PTR SS:[EBP-14],0FF            
004CE0F7    C745 E8 FFFF0F0>MOV DWORD PTR SS:[EBP-18],0FFFFF         
004CE0FE    EB 03           JMP SHORT Ekd5原版.004CE103
004CE100    FF45 F0         INC DWORD PTR SS:[EBP-10]
004CE103    8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]
004CE106    8A88 48C74A00   MOV CL,BYTE PTR DS:[EAX+4AC748]
004CE10C    80F9 FF         CMP CL,0FF
004CE10F    74 2C           JE SHORT Ekd5原版.004CE13D               
004CE111    3A4D 08         CMP CL,BYTE PTR SS:[EBP+8]
004CE114    74 25           JE SHORT Ekd5原版.004CE13B                ;  如果是攻方本人就忽略
004CE116    81E1 FF000000   AND ECX,0FF
004CE11C    894D E4         MOV DWORD PTR SS:[EBP-1C],ECX
004CE11F    6BC9 24         IMUL ECX,ECX,24
004CE122    81C1 502C4B00   ADD ECX,Ekd5原版.004B2C50
004CE128    E8 634BFAFF     CALL Ekd5原版.00472C90                    
004CE12D    3B45 E8         CMP EAX,DWORD PTR SS:[EBP-18]            
004CE130    73 09           JNB SHORT Ekd5原版.004CE13B                ; 只保留HP最少的
004CE132    8B4D E4         MOV ECX,DWORD PTR SS:[EBP-1C]
004CE135    894D EC         MOV DWORD PTR SS:[EBP-14],ECX
004CE138    8945 E8         MOV DWORD PTR SS:[EBP-18],EAX
004CE13B  ^ EB C3           JMP SHORT Ekd5原版.004CE100
004CE13D    8A4D EC         MOV CL,BYTE PTR SS:[EBP-14]
004CE140    80F9 FF         CMP CL,0FF
004CE143  ^ 0F84 24FFFFFF   JE Ekd5原版.004CE06D                       ; 最终没找到可以借力打击的敌人,则跳回去
004CE149    8B5D FC         MOV EBX,DWORD PTR SS:[EBP-4]
004CE14C    8B83 84000000   MOV EAX,DWORD PTR DS:[EBX+84]            ; 有此特性的武将此次伤害值
004CE152    83F8 02         CMP EAX,2
004CE155  ^ 0F82 12FFFFFF   JB Ekd5原版.004CE06D                       
004CE15B    6BC0 32         IMUL EAX,EAX,32                          ; 分出50%的伤害给敌人
004CE15E    33D2            XOR EDX,EDX
004CE160    B9 64000000     MOV ECX,64
004CE165    F7F1            DIV ECX
004CE167    2983 84000000   SUB DWORD PTR DS:[EBX+84],EAX            
004CE16D    3B45 E8         CMP EAX,DWORD PTR SS:[EBP-18]            
004CE170    76 03           JBE SHORT Ekd5原版.004CE175
004CE172    8B45 E8         MOV EAX,DWORD PTR SS:[EBP-18]  ; 下面是把此敌人加入到伤害列表中
004CE175    8B4D EC         MOV ECX,DWORD PTR SS:[EBP-14]            
004CE178    8B55 E0         MOV EDX,DWORD PTR SS:[EBP-20]           
004CE17B    8B5D FC         MOV EBX,DWORD PTR SS:[EBP-4]            
004CE17E    884C1A 10       MOV BYTE PTR DS:[EDX+EBX+10],CL         
004CE182    C6441A 11 FF    MOV BYTE PTR DS:[EDX+EBX+11],0FF         
004CE187    898493 84000000 MOV DWORD PTR DS:[EBX+EDX*4+84],EAX      
004CE18E    C7441A 12 63850>MOV DWORD PTR DS:[EDX+EBX+12],8563      
004CE196  ^ E9 D2FEFFFF     JMP Ekd5原版.004CE06D                      ; 返回原代码处


新函数,检查武将ECX是否为10栈的武将,若不是检查是否有0C栈的宝物,若没有则检查是否为08栈的兵种.
共四个参数,08栈 : 兵种编号 ; 0C栈 :宝物特效编号 ; 10栈 :武将编号 ;
还有一个ECX参数 ;当前要检查的武将编号
004CE000    55              PUSH EBP
004CE001    8BEC            MOV EBP,ESP
004CE003    3B4D 10         CMP ECX,DWORD PTR SS:[EBP+10]      
004CE006    74 21           JE SHORT Ekd5原版.004CE029
004CE008    6BC9 48         IMUL ECX,ECX,48
004CE00B    81C1 681B4A00   ADD ECX,Ekd5原版.004A1B68
004CE011    8A41 2B         MOV AL,BYTE PTR DS:[ECX+2B]
004CE014    3A45 08         CMP AL,BYTE PTR SS:[EBP+8]            
004CE017    74 10           JE SHORT Ekd5原版.004CE029
004CE019    FF75 0C         PUSH DWORD PTR SS:[EBP+C]            
004CE01C    E8 E899F3FF     CALL Ekd5原版.00407A09
004CE021    85C0            TEST EAX,EAX
004CE023    75 04           JNZ SHORT Ekd5原版.004CE029
004CE025    33C0            XOR EAX,EAX
004CE027    EB 05           JMP SHORT Ekd5原版.004CE02E
004CE029    B8 01000000     MOV EAX,1
004CE02E    8BE5            MOV ESP,EBP
004CE030    5D              POP EBP
004CE031    C3              RETN
顶部
性别:未知-离线 3853980

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 仁勇校尉
功绩 2
帖子 197
编号 227466
注册 2007-10-14


发表于 2011-4-19 11:34 资料 短消息 只看该作者
无语!MOD越来越变味了,还借力打力
顶部
性别:男-离线 godtype
(毅)

刘国公
广南东路经略使
枢密直学士
★★★★★★★★★★★★
★★★

Rank: 24Rank: 24Rank: 24
柱国(正二品) 轩辕春秋年度最佳(轩辕工作室)
组别 经略使
级别 卫将军
好贴 1
功绩 1314
帖子 6207
编号 111321
注册 2007-2-18
来自 我家
家族 轩辕学院


发表于 2011-4-19 11:35 资料 个人空间 短消息 只看该作者
回复 #4 norton 的帖子

http://www.xycq.net/forum/viewth ... ighlight=%2Bzhangju
帖虽还在,不过作者本人不知何故删除所有内容,后来幸好有人打包备份了,具体楼层你要自己翻一翻。(如果不是有人备份了,我当时就删帖了。)
顶部
性别:未知-离线 KYOKO
(★御姐控★)

唐国公
荆南节度使
★★

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
功绩 1456
帖子 65615
编号 32
注册 2003-8-19
来自 BWL


发表于 2011-4-19 11:39 资料 个人空间 短消息 只看该作者
1.借力打力:在自己的攻击范围内同时有2个或2个以上的敌人时,被打时能将敌人的攻击牵引到血最少的敌人(除了发起攻击的人)上,如果格挡了敌人攻击,则被借力方受到全部伤害,如果没格挡住敌人攻击,则自己及被借力方受到的伤害都减半。

=================
被借力方指被牵引到的血最少的敌人??字面意思应该是发起攻击的人是借力方,被打的人是被借力方,至于攻击范围内血最少的敌人,是倒霉蛋
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-19 11:58 资料 短消息 只看该作者


QUOTE:
原帖由 norton 于 2011-4-19 10:17 发表
请贴出在原CCZ引擎上的改法.谢谢

另外,(个人认为)借力打力  被打方处于混乱时,应无效才好.

这是我在原版上修改的


附件: 借力打力.rar (2011-4-19 11:58, 212.21 K)
该附件被下载次数 315
顶部
性别:男-离线 aaa132536
(辉夜)

Rank: 4
组别 士兵
级别 偏将军
功绩 4
帖子 363
编号 36085
注册 2005-4-6


发表于 2011-4-19 12:03 资料 短消息 只看该作者


QUOTE:
原帖由 KYOKO 于 2011-4-19 11:39 发表
1.借力打力:在自己的攻击范围内同时有2个或2个以上的敌人时,被打时能将敌人的攻击牵引到血最少的敌人(除了发起攻击的人)上,如果格挡了敌人攻击,则被借力方受到全部伤害,如果没格挡住敌人攻击,则自己及被 ...

呵呵,确实字面上的错误

武将A(借力方)将武将B(攻击方)的攻击牵引到武将C(被借来的力道攻击的第三方,简称被借力方)身上。

这样应该可以吧。

[ 本帖最后由 aaa132536 于 2011-4-19 12:15 编辑 ]
顶部
性别:未知-离线 akvshuhao

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 14
编号 319289
注册 2009-4-24


发表于 2020-5-23 14:40 资料 短消息 只看该作者
老哥,搞个UE地址啊!
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-2-1 16:33
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.019846 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP