标题: 孔明传攻击性策略和攻击性道具伤害分析
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-28 12:08 资料 文集 短消息 只看该作者
孔明传攻击性策略和攻击性道具伤害分析

相关求余随机数算法情况请看这个帖子:
http://www.xycq.net/forum/thread-213636-1-1.html
直接写结论吧:
策略攻击不存在致命一击和连击,也没有天气和除了兵种地形适应性以外的地形的额外加成。
策略只有火计和石计
初级:焦热,大焦热,落石,大落石
中级:火龙,大火龙,山崩,大山崩
高级:猛火,大猛火,山洪,大山洪

策略和道具基本威力系数跟策略范围是一个位置:

QUOTE:
原帖由 lewulezo 于 2010-5-28 13:53 发表
策略施放范围:0x4D2B0~0x4d2df
00 表示焦热范围
01 表示火龙范围
02 表示猛火范围
03 表示小补给范围

一、策略伤害
1、判断攻击是物理攻击还是策略攻击;
具体位置:

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
00423914  |.  8A48 12       MOV CL,BYTE PTR DS:[EAX+12]
00423917  |.  83F9 01       CMP ECX,1          ;;  物理攻击1策略伤害2道具伤害3

.....

004239C1  |.  83F9 02       CMP ECX,2   ;2,策略攻击
004239C4  |.  0F85 26000000 JNZ EKD2Win.004239F0

2、策略是否成功,策略倒是可以称为是否命中,可以计算一个命中率出来;
命中要求:
Random%攻击方智力>=防御方智力/5

注:如果没有命中,伤害为0,则直接跳到第8步执行;

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
00408827  |.  E8 E4080000   CALL <EKD2Win.GetZhiLi>                  ;  攻击方智力
0040882C  |.  33C9          XOR ECX,ECX
0040882E  |.  8AC8          MOV CL,AL
00408830  |.  51            PUSH ECX                                 ; /Arg1
00408831  |.  E8 F2EA0300   CALL <EKD2Win.Random%Arg1>               ; \Random%Arg1
00408836  |.  83C4 04       ADD ESP,4
00408839  |.  8BC8          MOV ECX,EAX
0040883B  |.  33C0          XOR EAX,EAX
0040883D  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]               ;  防御方智力
00408840  |.  BB 05000000   MOV EBX,5
00408845  |.  99            CDQ
00408846  |.  F7FB          IDIV EBX
00408848  |.  3BC8          CMP ECX,EAX                              ;  攻击方智力随机数与防御方智力/5
0040884A  |.  0F83 0F000000 JNB EKD2Win.0040885F
00408850  |.  C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0   ;不满足条件伤害为0,直接跳出本函数计算,显示策略失败。
00408857  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0040885A  |.  E9 A1000000   JMP EKD2Win.00408900

3、计算策略伤害:
伤害公式为分3个:
初级策略伤害=武将智力x2/5+策略基础伤害/2
中级策略伤害=武将智力x3/7+策略基础伤害/2
高级策略伤害=武将智力x4/5+策略基础伤害/2
——————策略基础伤害————————
             火计         落石
初级         50              75
中级         100            125   
高级         200            250


代码具体见:

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
http://www.xycq.net/forum/viewth ... page%3D1#pid2992611

4、buffer、地形、兵种伤害修正
A、有减伤buffer的话伤害减半


QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
004086BB  |.  6A 08         PUSH 8                                                  ; /策略伤害减状态
004086BD  |.  8B4D F0       MOV ECX,DWORD PTR SS:[EBP-10]                        
004086C0  |.  E8 8B0A0000   CALL <EKD2Win.CheckIfSomeStatus>                        
004086C5  |.  85C0          TEST EAX,EAX
004086C7  |.  0F84 04000000 JE EKD2Win.004086D1
004086CD  |.  C16D 10 01    SHR DWORD PTR SS:[EBP+10],1    ;除以2

B、防御方所在地形修正
a、防御方地形适应性DX<10
伤害=伤害x(10-DX)/10+伤害
【因为是整数除法,没有化简如果化简合并的话伤害结果会变化,下同】
b、防御方地形适应性DX>10
伤害=伤害-伤害x(DX-10)/10


C、兵种修正:
a、如果是藤甲兵,并且是火计伤害
伤害=(策略威力基数/3+2)x伤害
火计和石计的策略威力基数从低级到高级都是00,01,02
b、如果是南蛮兵和南蛮骑兵
伤害=伤害x3/2
c、如果是军师、大军师、名军师、幻术师
伤害=伤害x2/3


B和C部分具体代码:

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
http://www.xycq.net/forum/viewth ... page%3D1#pid2992650

5、防御方智力修正:
伤害=伤害-防御方智力/2

具体代码:

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
00408894  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
00408897  |.  C1F8 01       SAR EAX,1
0040889A  |.  50            PUSH EAX                                                ; /Arg2
0040889B  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]                            ; |
0040889E  |.  50            PUSH EAX                                                ; |Arg1
0040889F  |.  E8 27EA0300   CALL 004472CB                        ; \伤害-防御方智力/2
004088A4  |.  83C4 08       ADD ESP,8

