古树旋律 发表于 2022-12-20 07:54:32

【js在MV/MZ中的华丽操作】修改逃跑成功率等

这个挺简单的,一看就会。

打开managers.js这个文件,搜索下面这个:
BattleManager.makeEscapeRatio = function()

这个函数定义了一个计算公式,得到一个数值。然后脚本中的其他地方来引用这个函数,从而完成其他操作。

这个公式的默认计算是这样的:
BattleManager.makeEscapeRatio = function() {
    this._escapeRatio = (0.5 * $gameParty.agility()) / $gameTroop.agility();
};
即成功率=0.5×全体队员的敏捷平均值÷全体敌人的敏捷成功率。
于是就可以自由发挥了。
比如:this._escapeRatio = 1,就是永远逃跑成功,this._escapeRatio = 0.5,就是永远50%,this._escapeRatio = $gameVariables.value(n) /100 ,就算用n号变量来控制。注意this._escapeRatio 的计算结果是0-1浮点数,而不是0-100的整数。

另外要注意,$gameParty.agility()和$gameTroop.agility()中的agility()部分是默认脚本已经定义过了,可以直接调用。如果改成lucky()、attack()等,是无效的。这个需要自己来定义。

同理我们可以触类旁通。这两段代码是计算先敌和偷袭 引用算法,用搜索功能可以找到详细的计算方式。
BattleManager.ratePreemptive = function() {
    return $gameParty.ratePreemptive($gameTroop.agility());
};

BattleManager.rateSurprise = function() {
    return $gameParty.rateSurprise($gameTroop.agility());
};

民族精神 发表于 2022-12-20 09:04:30

666666666好主意{:3_177:}
页: [1]
查看完整版本: 【js在MV/MZ中的华丽操作】修改逃跑成功率等