戦闘中に敵又は味方にスクリプトより、バフ・デバフを与えたいです。
スキルで敵に攻撃+相手の防御力を低下としたいのですが、どうすれば良いかご教授頂ければと思います。
https://punipunion.hatenablog.com/entry ... /26/221045
ここのサイトを参考にさせて頂いていたのですが、
if($gameParty.inBattle()) BattleManager._subject.addBuff(3, 3);
とスキルにコモンイベントでスクリプトとして入力し
実際戦闘で自分がスキルでスクリプトを実行すると自分に防御力アップ(3ターン)という感じで
実行できて
if($gameParty.inBattle()) BattleManager._subject.addDebuff(3, 3);
でスキルを使うと自分の防御力が低下します。
ここまでは良いんですが、これを敵の防御力を操作する場合どうすれば良いでしょうか?
スキルの使用効果設定から設定できるのは知っているのですが、発動条件を指定したいので、コモンイベントから
スクリプトより実行する事を希望します。
._subject.の部分を弄ればいいのかなーと思ってるのですが、イマイチ分からなくて困っています。
因みにスキルを実行した敵にデバフが与えらればと思います。
また重ね重ね質問申し訳ないのですが、上記のバフで防御力を何パーセントアップなどできるでしょうか?
例えば防御力が100あるとして1.5倍にして防御力150などのパラメーターを上記のスクリプトに組み込むことは可能なのでしょうか?
元々あるパラメーターだと防御力アップとしか無いため細かいパラメーターが調整できなくて困っています。
長文申し訳ありませんがよろしくお願いします。
【解決済み】戦闘中に敵・味方にスクリプトからバフを与えたい
【解決済み】戦闘中に敵・味方にスクリプトからバフを与えたい
最後に編集したユーザー minosan [ 2020年11月09日(月) 22:17 ], 累計 1 回
- Plasma Dark
- 記事: 736
- 登録日時: 2020年2月08日(土) 02:29
- 連絡する:
Re: 戦闘中に敵・味方にスクリプトからバフを与えたい
BattleManager._subject にはスキル使用者の情報を持つ、 Game_Battler を継承したクラス(Game_Actor or Game_Enemy)のインスタンスが入っています。
行動の対象は BattleManager._targets に配列として入っているので、対象について何か操作したい場合にはその配列の中身を見ることになるかと思います。
敵を対象とした行動の場合、 BattleManager._targets は通常、 Game_Enemy の配列になっています。(混乱時には Game_Actor が混ざったりもしますが)
ところで、 addBuff や addDebuff は Game_Battler クラスに定義されたメソッドです。
ここまでわかれば行動の対象にデバフを与えるスクリプトも書けるはずですので、頑張ってください。
パラメータごとに、固定値ではありますがこの倍率を変更するプラグインはあります。
https://github.com/elleonard/RPGtkoolMV ... uffRate.js
(もしご利用になる場合は、Rawボタンを右クリックして対象をファイルに保存してください)
スキルごとにバフの倍率を変えるのは、仕様をちゃんと定義してプラグインを書く必要があります。
そういう場合はバフではなくステートを利用したほうが手軽ですので、ご検討ください。
行動の対象は BattleManager._targets に配列として入っているので、対象について何か操作したい場合にはその配列の中身を見ることになるかと思います。
敵を対象とした行動の場合、 BattleManager._targets は通常、 Game_Enemy の配列になっています。(混乱時には Game_Actor が混ざったりもしますが)
ところで、 addBuff や addDebuff は Game_Battler クラスに定義されたメソッドです。
ここまでわかれば行動の対象にデバフを与えるスクリプトも書けるはずですので、頑張ってください。
ツクールMVにおけるバフ/デバフの倍率は1段階目で25%、2段階目で50%の固定になっています。上記のバフで防御力を何パーセントアップなどできるでしょうか?
パラメータごとに、固定値ではありますがこの倍率を変更するプラグインはあります。
https://github.com/elleonard/RPGtkoolMV ... uffRate.js
(もしご利用になる場合は、Rawボタンを右クリックして対象をファイルに保存してください)
スキルごとにバフの倍率を変えるのは、仕様をちゃんと定義してプラグインを書く必要があります。
そういう場合はバフではなくステートを利用したほうが手軽ですので、ご検討ください。
【解決済み】戦闘中に敵・味方にスクリプトからバフを与えたい
ありがとうございます。
色々試行錯誤してみた結果アドバイス頂いた方法で、
if($gameParty.inBattle()) BattleManager._targets[0].addDebuff(3, 3)
みたいな感じで目的通り動作しました。
凄く助かりました。ありがとうございます。
色々試行錯誤してみた結果アドバイス頂いた方法で、
if($gameParty.inBattle()) BattleManager._targets[0].addDebuff(3, 3)
みたいな感じで目的通り動作しました。
凄く助かりました。ありがとうございます。