6、攻击方兵种修正:
军师、大军师、名军师、运粮队、物资队、军乐队的伤害会另外算上武器伤害
如果目前为止,伤害为0,则跳过第7条进入第8条判断



7、下边就跟物理攻击一样了,但没有全力一击和连击就是了;

以下为复制:
等级相关的随机因素造成伤害变动:
A、前边计算出基础伤害Abase;
B、取得防御方等级Flevel,然后取得0~FLevel-1的随机值Frnd1;
C、取得攻击方等级Glevel,然后取得0~Glelev-1的随机值Grnd1;
D、比较Frnd1与Grnd1的大小;
D、1如果Frnd1<Grnd1,或者产生了全力一击;
那么伤害会随机增加(0~Glevel-1)%6之间的随机值Grnd2,结果为Abase=Abase+Grnd2
D、2如果Frnd1>=Grnd1,
那么伤害随机减少(0~Flevel-1)%6的随机值Frnd2,如果伤害为1,减少了2,那只能取0和1-2的最大值,即保证伤害不能为负数,结果为Abase=Max(Abase-Frnd2,0)

8、确认防御方是我军(15个部队)还是敌军;
如果是我军,那个会去确认游戏难度;
难度为初级的话,我军受伤害为Abase=Abasex80%;
难度为高级的话,我军受伤害为Abase=Abasex120%;
注:没有中级难度计算,那明显伤害为Abase=Abasex100%;
8部分的代码:

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
00423AC9  |.  8B0C88        MOV ECX,DWORD PTR DS:[EAX+ECX*4]
00423ACC  |.  E8 4F57FEFF   CALL <EKD2Win.CheckIfWoJun>              ;  防御方是我军还是敌军
00423AD1  |.  83F8 01       CMP EAX,1
00423AD4  |.  0F85 4A000000 JNZ EKD2Win.00423B24
00423ADA  |.  B9 D0A64600   MOV ECX,EKD2Win.0046A6D0
00423ADF  |.  E8 CC7FFEFF   CALL <EKD2Win.GetDifficultLevel>         ;  游戏难度00~02
00423AE4  |.  85C0          TEST EAX,EAX
00423AE6  |.  0F85 11000000 JNZ EKD2Win.00423AFD
00423AEC  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  难度为初级00的时候敌军对我伤害只有80%
00423AEF  |.  C1E0 03       SHL EAX,3
00423AF2  |.  B9 0A000000   MOV ECX,0A
00423AF7  |.  99            CDQ
00423AF8  |.  F7F9          IDIV ECX
00423AFA  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00423AFD  |>  B9 D0A64600   MOV ECX,EKD2Win.0046A6D0
00423B02  |.  E8 A97FFEFF   CALL <EKD2Win.GetDifficultLevel>
00423B07  |.  83F8 02       CMP EAX,2
00423B0A  |.  0F85 14000000 JNZ EKD2Win.00423B24
00423B10  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  游戏难度为高级的时候对我军伤害为120%
00423B13  |.  8D0440        LEA EAX,DWORD PTR DS:[EAX+EAX*2]         ;  没有计算中级难度,明显为100%,不加不减
00423B16  |.  C1E0 02       SHL EAX,2
00423B19  |.  B9 0A000000   MOV ECX,0A
00423B1E  |.  99            CDQ
00423B1F  |.  F7F9          IDIV ECX
00423B21  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX

9、取得防御方当前耐久力,如果最终的ABase>=耐久力的话,伤害Abase=耐久力;
如果伤害<耐久力的哈,Abase不变,这个是为了防止打出比当前耐久力还大的数;


二、道具伤害,其实就是策略伤害的翻版,表现为伤害比较固定

1、基本伤害:初级:50+0~15的随机值
中级75+0~25的随机值
高级:150+0~50的随机值
跟兵种、等级、智力完全无关


代码:

QUOTE:
原帖由 ctermiii 于 2010-7-26 22:44 发表
0040897C   > /6A 10         PUSH 10                                
0040897E   . |E8 A5E90300   CALL <EKD2Win.Random%Arg1>         
00408983   . |83C4 04       ADD ESP,4
00408986   . |83C0 32       ADD EAX,32
00408989   . |8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
0040898C   . |E9 54000000   JMP EKD2Win.004089E5
00408991   > |6A 1A         PUSH 1A                           
00408993   . |E8 90E90300   CALL <EKD2Win.Random%Arg1>         
00408998   . |83C4 04       ADD ESP,4
0040899B   . |83C0 4B       ADD EAX,4B
0040899E   . |8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
004089A1   . |E9 3F000000   JMP EKD2Win.004089E5
004089A6   > |6A 33         PUSH 33                              
004089A8   . |E8 7BE90300   CALL <EKD2Win.Random%Arg1>  
004089AD   . |83C4 04       ADD ESP,4
004089B0   . |05 96000000   ADD EAX,96

