【解決済み】戦闘の行動順から乱数を除外する方法

tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

【解決済み】戦闘の行動順から乱数を除外する方法

投稿記事by tanaka1105 » 2022年1月08日(土) 15:26

いつもお世話になっております。
戦闘の行動順から乱数を排除して、純粋に素早さ(Speed)の値が高い順番から行動させたいのですが、
プラグインのどの部分をいじればよいかご教授いただけないでしょうか?
(乱数の記述がある部分を削ればよいだけだと思っているのですが、該当の箇所が見つけられないでいます、、そして見つけたとしても知識皆無なので狙い通りのことができるか自信がない、、)
お手数おかけしますが、よろしくお願いします。
最後に編集したユーザー tanaka1105 on 2022年1月08日(土) 21:11 [ 編集 1 回目 ]

名無し蛙
記事: 304
登録日時: 2015年11月23日(月) 02:46

Re: 戦闘の行動順から乱数を除外する方法

投稿記事by 名無し蛙 » 2022年1月08日(土) 19:35

どうもこんばんは
該当部はGame_Action.prototype.speedあたりですかね

コード: 全て選択

Game_Action.prototype.speed = function() {
    const agi = this.subject().agi;
    let 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;
};

①基礎敏捷値(Agility)の取得
②5 + AGI/4の乱数変動
③使用アイテム/スキルに設定された速度補正を加算
④通常攻撃であれば攻撃速度補正を加算

②の処理を削除すれば乱数要素は無くなると思います

コード: 全て選択

/*:
 * @target MZ
 */
(() => {
    "use strict"
    Game_Action.prototype.speed = function() {
//        const agi = this.subject().agi;
//        let speed = agi + Math.randomInt(Math.floor(5 + agi / 4));
        let speed = this.subject().agi;
        if (this.item()) {
            speed += this.item().speed;
        }
        if (this.isAttack()) {
            speed += this.subject().attackSpeed();
        }
        return speed;
    };
})();
tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

【解決済み】Re: 戦闘の行動順から乱数を除外する方法

投稿記事by tanaka1105 » 2022年1月08日(土) 21:11

名無し蛙様、助かりました、丁寧にご解説いただきありがとうございます。狙い通りのことができました。

“MZ:質問” へ戻る