★解決済み★魔法反射のターゲット

アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

★解決済み★魔法反射のターゲット

投稿記事by トウカ » 2017年7月17日(月) 18:19

いつもお世話になります。

魔法反射のデフォルトの仕様を変更したいと思っているのですが、コアスクリプトのどこに記されているのでしょうか?

rpg_managers.js の2553行目

BattleManager.invokeMagicReflection = function(subject, target) {
this._action._reflectionTarget = target;
this._logWindow.displayReflection(target);
this._action.apply(subject);
this._logWindow.displayActionResults(target, subject);
};

この辺なのかなーとは思うのですが、どうなんでしょうか。。。?

ちなみにやりたい事としては、魔法反射を魔法使用者に返すのではなく、ランダムにしたいと思っています。
全体魔法を複数が反射した場合なんかはランダムじゃまずい事になりそうなのですが、targetの取得方法もよくわからず、ifを使ってのスキルのtarget判断・再指定…みたいなやり方がわかりません。
どなたか書き換えに関しての知識のある方、そういったプラグインの情報を持っておられる方、教えていただけませんでしょうか。
どうぞよろしくおねがいします。
最後に編集したユーザー トウカ on 2017年7月19日(水) 17:13 [ 編集 1 回目 ]

アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 魔法反射のターゲット

投稿記事by まっつUP » 2017年7月17日(月) 19:03

トウカ様
お世話になります。
プラグインを作成いたしましたのでお試しください。

このプラグインを利用する場合は
readmeなどに「まっつUP」の名を入れてください。
また、素材のみの販売はダメです。
上記以外の規約等はございません。
もちろんツクールMVで使用する前提です。
何か不具合ありましたら気軽にどうぞ。

免責事項:
このプラグインを利用したことによるいかなる損害も制作者は一切の責任を負いません。
添付ファイル
ReflectAway.js
(1.73 KiB) ダウンロード数: 48 回
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
しぐれん
記事: 972
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: 魔法反射のターゲット

投稿記事by しぐれん » 2017年7月17日(月) 19:05

大体そのあたりです。
気になるなら、this._action.apply(subject);を this._action.apply(target);とでも書き換えて試してみましょう。
表示錠は反射したと書かれているのに、反射していないという現象が見られると思います。
subjec.friendsUnit().aliveMembers()でスキル使用者及びその味方キャラを取得し、その中からランダムに1体選ぶようにしてみましょう。
そうすれば、動くんじゃないかと思います。

(書き込もうとした1秒前にまっつUPさんの書き込みがあって笑った)
現在、プラグイン依頼はお休み中です。
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: 魔法反射のターゲット

投稿記事by トウカ » 2017年7月17日(月) 22:03

>>まっつUP様

プラグインありがとうございます!動作確認できました!
プラグインタイトル見て笑いましたw

>>しぐれん様

アドバイスありがとうございます!
対象はtargetだとわかっていたのですが、使用者はsubjectだったんですね。これがわからず苦労してました・・・
なるほどーと思いながら、まっつUP様のプラグインとコアスクリプトを見比べ、勉強させていただきました!


ランダム反射の問題は迅速に解決できました。お二人ともありがとうございます~
ちなみに追加で質問なんですが・・・対象が『敵全体』スキルの場合にだけ、同じように全体に反射させたいのですが、できればこれについてもご教授をお願いできませんか。

挙動を見る限りデフォルト基準のようで、本来術者に返ってくる魔法をランダムターゲット化していると思うんですが、このままですと例えば・・・

5体の敵に全体魔法→本来は術者に5回反射のところ、単体ダメージを5回味方にランダム

というふうにしたいと思っています。
文句をつけているようで非常に申し訳ないのですけれど、どうかお願いしますー!
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: 魔法反射のターゲット

投稿記事by トウカ » 2017年7月17日(月) 22:11

あれ、ひょっとして
this.opponentsUnit.aliveMembers();
で良いんでしょうか?
てっきり、『なんちゃらall』みたいなものかと思ってずっと探してたんですが・・・
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 魔法反射のターゲット

投稿記事by まっつUP » 2017年7月17日(月) 22:25

5体の敵に全体魔法→本来は術者に5回反射のところ、単体ダメージを5回味方にランダム
という挙動にはなっていませんか?こちらではなっていますが・・・。
this.opponentsUnit.aliveMembers();というのはほとんど正しいですが
BattleManagerのメソッドに書く上ではこの記述では呼び出せないので注意です。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: 魔法反射のターゲット

投稿記事by トウカ » 2017年7月17日(月) 22:45

>>まっつUP様

あ、あれ?すみません。調べながら書いてたので確認不足で内容が違ってました。。。!

現状の動きはまさにおっしゃる通りです。
私の希望としては、『全体魔法を受けたら全体魔法を1回返す』という感じですー
ただ反射側の数が多いと、『全体魔法を反射した人数分返す』になりかねないなと思いまして・・・

“MV:質問” へ戻る