2、兵种加成,跟上边策略类伤害的兵种与地形修正一样:

A、防御方所在地形修正
a、防御方地形适应性DX<10
伤害=伤害x(10-DX)/10+伤害
【因为是整数除法,没有化简如果化简合并的话伤害结果会变化,下同】
b、防御方地形适应性DX>10
伤害=伤害-伤害x(DX-10)/10


B、兵种修正:
a、如果是藤甲兵,并且是火计伤害
伤害=(策略威力基数/3+2)x伤害
火计和石计的策略威力基数从低级到高级都是00,01,02
b、如果是南蛮兵和南蛮骑兵
伤害=伤害x3/2
c、如果是军师、大军师、名军师、幻术师
伤害=伤害x2/3

3、道具一定可以造成伤害,等级因素与策略、物理攻击类一致,见上边第7条开始往下,不再重复。

[ 本帖最后由 ctermiii 于 2010-8-1 13:04 编辑 ]

本帖最近评分记录
阿尔法孝直 2010-7-28 23:43 +300


精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-28 12:21 资料 文集 短消息 只看该作者
00408544   $  55            PUSH EBP
00408545   .  8BEC          MOV EBP,ESP
00408547   .  83EC 14       SUB ESP,14
0040854A   .  53            PUSH EBX
0040854B   .  56            PUSH ESI
0040854C   .  57            PUSH EDI
0040854D   .  C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0
00408554   .  33C0          XOR EAX,EAX
00408556   .  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]
00408559   .  85C0          TEST EAX,EAX
0040855B   .  0F84 0C000000 JE EKD2Win.0040856D
00408561   .  C745 F8 4B000>MOV DWORD PTR SS:[EBP-8],4B              ;  落石类
00408568   .  E9 07000000   JMP EKD2Win.00408574
0040856D   >  C745 F8 32000>MOV DWORD PTR SS:[EBP-8],32              ;  火攻类
00408574   >  33C0          XOR EAX,EAX
00408576   .  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]
00408579   .  85C0          TEST EAX,EAX
0040857B   .  0F84 0C000000 JE EKD2Win.0040858D
00408581   .  C745 F4 7D000>MOV DWORD PTR SS:[EBP-C],7D
00408588   .  E9 07000000   JMP EKD2Win.00408594
0040858D   >  C745 F4 64000>MOV DWORD PTR SS:[EBP-C],64
00408594   >  33C0          XOR EAX,EAX
00408596   .  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]
00408599   .  85C0          TEST EAX,EAX
0040859B   .  0F84 0C000000 JE EKD2Win.004085AD
004085A1   .  C745 F0 FA000>MOV DWORD PTR SS:[EBP-10],0FA
004085A8   .  E9 07000000   JMP EKD2Win.004085B4
004085AD   >  C745 F0 C8000>MOV DWORD PTR SS:[EBP-10],0C8
004085B4   >  33C0          XOR EAX,EAX
004085B6   .  8A45 10       MOV AL,BYTE PTR SS:[EBP+10]              ;  策略伤害基数
004085B9   .  8945 EC       MOV DWORD PTR SS:[EBP-14],EAX
004085BC   .  E9 64000000   JMP EKD2Win.00408625
004085C1   >  33C0          XOR EAX,EAX
004085C3   .  8A45 08       MOV AL,BYTE PTR SS:[EBP+8]               ;  智力x2/5+ABase/2
004085C6   .  03C0          ADD EAX,EAX
004085C8   .  B9 05000000   MOV ECX,5
004085CD   .  99            CDQ
004085CE   .  F7F9          IDIV ECX
004085D0   .  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]
004085D3   .  C1E9 01       SHR ECX,1
004085D6   .  03C1          ADD EAX,ECX
004085D8   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
004085DB   .  E9 68000000   JMP EKD2Win.00408648
004085E0   >  33C0          XOR EAX,EAX
004085E2   .  8A45 08       MOV AL,BYTE PTR SS:[EBP+8]               ;  智力x3/7+Abase/2
004085E5   .  8D0440        LEA EAX,DWORD PTR DS:[EAX+EAX*2]
004085E8   .  B9 07000000   MOV ECX,7
004085ED   .  99            CDQ
004085EE   .  F7F9          IDIV ECX
004085F0   .  8B4D F4       MOV ECX,DWORD PTR SS:[EBP-C]
004085F3   .  C1E9 01       SHR ECX,1
004085F6   .  03C1          ADD EAX,ECX
004085F8   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
004085FB   .  E9 48000000   JMP EKD2Win.00408648
00408600   >  33C0          XOR EAX,EAX
00408602   .  8A45 08       MOV AL,BYTE PTR SS:[EBP+8]               ;  攻击者智力x4/5+ABase/2
00408605   .  C1E0 02       SHL EAX,2
00408608   .  B9 05000000   MOV ECX,5
0040860D   .  99            CDQ
0040860E   .  F7F9          IDIV ECX
00408610   .  8B4D F0       MOV ECX,DWORD PTR SS:[EBP-10]
00408613   .  C1E9 01       SHR ECX,1
00408616   .  03C1          ADD EAX,ECX
00408618   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
0040861B   .  E9 28000000   JMP EKD2Win.00408648
00408620   .  E9 23000000   JMP EKD2Win.00408648
00408625   >  837D EC 00    CMP DWORD PTR SS:[EBP-14],0     ;初级
00408629   .^ 0F84 92FFFFFF JE EKD2Win.004085C1
0040862F   .  837D EC 01    CMP DWORD PTR SS:[EBP-14],1      ;中级
00408633   .^ 0F84 A7FFFFFF JE EKD2Win.004085E0
00408639   .  837D EC 02    CMP DWORD PTR SS:[EBP-14],2     ;高级
0040863D   .^ 0F84 BDFFFFFF JE EKD2Win.00408600
00408643   .  E9 00000000   JMP EKD2Win.00408648
00408648   >  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  策略伤害
0040864B   .  E9 00000000   JMP EKD2Win.00408650
00408650   >  5F            POP EDI
00408651   .  5E            POP ESI
00408652   .  5B            POP EBX
00408653   .  C9            LEAVE
00408654   .  C3            RETN

