敵の攻撃が来る前にコマンド入力して敵の攻撃をよけるプラグインの実現のために

アバター
みたしや
記事: 37
登録日時: 2017年2月08日(水) 22:39
連絡を取る:

敵の攻撃が来る前にコマンド入力して敵の攻撃をよけるプラグインの実現のために

投稿記事by みたしや » 2020年6月14日(日) 17:20

いつもお世話になっております。みたしやと申します。

今回は
敵の攻撃が来る前にコマンド入力して敵の攻撃をよけるプラグインを作りたいと考えております。

キャプチャ.JPG


理想としている手順として
1.上の画面のような敵からの攻撃が来た時、【敵からの攻撃よけ】のコマンドが出力される。(コモンイベント15を使っています。)
2.成功したら、敵の与えるダメージ(Value)に0が代入される。
3.次の行動へ

という感じにしたいと考えています。

しかし

コード: 全て選択

    Game_Action.prototype.apply = function(target) {
        var result = target.result();
        this.subject().clearResult();
        result.clear();
        result.used = this.testApply(target);
        result.missed = (result.used && Math.random() >= this.itemHit(target));
        result.evaded = (!result.missed && Math.random() < this.itemEva(target));
        result.physical = this.isPhysical();
        result.drain = this.isDrain();
        if (result.isHit()) {
            if (this.item().damage.type > 0) {
                result.critical = (Math.random() < this.itemCri(target));
                var value = this.makeDamageValue(target, result.critical);
               
                               
                this.enemyattack(target, value);
               
               
                this.executeDamage(target, value);
            }
            this.item().effects.forEach(function(effect) {
                this.applyItemEffect(target, effect);
            }, this);
            this.applyItemUserEffect(target);
        }
    };

    Game_Action.prototype.enemyattack = function(target, effect){
       
    const subject = this.subject();
    if (subject.isEnemy() && target.isActor()) {
        //敵の攻撃
        $gameTemp.reserveCommonEvent(15)
      }

    };


このように書き替えると、
敵から与えられるダメージよりも早めに改造しているのですが

手順
1.敵からダメージを与えられる(バトルログで敵からダメージを受けたとのメッセージが流れる。)
2.敵の攻撃よけのコマンドが出現する
3.次の行動へ

となってしまいます。

敵の攻撃よりも早くコマンドを呼び出すにはどこをいじればいいのでしょうか?
回答の方をよろしくお願いします。
最後に編集したユーザー みたしや on 2020年6月14日(日) 23:39 [ 編集 2 回目 ]

アバター
剣崎 宗二
記事: 678
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 敵の攻撃が来る前にコマンド入力して敵の攻撃をよけるプラグインの実現のために

投稿記事by 剣崎 宗二 » 2020年6月17日(水) 01:16

お疲れ様です。

みたしや様がやろうとしている事はそう簡単な物ではございません。
そも何故reserveCommonEventがダメージの後に来てしまうかは、
viewtopic.php?f=5&t=9182&p=34543
こちらで一度回答しておりますので省略いたします。

一応、YEP_ActionSequence系でコモンイベントを実行すればダメージ前に発動できると聞いた事もありますが、試しておりませんし、副作用も多いので手放しでお勧めできる物ではありません…
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。

“MV:質問” へ戻る