開発日誌

プラグイン/スクリプト

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 敵キャラの複数回行動を細かく制御・2

2022-10-15 19:10:14

以前公開した「複数回行動条件設定プラグイン(PANDA_MultiAction.js)」の、バージョン2を作成しました。

RPGツクールMV/MZ両対応です。

※ Version 2.1.0 (2024-02-23)
n回目行動が設定されていないと行動しなくなる不具合を修正しました。

機能は特に変わっていませんが、複数回行動の条件の設定方法を刷新しています。

以前のバージョンは、敵キャラのメモ欄に行動パターンのインデックス番号を記述する方式だったのですが、インデックス番号が画面上に表示されているわけではないので、番号を数えるのが面倒でした。

新しいバージョンではそれを改善して、「行動パターン複数条件プラグイン(PANDA_ActionMultiCondition.js)」と同様の、ダミースキルを利用した指定方式に変更しました。

インデックス番号を数える必要もなく、行動パターンのリスト内で直接設定できるため、より直感的に条件設定を行うことができるでしょう。

敵キャラの複数回行動と行動パターン

以前の記事「敵キャラの複数回行動を細かく制御」と重複する内容になりますが、VX Ace以降のRPGツクールでは、特徴の「行動回数追加」で、1ターンに2回以上行動する敵キャラを簡単に作成できます。

しかし、複数回行動の内訳を自由に決めることはできないため、場合によっては同じ補助魔法を2回連続で唱えてしまったり、凶悪な全体攻撃を2回連続で放ってきたりといった事態に陥ります。

そこで役立つのが、複数回行動での条件を細かく設定できる、本プラグインです。

このプラグインを使えば、2回行動のうち1回目は通常攻撃で2回目は魔法攻撃とか、1回目は攻撃魔法で2回目は補助魔法とか、強力な全体ブレス攻撃の場合は1回行動で終了とかいった、細かい調整が可能になります。

旧バージョンとの違いは設定方法だけで、基本コンセプト等は一切変わっていません。複数回行動の制御について詳しくは、上記の記事も参考にしてください。

事前準備

今回のバージョンは事前準備が必要です。

まずは「データベース」の「スキル」で、ダミーのスキルを2つ追加します。

1つは複数回行動のうち特定の回にのみ有効な行動を指定するスキル。もう1つはその行動で複数回行動を終了させるためのスキルです。

名前は何でもいいですが、それぞれ「↓n回目行動」「↓行動終了」などとしておくと、分かりやすいかと思います。

ダミーのスキルなので、スキルの設定内容は何も変更しなくてOKです。

そしてこれらのスキルを、プラグインパラメータの「n回目行動条件スキル」と「行動終了条件スキル」にそれぞれ設定します。

以上で事前準備は完了です。

n回目行動条件

このプラグインでは、上記で設定したダミースキルを敵キャラの行動パターンとして組み込むことで、行動パターンの条件設定を行います。

複数回行動のうち特定の回にのみ有効な行動を指定するには、上記で指定した「n回目行動条件スキル」とレーティングの値を利用します。

「n回目行動条件スキル」以降の行動パターンは、複数回行動のうちレーティングで指定された値の回でのみ有効な行動となります。

設定の有効範囲は、次の「n回目行動条件スキル」が登場するまでです。

例えば以下のような行動パターンが設定されている場合、

スキル R
↓n回目行動 1
攻撃 5
ファイア 4
アイス 4
↓n回目行動 2
ヒール 5
体当たり 5

2回行動のうち、1回目の行動では「攻撃」「ファイア」「アイス」のいずれかが、2回目の行動では「ヒール」「体当たり」のいずれかが、行動パターンとして選択されます。

レーティングの値はデフォルトが5なので、間違えないように注意してください。

「n回目行動条件スキル」における採用条件の設定は無視されます。

最初の「n回目行動条件スキル」が登場するまでに設定された行動パターンは、全ての回で採用候補となります。

例えば以下のような行動パターンが設定されている場合、

スキル R
攻撃 5
↓n回目行動 1
6
↓n回目行動 2
ウェポンブレス 4
アーマーブレス 4

2回行動のうち、1回目の行動では「攻撃」「炎」のいずれか、2回目の行動では「攻撃」「ウェポンブレス」「アーマーブレス」のいずれかとなり、「攻撃」は常に採用候補となります。

3回行動のうち、1回目と3回目で有効な行動とか、2回目と3回目で有効な行動とか、そういった指定の仕方はできません。そのようなパターンを指定したい場合は、お手数ですがそれぞれの回で行動パターンを設定してください。

また、レーティングに設定できる値は9までなので、1ターンに10回以上行動する敵キャラは指定できませんが、そんなに行動させることもないだろうということで、この方式を採用しています。

行動終了条件

普段は2回行動するけれど、大技を放ったターンは手加減のため1回で行動を終えたい、というケースがあります。

そういう場合に活用できるのが「行動終了条件スキル」です。

このダミースキルが設定された以降の行動パターンは、その行動で複数回行動を終えるようになります。

ダミースキルのため、条件やレーティングの設定は無視されます。