[ 本帖最后由 ctermiii 于 2010-7-28 12:23 编辑 ]


精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-28 12:23 资料 个人空间 短消息 只看该作者 QQ
在英杰传里面,树林里用火计或雨天用水计有25%的伤害加成。不知孔明传里面有没有类似的加成。
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-28 12:26 资料 文集 短消息 只看该作者
孔明传有水计吗?我没发现啊,我改了孔明出来,没发现水计
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-28 12:46 资料 个人空间 短消息 只看该作者 QQ
回复 #4 ctermiii 的帖子

我说的是类似的加成,不是类似的计策类型。
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-28 12:50 资料 文集 短消息 只看该作者
004086D3  |.  8A45 FC       MOV AL,BYTE PTR SS:[EBP-4]
004086D6  |.  83F8 0A       CMP EAX,0A
004086D9  |.  0F8D 21000000 JGE EKD2Win.00408700
004086DF  |.  B8 0A000000   MOV EAX,0A
004086E4  |.  33C9          XOR ECX,ECX
004086E6  |.  8A4D FC       MOV CL,BYTE PTR SS:[EBP-4]                              ;  兵种地形修正
004086E9  |.  2BC1          SUB EAX,ECX
004086EB  |.  0FAF45 10     IMUL EAX,DWORD PTR SS:[EBP+10]
004086EF  |.  B9 0A000000   MOV ECX,0A
004086F4  |.  2BD2          SUB EDX,EDX
004086F6  |.  F7F1          DIV ECX
004086F8  |.  0145 10       ADD DWORD PTR SS:[EBP+10],EAX
004086FB  |.  E9 2C000000   JMP EKD2Win.0040872C
00408700  |>  33C0          XOR EAX,EAX
00408702  |.  8A45 FC       MOV AL,BYTE PTR SS:[EBP-4]
00408705  |.  83F8 0A       CMP EAX,0A
00408708  |.  0F8E 1E000000 JLE EKD2Win.0040872C
0040870E  |.  33C9          XOR ECX,ECX
00408710  |.  33C0          XOR EAX,EAX
00408712  |.  8A45 FC       MOV AL,BYTE PTR SS:[EBP-4]
00408715  |.  83E8 0A       SUB EAX,0A
00408718  |.  0FAF45 10     IMUL EAX,DWORD PTR SS:[EBP+10]
0040871C  |.  BB 0A000000   MOV EBX,0A
00408721  |.  2BD2          SUB EDX,EDX
00408723  |.  F7F3          DIV EBX
00408725  |.  2BC8          SUB ECX,EAX
00408727  |.  F7D9          NEG ECX
00408729  |.  294D 10       SUB DWORD PTR SS:[EBP+10],ECX
0040872C  |>  33C0          XOR EAX,EAX
0040872E  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]                              ;  兵种
00408731  |.  83F8 22       CMP EAX,22                                              ;  藤甲兵
00408734  |.  0F85 32000000 JNZ EKD2Win.0040876C
0040873A  |.  33C0          XOR EAX,EAX
0040873C  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]                              ;  威力基数
0040873F  |.  83F8 06       CMP EAX,6
00408742  |.  0F8D 24000000 JGE EKD2Win.0040876C
00408748  |.  33C0          XOR EAX,EAX                                             ;  藤甲兵伤害至少2倍
0040874A  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]
0040874D  |.  B9 03000000   MOV ECX,3
00408752  |.  99            CDQ
00408753  |.  F7F9          IDIV ECX
00408755  |.  8845 EC       MOV BYTE PTR SS:[EBP-14],AL
00408758  |.  33C0          XOR EAX,EAX
0040875A  |.  8A45 EC       MOV AL,BYTE PTR SS:[EBP-14]
0040875D  |.  83C0 02       ADD EAX,2
00408760  |.  0FAF45 10     IMUL EAX,DWORD PTR SS:[EBP+10]
00408764  |.  8945 10       MOV DWORD PTR SS:[EBP+10],EAX
00408767  |.  E9 68000000   JMP EKD2Win.004087D4
0040876C  |>  33C0          XOR EAX,EAX
0040876E  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
00408771  |.  83F8 1E       CMP EAX,1E
00408774  |.  0F8C 1F000000 JL EKD2Win.00408799
0040877A  |.  33C0          XOR EAX,EAX
0040877C  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
0040877F  |.  83F8 1F       CMP EAX,1F
00408782  |.  0F8F 11000000 JG EKD2Win.00408799
00408788  |.  8B45 10       MOV EAX,DWORD PTR SS:[EBP+10]                           ;  南蛮兵和南蛮骑兵伤害为150%
0040878B  |.  8D0440        LEA EAX,DWORD PTR DS:[EAX+EAX*2]
0040878E  |.  C1E8 01       SHR EAX,1
00408791  |.  8945 10       MOV DWORD PTR SS:[EBP+10],EAX
00408794  |.  E9 3B000000   JMP EKD2Win.004087D4
00408799  |>  33C0          XOR EAX,EAX
0040879B  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
0040879E  |.  83F8 12       CMP EAX,12                                              ;  军师
004087A1  |.  0F8C 0E000000 JL EKD2Win.004087B5
004087A7  |.  33C0          XOR EAX,EAX
004087A9  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
004087AC  |.  83F8 14       CMP EAX,14
004087AF  |.  0F8E 0E000000 JLE EKD2Win.004087C3
004087B5  |>  33C0          XOR EAX,EAX
004087B7  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
004087BA  |.  83F8 26       CMP EAX,26                                              ;  幻术师
004087BD  |.  0F85 11000000 JNZ EKD2Win.004087D4
004087C3  |>  8B45 10       MOV EAX,DWORD PTR SS:[EBP+10]
004087C6  |.  03C0          ADD EAX,EAX
004087C8  |.  B9 03000000   MOV ECX,3                                               ;  军师、幻术师伤害2/3
004087CD  |.  2BD2          SUB EDX,EDX
004087CF  |.  F7F1          DIV ECX
004087D1  |.  8945 10       MOV DWORD PTR SS:[EBP+10],EAX

