2017/04/02

[ツクールMV]素早さと行動順について


調べても意外と出てこなかった(?)ので、

RPGツクールMVの敏捷性と行動順についての初期設定と変更手順です。
*厳密に調べたわけではなく、コード内を検索、編集してテストプレイで確かめただけなので間違っている可能性があります。


rpg_objects.jsのGame_Action.prototype.speed で設定されたspeed値が
rpg_manager.jsのBattleManager.makeActionOrders で大きい順に並べられて行動順が決まっているようです。
もう少し色々あるような気がしますが行動順に関してのみ、実用上は十分ということで...



Game_Action.prototype.speed = function() {
    var agi = this.subject().agi;
    var speed = agi + Math.randomInt(Math.floor(5 + agi / 4));
    if (this.item()) {
        speed += this.item().speed;
    }
    if (this.isAttack()) {
        speed += this.subject().attackSpeed();
    }
    return speed;
};




agiがキャラクターの素早さです。
そこに、ランダムの整数(最大値はagiの25%少数切り捨て +5)を足してアイテムや技の補正を足す。


例えば3行目をごっそり削って
 var speed = agi;
のようにしてしまえば、ランダム性のない行動順に。
パズル要素の強い戦闘なんかに使うと良いでしょうか。


プレイヤーの視点としては、デフォルトの設定だと遅い方のキャラクターの敏捷性を125%切り捨てにして、5を足したとき、早い方のキャラクターの素の敏捷性より遅ければ確実な行動順ということになりますね。

1 件のコメント: