ElonaPlus AP 取得计算解释

基于ElonaPlus反编译的代码讲解AP取得的计算公式。
 

代码是1.37版的。
我将其转成中文,这样大家就看得明了。

if ( 目标不会分裂 & 目标不会分裂2 & 目标不是被招唤的 & 目标不是家畜 & 目标不是赏金猎人 & 目标不是守卫 ) {
    if ( 攻击者的AP < 5000 ) {
        var_986 = 攻击者的速度
        if ( 正在骑乘 ) {
            if ( 攻击者是主角 | 攻击者是被骑的 ) {
                if ( 主角的速度 > 被骑者的速度 ) {
                    var_986 = 主角的速度
                }
                else {
                    var_986 = 被骑者的速度
                }
            }
        }
        if ( 目标的八项主能力 > 攻击者的八项主能力 + var_986 + 300 ) {
            if ( 目标的速度 > var_986 * 5 ) {
                攻击者的AP += 2
                if ( 攻击者不是主角 ) {
                    攻击者的AP += 2
                }
            }
            if ( 目标的速度 > var_986 * 4 ) {
                攻击者的AP += 3
                if ( 攻击者不是主角 ) {
                    攻击者的AP += 3
                }
            }
            if ( 目标的速度 > var_986 * 3 ) {
                攻击者的AP += 3
                if ( 攻击者不是主角 ) {
                    攻击者的AP += 3
                }
            }
            if ( 目标的速度 > var_986 * 2 ) {
                攻击者的AP += 3
                if ( 攻击者不是主角 ) {
                    攻击者的AP += 3
                }
            }
            if ( 目标的速度 > var_986 ) {
                攻击者的AP++
                if ( 攻击者不是主角 ) {
                    攻击者的AP++
                }
            }
            if ( 攻击者的AP > 5000 ) {
                攻击者的AP = 5000
            }
        }
    }
}

《ElonaPlus AP 取得计算解释》有5个评分

★★★★★
★★★★
★★★
★★
5
0
0
0
0

ElonaPlus AP 取得计算解释》有2个想法

    1. 二维数组,另外游戏版本不同var_81这个变量可能会不同。
      反编译后的代码当然看不出其定义,真的源码上的定义是:
      #enum global rsSTR =10
      #define global ctype sSTR(%1=0) sdata@(rsSTR,%1)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注