[ 本帖最后由 ctermiii 于 2010-7-30 14:12 编辑 ]
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-28 13:12 资料 文集 短消息 只看该作者
我先闪,晚上回来
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 03:27 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 ctermiii 于 2010-7-28 12:08 发表
B、兵种修正:
a、如果是藤甲兵,并且是火计伤害
伤害=(策略威力基数/3+2)x伤害
火计和石计的策略威力基数从低级到高级都是00,01,02

就这句没看懂,既然是00~02,那么策略威力基数/3不都是零吗?
伤害=(策略威力基数/3+2)x伤害
就是
伤害=2x伤害 ?
精华帖
顶部
性别:男-离线 dimeterio
(李秀辰)

Rank: 10Rank: 10Rank: 10Rank: 10
组别 校尉
级别 镇西将军
好贴 1
功绩 45
帖子 3985
编号 266634
注册 2008-2-7


发表于 2010-7-30 07:57 资料 个人空间 短消息 只看该作者 QQ
回复 #8 阿尔法孝直 的帖子

当威力基数=01时,伤害=2.33333*伤害
当威力基数=02时,伤害=2.66666*伤害

我的理解。
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 10:48 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 dimeterio 于 2010-7-30 07:57 发表
当威力基数=01时,伤害=2.33333*伤害
当威力基数=02时,伤害=2.66666*伤害

我的理解。

不对。

int __cdecl sub_408655(int a1, char a2, int a3)
{
  int result; // eax@2
  int v4; // eax@1
  unsigned __int8 v5; // al@1
  unsigned __int8 v6; // [sp+18h] [bp-8h]@1
  int v7; // [sp+10h] [bp-10h]@3
  unsigned __int8 v8; // [sp+14h] [bp-Ch]@3
  unsigned __int8 v9; // [sp+1Ch] [bp-4h]@3

  v4 = sub_41EF0C(a1);
  v5 = sub_429061(v4);
  v6 = v5;
  if ( v5 == 255 )
  {
    result = a3;
  }
  else
  {
    v7 = (int)((char *)&dword_46C098 + 23 * v6);
    v8 = sub_4092A0();
    v9 = sub_42A321();
    if ( sub_409150(v7, 8) )
      a3 = (unsigned int)a3 >> 1;
    if ( (signed int)v9 >= 10 )
    {
      if ( (signed int)v9 > 10 )
        a3 -= a3 * ((unsigned int)v9 - 10) / 0xA;
    }
    else
    {
      a3 += a3 * (10 - (unsigned int)v9) / 0xA;
    }
    if ( v8 != 34 || (signed int)(unsigned __int8)a2 >= 6 )
    {
      if ( (signed int)v8 < 30 || (signed int)v8 > 31 )
      {
        if ( (signed int)v8 >= 18 && (signed int)v8 <= 20 || v8 == 38 )
          a3 = 2 * a3 / 3u;
      }
      else
      {
        a3 = (unsigned int)(3 * a3) >> 1;
      }
    }
    else
    {
      a3 *= (unsigned __int8)a2 / 3 + 2;
    }
    result = a3;
  }
  return result;
}