設定の有効範囲は、次の「n回目行動条件スキル」が登場するまでです。

例えば以下のような行動パターンが設定されている場合、

スキル R
攻撃 5
↓n回目行動 1
ファイア 5
↓行動終了 1
フレイム 4
↓n回目行動 2
アイス 5
↓行動終了 1
ブリザード 4
↓n回目行動 3
ヒール 5

3回行動のうち、1回目の行動では「攻撃」「ファイア」「フレイム」のいずれかが選択され、「フレイム」が採用された場合はそこで行動を終了します。

2回目の行動では「攻撃」「アイス」「ブリザード」のいずれかが選択され、「ブリザード」が採用された場合はそこで行動を終了します。

3回目の行動では「攻撃」「ヒール」のいずれかが選択されます。

全体が大ダメージを受けるような大技の際にも複数回行動が発動すると、プレイヤーの負担が大きくなります。この行動終了の仕組みを利用すれば、適度なバランス調整が行えるでしょう。

複数条件プラグインとの併用

拙作「行動パターン複数条件プラグイン(PANDA_ActionMultiCondition.js)」との併用も可能です。本バージョンで、より併用がしやすくなりました。

例えば右のような行動パターンの場合、3回目の行動、かつHPが0~70%の範囲で、かつターン数が2+3*Xに合致する場合のみ、ヒールが行動候補となります。

「複数条件プラグイン」による追加条件の指定は、直後の行動パターンのみに影響するのに対して、本「複数回行動条件設定プラグイン」によるn回目行動条件と行動終了条件の指定は、次のn回目行動条件が登場するまで影響する、という違いがあります。どちらも、その仕様の方が使いやすいため、このようにしているのですが、間違えないよう注意してください。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

コメント
1. 真白灰 2024-02-21 18:19:40

新規プロジェクトで試してみたのですが、このプラグインをいれると敵が複数回行動しなくなってしまい、1回しか行動しません。

2. panda 2024-02-21 18:48:18

n回目行動条件より上に指定した(通常攻撃などの)行動は、本来行動回数にかかわらず選ばれるようにしているはずですが、それが効いていないように思います。
自分でも最近、2回行動するけどそんなに行動のバリエーションがない敵キャラを作ってて、気になっています。
ちょっと処理を確認してみますので、お待ちください。

3. panda 2024-02-23 10:28:50

お待たせしました。
例えば2回行動する敵の行動パターンに、2回目行動の条件が指定されていなかった場合、通常攻撃など無指定の行動もしなくなってしまう不具合がありましたので、修正版をアップしました。
お手数ですが再度ダウンロードして試してみてください。
よろしくお願いいたします。

4. 真白灰 2024-02-23 15:12:12

新規プロジェクトでの動作確認しました。
対応いただきありがとうございました。

5. panda 2024-02-23 16:01:15

直って良かったです!
自分でも不具合がありそうだと思いながら放置していたところだったので、ご指摘いただいて助かりました!

6. Lindsey 2024-08-08 20:03:32

速度補正2000の技「クイックアタック」を設定し、
↓n回目行動  常時  1
クイックアタック  常時  5
↓n回目行動  常時  2
サンダー    常時  5
で試してみたのですが速度補正が反映されません。

7. panda 2024-08-08 21:21:35

お使いいただきありがとうございます。
ツクールの標準機能だと、複数回行動の場合は速度補正の低い方が採用されてしまいます。
それの対策プラグインがあるので、こちらを試してみてください。

http://www.werepanda.jp/blog/20210819222423.html

8. Lindsey 2024-08-09 01:12:37

リンク先のプラグインを導入しました。
クイックアタックは速度補正2000、サンダーは速度補正0の状態でスキルを1ターンで発動することを実現することは可能ですか?
説明不足で申し訳ありません。

9. panda 2024-08-09 10:16:08

なるほど、1ターン中にクイックアタックとサンダーとで別々に動かしたいってことですかね。
そういう仕様を検討したこともあるのですが、かなりコアスクリプトの仕組みから変える必要がありそうで、自分用に作るならともかく、プラグインとして提供するには別の戦闘系のプラグインと容易に競合することが予想されたので、断念した経緯があります。
やるとしたら、一部のボス敵に限った行動だと思うので、
1. クイックアタック専用のダミーの敵を作って「途中で出現」にする
2. クイックアタックをする時だけ出現させ、終わったら未出現に戻す
みたいな感じでやりますかね。
未出現に戻すのと、名前にA,Bとか付いちゃうのを制御するのに、軽いスクリプト程度は必要になりそうですが。

10. Lindsey 2024-08-12 01:34:49

ちょうどボスに組み込もうとしてたので、この方法で実行してみたら思い通りに起動しました!
別ページのプラグインについて質問してしまい申し訳ありませんが、教えてくださりありがとうございます!

11. panda 2024-08-12 10:27:15

おお! うまくいったようで、良かったです!
力技っちゃ力技ですが、対象が1体2体であれば、力技で乗り切るのが結果簡単だったりしますね。

お名前
コメント
※ 確認画面はありません。