能力计算的时候要分低中高级兵种,比如短兵是低级、长兵是中级、近卫兵是高级,山贼等只有低中两级,而南蛮骑兵属于中级。
如果是高级兵种,
第1步是按对应的低级兵种的成长值A+A*2+3计算出一个B值,然后再按B+B*4计算出一个C值,接着等级值减15;
第2步是按对应的中级兵种的成长值D+D*2+3计算出一个E值,然后再按E+E*4计算出一个F值,并加进C值里面,接着等级值再减15;
第3步是按自身兵种的成长值G加1,然后乘以等级值(注意已经减去了30),并加进C值里面,此时的C值就是最终的成长,加上初始能力就是最终出场的能力了。
如果是中级兵种就省去上面的第2步。没转职兵种就只按第3步计算。
如果成长值为0则跳过对应步骤中能力计算部分,但是等级值同样要减去。
下面本人对该算法进行一下化简:
设U=0为初级兵种,U=1为中级兵种,U=2为高级兵种;
Lv表示人物等级;
S为最终的能力;
if (U==2){
B=A+A*2+3; //化简得B=(A+1)*3
C=B+B*4; //化简得C=B*5=(A+1)*15
Lv-=15; //等级减去15
E=D+D*2+3;
F=E+E*4; //同上,化简得F=(D+1)*15
C=C+F;
Lv-=15; //此时等级已经减去了30
C=C+Lv*(G+1);
S=C; //此时C值就是最终成长
//化简得S=(A+1)*15+(D+1)*15+(Lv-30)*(G+1)
}
else if (U==1){
B=A+A*2+3;
C=B+B*4; //同上,化简得C=(A+1)*15
Lv-=15; //等级减去15
C=C+Lv*(G+1);
S=C; //此时C值就是最终成长
//化简得S=(A+1)*15+(Lv-15)*(G+1)
}
else {
S=Lv*(G+1);
}
[ 本帖最后由 阿尔法孝直 于 2010-4-19 19:17 编辑 ]