这里是整数除法,不是小数除法。
精华帖
顶部
性别:男-离线 godtype
(毅)

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

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


发表于 2010-7-30 10:58 资料 个人空间 短消息 只看该作者
就是指这段代码:
0040873A  |.  33C0          XOR EAX,EAX
0040873C  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]                              ;  策略代号
0040873F  |.  83F8 06       CMP EAX,6
00408742  |.  0F8D 24000000 JGE EKD2Win.0040876C
00408748  |.  33C0          XOR EAX,EAX                                             ;  藤甲兵伤害至少2倍
0040874A  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]
0040874D  |.  B9 03000000   MOV ECX,3
00408752  |.  99            CDQ
00408753  |.  F7F9          IDIV ECX
00408755  |.  8845 EC       MOV BYTE PTR SS:[EBP-14],AL
00408758  |.  33C0          XOR EAX,EAX
0040875A  |.  8A45 EC       MOV AL,BYTE PTR SS:[EBP-14]
0040875D  |.  83C0 02       ADD EAX,2
00408760  |.  0FAF45 10     IMUL EAX,DWORD PTR SS:[EBP+10]
00408764  |.  8945 10       MOV DWORD PTR SS:[EBP+10],EAX

也就是说,前三个火系策略(0、1、2)攻击的时候,藤甲兵伤害为2*伤害,后三个大火系策略(3、4、5)攻击的时候,藤甲兵伤害(1+2)*伤害。
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-30 12:30 资料 文集 短消息 只看该作者
这个地方6楼的注释那里有点问题,我之前调试的时候只用了焦热、猛火等测试,原来以为这样刚好合理;
后来发现大焦热跟焦热伤害一样,所以1楼的公式没错,但6楼的注释错误了;
0040873C  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]                              ;  策略代号
这个地方应该不是策略代号,而的确是威力基数00,01,02


所以,我在想是不是原来程序的bug,因为按照这样的算法,伤害都是2倍,有点画蛇添足(不过这个游戏画蛇添足的地方还真多,很多计算都是做无用功,可能是复刻时候搞的,要么是游戏发布的时候编译器的问题吗?晕)
如果把

0040874D  |.  B9 03000000   MOV ECX,3
00408752  |.  99            CDQ
00408753  |.  F7F9          IDIV ECX
00408755  |.  8845 EC       MOV BYTE PTR SS:[EBP-14],AL
这里边的AL改成DL行了,这样求的是除以3的余数,从而焦热2倍,火龙3倍,猛火4倍。
但这样的话,除以3的计算就多余了;

godtype也请看看是不是这样。

[ 本帖最后由 ctermiii 于 2010-7-30 14:23 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 13:05 资料 个人空间 短消息 只看该作者 QQ
我一会儿看看光盘版的。
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-30 14:10 资料 文集 短消息 只看该作者
现在可以确定那个地方是威力了:


00404360  /$  55            PUSH EBP
00404361  |.  8BEC          MOV EBP,ESP
00404363  |.  83EC 28       SUB ESP,28
00404366  |.  53            PUSH EBX
00404367  |.  56            PUSH ESI
00404368  |.  57            PUSH EDI
00404369  |.  C645 F0 FF    MOV BYTE PTR SS:[EBP-10],0FF
0040436D  |.  B9 06000000   MOV ECX,6
00404372  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]             ;  策略代号0~5火计6~B落石
00404375  |.  2BD2          SUB EDX,EDX
00404377  |.  F7F1          DIV ECX
00404379  |.  8845 F4       MOV BYTE PTR SS:[EBP-C],AL               ;  0火计1落石

这个是判断到底是火计还是落石的;这里的[ebp+8]是策略代号
代号除以6,刚好把火计和落石分开,火计0落石1,送入[ebp-C]




0040439E  |> \8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
004043A1  |.  8A80 B0D24400 MOV AL,BYTE PTR DS:[EAX+44D2B0]
004043A7  |.  8845 FC       MOV BYTE PTR SS:[EBP-4],AL               ;  策略范围
落石和火计的策略范围和威力是同一个参数;送入[ebp-4]


004045FB  |.  8A45 F4       MOV AL,BYTE PTR SS:[EBP-C]
004045FE  |.  C1E0 04       SHL EAX,4
00404601  |.  33C9          XOR ECX,ECX
00404603  |.  8A4D FC       MOV CL,BYTE PTR SS:[EBP-4]
00404606  |.  0BC1          OR EAX,ECX                               ;  火计0x,落石1x

然后这个地方:
计算的结果导致火计为0X,落石为1X

