1、4个能力:
确定要取消随机增长的话:
0040C8DF |. 8A81 70EB4400 MOV AL,BYTE PTR DS:[ECX+44EBXX]
0040C8E5 |. 40 INC EAX
你看,这是武力的例子,4个能力的每个地方都会以加1来计算的,你不想的话,把相关4个的40(INC eax)都改成90就行了;
或者直接改初始化的地方:
0040C7C0 |. C745 E4 000000>MOV DWORD PTR SS:[EBP-1C],0
0040C7C7 |. C745 E8 000000>MOV DWORD PTR SS:[EBP-18],0
0040C7CE |. C745 EC 000000>MOV DWORD PTR SS:[EBP-14],0
0040C7D5 |. C745 F0 000000>MOV DWORD PTR SS:[EBP-10],0
把这四个00000000都改成FFFFFFFF,也就是-1,这样跟下边的+1就抵消了;
2、耐久力的计算也是类似:
0040C9A3 |. 8A48 24 MOV CL,BYTE PTR DS:[EAX+24]
0040C9A6 |. 33C0 XOR EAX,EAX
0040C9A8 |. 8A81 D3EB4400 MOV AL,BYTE PTR DS:[ECX+44EBD3]
0040C9AE |. 83C0 0B ADD EAX,0B
0040C9B1 |. 50 PUSH EAX ; /Arg1
0040C9B2 |. E8 71A90300 CALL <EKD2Win.Random%Arg1> ; \Random%Arg1
0040C9B7 |. 83C4 04 ADD ESP,4
0040C9BA |. 8BC8 MOV ECX,EAX
0040C9BC |. C1E9 02 SHR ECX,2 ;除以4
先取了A1=【Random%(成长值+0BH)】/4作为固定的附加值的;
我前面修改直接给90 90 90 90 90 的话,每个兵种都会额外增加固定的A1=(成长值+0BH)/4;
耐久值的最终=增长量基数Bx(成长值x3/4+A1)
升级量B,比如作战升级一般是B=1,秘籍升级有个直接升5级的,就是B=5,如果有剧本指令,那就是根据指令来;
有个特殊情况是比如你95级以上了,秘籍升5级,那会计算当前等级与99级还差几级,这个时候B=99-当前等级;
就是这一段:
0040C809 |. B8 63000000 MOV EAX,63
0040C80E |. 8B4D DC MOV ECX,DWORD PTR SS:[EBP-24]
0040C811 |. 33D2 XOR EDX,EDX
0040C813 |. 8A51 25 MOV DL,BYTE PTR DS:[ECX+25]
0040C816 |. 2BC2 SUB EAX,EDX
0040C818 |. 8845 F8 MOV BYTE PTR SS:[EBP-8],AL
[ 本帖最后由 ctermiii 于 2010-7-28 11:53 编辑 ]
|