无意中翻到这帖,刚好这几天在调整几个策略的伤害显示和受攻击后动作变化,简单写一下关于策略识别码。
0042202E |. 33C0 |XOR EAX,EAX
00422030 |. 8A840A 5502000>|MOV AL,BYTE PTR DS:[EDX+ECX+255]
00422037 |. 25 C0000000 |AND EAX,0C0
0042203C |. 83F8 40 |CMP EAX,40
0042203F |. 75 39 |JNZ SHORT Ekd5C.0042207A
00422041 |. 8B8D E0FEFFFF |MOV ECX,DWORD PTR SS:[EBP-120]
00422047 |. 81E1 FF000000 |AND ECX,0FF
0042204D |. 8B95 CCFEFFFF |MOV EDX,DWORD PTR SS:[EBP-134]
00422053 |. 33C0 |XOR EAX,EAX
00422055 |. 8A840A 5502000>|MOV AL,BYTE PTR DS:[EDX+ECX+255]
0042205C |. 8B8D CCFEFFFF |MOV ECX,DWORD PTR SS:[EBP-134]
00422062 |. 33D2 |XOR EDX,EDX
00422064 |. 8A91 54020000 |MOV DL,BYTE PTR DS:[ECX+254]
0042206A |. 3BC2 |CMP EAX,EDX
0042206C |. 75 0C |JNZ SHORT Ekd5C.0042207A
0042206E |. C745 F0 001B00>|MOV DWORD PTR SS:[EBP-10],1B00
00422075 |. E9 20010000 |JMP Ekd5C.0042219A
前面的AND EAX,0C0,可以将策略识别码中的40--74全部置为40,80--BF全部置为80,其中这里的40就是判断是否对敌类策略。
最后的1B 00是SPC图中受攻击动作(第四帧)的开始地址。
0042207A |> 8B85 E0FEFFFF |MOV EAX,DWORD PTR SS:[EBP-120]
00422080 |. 25 FF000000 |AND EAX,0FF
00422085 |. 8B8D CCFEFFFF |MOV ECX,DWORD PTR SS:[EBP-134]
0042208B |. 33D2 |XOR EDX,EDX
0042208D |. 8A9401 5502000>|MOV DL,BYTE PTR DS:[ECX+EAX+255]
00422094 |. 81E2 C0000000 |AND EDX,0C0
0042209A |. 81FA 80000000 |CMP EDX,80
004220A0 |. 75 39 |JNZ SHORT Ekd5C.004220DB
004220A2 |. 8B85 E0FEFFFF |MOV EAX,DWORD PTR SS:[EBP-120]
004220A8 |. 25 FF000000 |AND EAX,0FF
004220AD |. 8B8D CCFEFFFF |MOV ECX,DWORD PTR SS:[EBP-134]
004220B3 |. 8A9408 5502000>|MOV DL,BYTE PTR DS:[EAX+ECX+255]
004220BA |. 8B85 CCFEFFFF |MOV EAX,DWORD PTR SS:[EBP-134]
004220C0 |. 8A88 54020000 |MOV CL,BYTE PTR DS:[EAX+254]
004220C6 |. 3AD1 |CMP DL,CL
004220C8 |. 74 05 |JE SHORT Ekd5C.004220CF
004220CA |. 80F9 88 |CMP CL,88
004220CD |. 75 0C |JNZ SHORT Ekd5C.004220DB
004220CF |> C745 F0 002400>|MOV DWORD PTR SS:[EBP-10],2400
004220D6 |. E9 BF000000 |JMP Ekd5C.0042219A
这段跟前面的相似,当然这里的80就是判断是否对己类策略。
最后的24 00是SPC图中举起武器动作(第五帧)的开始地址。
PS:这段代码不是原版的,是我修正看护系策略后的代码。
004220DB |> 8B85 E0FEFFFF |MOV EAX,DWORD PTR SS:[EBP-120]
004220E1 |. 25 FF000000 |AND EAX,0FF
004220E6 |. 8B95 CCFEFFFF |MOV EDX,DWORD PTR SS:[EBP-134]
004220EC |. 33C9 |XOR ECX,ECX
004220EE |. 8A8C10 5502000>|MOV CL,BYTE PTR DS:[EAX+EDX+255]
004220F5 |. 85C9 |TEST ECX,ECX
004220F7 |. 0F85 98000000 |JNZ Ekd5C.00422195
最后这段就是当255的值为0,即策略不成功时的。后面没贴出来的代码就是根据武将朝向进行防御动作的绘画。
|