这个数值最终送入BYTE [46bcd8+13H]


然后到计算策略伤害的时候被还原:

0040880F  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]               ;  
00408812  |.  C1E8 04       SHR EAX,4
00408815  |.  24 01         AND AL,1                                ;还原类型:0火计1落石
00408817  |.  8845 F0       MOV BYTE PTR SS:[EBP-10],AL
0040881A  |.  33C0          XOR EAX,EAX
0040881C  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]
0040881F  |.  24 0F         AND AL,0F                               ;还原威力基数

所以6楼原来注释策略代号的地方,应该注释为策略威力基数

可以改一个999血的藤甲兵出来烧烧测试一下,伤害应该都是这个武将做其他兵种时候2倍;

[ 本帖最后由 ctermiii 于 2010-7-30 14:19 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 14:29 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 ctermiii 于 2010-7-30 12:30 发表
这个地方6楼的注释那里有点问题,我之前调试的时候只用了焦热、猛火等测试,原来以为这样刚好合理;
后来发现大焦热跟焦热伤害一样,所以1楼的公式没错,但6楼的注释错误了;
0040873C  |.  8A45 0C       MO ...

再看了一下光盘版,灰色语句是0x40874D处:


图片附件: 40874D.jpg (2010-7-30 14:29, 81.7 K)

精华帖
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-7-30 15:34 资料 文集 短消息 只看该作者
落石和火计的策略范围和威力是同一个参数....

这个问题我在游戏中发现了...很烂的设定。

但是补给类技能就没有这个问题,我一直都很纳闷。如果能改的话就好了。

[ 本帖最后由 lewulezo 于 2010-7-30 15:37 编辑 ]
精华帖
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-7-30 15:42 资料 文集 短消息 只看该作者
还有一个想知道的问题,究竟在什么地方存放着策略是否可以使用的条件?

比如说火计只能在 平原 草原 丛林 城内使用,天气必须不是雨天
         石计只能在 荒地 山地使用
精华帖
顶部
性别:男-离线 godtype
(毅)

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

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


发表于 2010-7-30 16:01 资料 个人空间 短消息 只看该作者
之前只是直接看注解来看代码,刚刚调试了一下,的确应该是威力基数:
0040873A  |.  33C0          XOR EAX,EAX
0040873C  |.  8A45 0C       MOV AL,BYTE PTR SS:[EBP+C]                              ;  威力基数
0040873F  |.  83F8 06       CMP EAX,6

实际调试结果,石系的威力基数应该是10、11、12,所以顶楼最后面的部分还要再更正一下。
精华帖
顶部
性别:男-离线 godtype
(毅)

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

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


发表于 2010-7-30 16:09 资料 个人空间 短消息 只看该作者
回复 #17 lewulezo 的帖子

地型限制在4D310H开始,共8个字节,前面的00 01 02 05是火系的,后面的03 04 FF FF是石系的。

[ 本帖最后由 godtype 于 2010-7-30 16:18 编辑 ]
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 16:33 资料 个人空间 短消息 只看该作者 QQ
回复 #19 godtype 的帖子

也就是说,每种策略最多只能有4种可用地形。那么如果想扩充怎么办?
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 16:42 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 ctermiii 于 2010-7-28 12:08 发表
、计算策略伤害:
伤害公式为分3个:
初级策略伤害=武将智力x3/7+策略基础伤害/2
中级策略伤害=武将智力x2/5+策略基础伤害/2
高级策略伤害=武将智力x4/5+策略基础伤害/2
——————策略基础伤害————————
             火计         落石
初级         50              75
中级         100            125   
高级         200            250

1、比较奇怪的是,为什么中级策略里面武将智力的系数最小呢?
再看了一下,原来你把2/5和3/7写颠倒了。

2、程序又是多此一举,明明
25,37
50,62
100,125
就完了,干嘛还要
50,75
100,125
200,250
再除以2
难道说这几个数字后面还有用?

[ 本帖最后由 阿尔法孝直 于 2010-7-30 16:45 编辑 ]
精华帖
顶部
性别:男-离线 godtype
(毅)

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

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


发表于 2010-7-30 16:43 资料 个人空间 短消息 只看该作者
回复 #20 阿尔法孝直 的帖子

还是老办法,压缩多余代码,腾出一定的空间。
精华帖
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-7-30 17:03 资料 文集 短消息 只看该作者
看来孔明传中代码自由度真是很差。大段罗里啰嗦的代码,估计都是if else之类的hardcode判断,要想调整一下只能直接改逻辑。
简单的运算的写很冗长,比如说乘上几分之几系数的就要写好几行。如果是用数据区的,直接就从内存(exe)里面读个数字相乘不就好了么。

事实上很多地方全部都可以改用数据区来写,不用这样jmp来jmp去的,自由度也高。像上次ctermiii改的兵种相克,代码比原来的短小,而且原来的所有代码逻辑都可以原封不动重现,自定义起来也方便多了。

[ 本帖最后由 lewulezo 于 2010-7-30 17:09 编辑 ]
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-30 17:54 资料 文集 短消息 只看该作者
今天回来的早,接着看一会儿。

QUOTE:
原帖由 阿尔法孝直 于 2010-7-30 16:42 发表

1、比较奇怪的是,为什么中级策略里面武将智力的系数最小呢?
再看了一下,原来你把2/5和3/7写颠倒了。

抱歉,的确写反了。

QUOTE:
原帖由 godtype 于 2010-7-30 16:01 发表
之前只是直接看注解来看代码,刚刚调试了一下,的确应该是威力基数:
0040873A  |.  33C0          XOR EAX,EAX
0040873C  |.  8A45 0C       MOV AL,BYTE PTR SS:                              ;  威力基数 ...

公式没错的,你看我14楼的分析
这个1X的1是为了标识落石与火计的区别,火计为0X;
二者基本杀伤力不一样的。
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-30 18:01 资料 文集 短消息 只看该作者


QUOTE:
原帖由 lewulezo 于 2010-7-30 15:34 发表
落石和火计的策略范围和威力是同一个参数....

这个问题我在游戏中发现了...很烂的设定。

但是补给类技能就没有这个问题,我一直都很纳闷。如果能改的话就好了。

这个里边很多都是想办法用同一个函数的,改的话肯定是可以的,但要花时间弄清楚,然后重新自己写了替换;

QUOTE:
原帖由 阿尔法孝直 于 2010-7-30 14:29 发表

再看了一下光盘版,灰色语句是0x40874D处:

好像是没有区别?
那估计就是一个代码规范的问题,别人写的比较严谨
按道理说,设定所有火计对藤甲兵的伤害都是其他兵种的2倍,也是合理的,是不是我们太多心了。
再说,垃圾代码又不是这个地方才有;

我真正不理解的是第6条
6、攻击方兵种修正:
军师、大军师、名军师、运粮队、物资队、军乐队的伤害会另外算上武器伤害
运粮队、物资队、军乐队有可以伤人的计策吗?
精华帖
顶部
性别:未知-离线 ctermiii


Rank: 5Rank: 5
轩辕春秋年度最佳(游戏人生区)
组别 羽林都尉
级别 破贼校尉
好贴 1
功绩 92
帖子 90
编号 50655
注册 2005-10-7


发表于 2010-7-30 18:12 资料 文集 短消息 只看该作者


QUOTE:
原帖由 阿尔法孝直 于 2010-7-30 16:42 发表


2、程序又是多此一举,明明
25,37
50,62
100,125
就完了,干嘛还要
50,75
100,125
200 ...

我觉得这个倒不是问题
比如你写程序的时候定义一些常量
#Define AAbase 25
#Define BBBase 2xAABase
那你写程序的时候,可能会用
[tempAddr1]=BBBase
在某个计算的时候这样写:
[tempAddr1]/2+random%AAbase这些的写法
编译的时候,自然会转成相应的格式,而不是计算实际值
这两个常量可能用在很多地方,不仅仅是这里
精华帖
顶部
性别:未知-离线 shps940114
(秦明)

Rank: 7Rank: 7Rank: 7Rank: 7
组别 校尉
级别 左将军
功绩 13
帖子 1339
编号 366175
注册 2010-3-21


发表于 2010-7-30 19:45 资料 个人空间 短消息 只看该作者
弓兵不是有水計嗎
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 19:58 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 shps940114 于 2010-7-30 19:45 发表
弓兵不是有水計嗎

弓兵也是火计
精华帖
顶部
性别:男-离线 lewulezo


Rank: 4
组别 校尉
级别 仁勇校尉
功绩 27
帖子 158
编号 58100
注册 2006-1-22
来自 上海


发表于 2010-7-30 20:08 资料 文集 短消息 只看该作者


QUOTE:
原帖由 ctermiii 于 2010-7-30 18:12 发表

6、攻击方兵种修正:
军师、大军师、名军师、运粮队、物资队、军乐队的伤害会另外算上武器伤害
运粮队、物资队、军乐队有可以伤人的计策吗?

后勤三兵种貌似是没有攻击型策略的。但是,补给类策略的效果,依然和武器的加成有关。
精华帖
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2010-7-30 23:41 资料 个人空间 短消息 只看该作者 QQ


QUOTE:
原帖由 lewulezo 于 2010-7-30 17:03 发表
看来孔明传中代码自由度真是很差。大段罗里啰嗦的代码,估计都是if else之类的hardcode判断,要想调整一下只能直接改逻辑。
简单的运算的写很冗长,比如说乘上几分之几系数的就要写好几行。如果是用数据区的, ...

但是你看看,兵种问题,不仅仅是几分之几就了事,再看看藤甲兵,直接果断了事=1。也就是说,光光数据区的方法,只能是类似式子结构的才能使用,例如相克修正
伤害=伤害*a/b,都是同一种结构的才行,不同的只是a、b的值。


精华帖
顶部

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




当前时区 GMT+8, 现在时间是 2024-11-20 14:18
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

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

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