Project1

标题: 关于MZ的能力计算公式 [打印本页]

作者: 南瓜阿呆    时间: 2022-10-31 14:47
标题: 关于MZ的能力计算公式
在MZ原版中,按百分比变动能力值的计算方式太简单,就是直接乘;
例如,人物有100的攻击力,一把武器有攻击力+50%的效果,一件盔甲也有攻击力+50%的效果;
那么,按照MZ原版的计算方式,能力值就是:100*150%*150%=225

我想把这种计算方式改为:100*(100%+50%+50%)=200
因为觉得这样更符合人的直观思维,也更好控制数据。

我该怎么做?


作者: 小秋橙    时间: 2022-10-31 14:47
Game_BattlerBase.prototype.traitsPi = function(code, id) {
    return this.traitsWithId(code, id).reduce((r, trait) => r * trait.value, 1);
};
rmmz_objects.js第2830行左右有上述函数,可以看到它是将若干个【1和2之间的数】相乘。
只要将它改成下面的函数,就会变成【把那些数先全部减1,再相加,总和再加1】。
Game_BattlerBase.prototype.traitsPi = function(code, id) {
    return this.traitsWithId(code, id).reduce((r, trait) => r + trait.value - 1, 1);
};
这样,比如说对于两个1.2,上面的函数会得到1.44,下面的函数会得到1.4。
作者: 南瓜阿呆    时间: 2022-10-31 17:43
小秋橙 发表于 2022-10-31 14:47
Game_BattlerBase.prototype.traitsPi = function(code, id) {
    return this.traitsWithId(code, id).re ...

非常感谢!有效了!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1