2016年11月20日日曜日

反撃拡張プラグイン

RPGツクールMVで使用可能な自作プラグイン「反撃拡張プラグイン」の紹介です。

プラグインの説明

反撃の仕様を拡張します。
魔法に対する反撃や、特定のスキルを使った反撃、特定の条件下でのみ発動する反撃などが作成できます。

特定のアイテムを装備時のみ特殊な反撃技を指定したり、特定の攻撃に対してボスが強力な反撃を繰り出したりする設定が可能です。

具体的な機能詳細は以下の通りです。

機能詳細

  1. 魔法攻撃を受けた場合もカウンターが発動するようになります。
    専用の発動率を指定可能で、指定しない場合は、物理攻撃と同様の反撃率が適用されます。

  2. 反撃時のスキルを個別に設定することができます。
    MPなどのコストが不足している場合の挙動はカスタマイズできます。

  3. 反撃条件をJavaScript計算式の評価結果を使って詳細指定できます。反撃条件を満たさない場合は反撃は実行されません。
    特定のスキルや属性に対してのみ反撃したり、特定の条件下でのみ反撃したりできます。
    ヘルプにいくつかのサンプルが用意されています。

  4. 反撃実行時に専用のアニメーションIDを再生できます。

スクリーンショット

スクリーンショット

メモ欄指定方法

特徴を有するデータベースのスキルのメモ欄に以下の通り指定してください。

<CE_魔法反撃:50>      # 魔法攻撃を受けた場合に50%の確率で反撃します。
<CE_MagicCounter:50>  # 同上
<CE_魔法反撃>     # 魔法攻撃を受けた場合にもともとの反撃率で反撃します。
<CE_MagicCounter> # 同上
<CE_反撃スキルID:\v[1]>    # 反撃時に変数[1]のIDのスキルを使用します。
<CE_CounterSkillId:\v[1]>  # 同上
<CE_魔法反撃スキルID:3>    # 魔法反撃時にID[3]のスキルを使用します。
<CE_MagicCounterSkillId:3> # 同上
<CE_反撃条件:v(1) &lt; 100>    # 変数[1]が100より小さければ反撃します。
<CE_CounterCond:v(1) &lt; 100> # 同上(※2)
<CE_魔法反撃条件:s(1)>         # スイッチ[1]がONなら魔法反撃します。
<CE_MagicCounterCond:s(1)>     # 同上
<CE_反撃条件:skill.id === 10>              # スキルIDが[10]なら反撃します。
<CE_反撃条件:skill.damage.elementId === 3> # スキル属性が[3]なら反撃します。
<CE_反撃条件:this.hpRate() &lt; 0.5> # 自分のHPが50%を下回ると反撃します。
<CE_反撃アニメID:20>       # 反撃実行前にアニメーション[20]を再生します。
<CE_CounterAnimationId:20> # 同上
 
※ 文章、スクリプト中で不等号を使いたい場合、以下のように記述してください。
< → &lt;
> → &gt;

ダウンロード

プラグインファイルはGithubで公開しています。
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/CounterExtend.js

ダウンロード方法(Windowsの場合)

  1. リンク先に飛ぶ
  2. 右クリック
  3. 名前を付けて保存
  4. ファイル名を変えずに、プロジェクトの「js/plugins」配下に配置

利用規約

当プラグインはMITライセンスのもとで公開されています。作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)についても制限はありません。このプラグインはもうあなたのものです。
http://opensource.org/licenses/mit-license.php

14 件のコメント:

  1. 初めまして、こちらのプラグインを使ってみたいと思いまして手順道りに導入したのですが・・・
    Undefinded is not function というエラーコードが出て止まってしまいますT^T
    エラーが出るタイミングとしては、まずステートに【魔法反撃】というステートをつくりメモ欄にを入力しました。
    テストプレイで【魔法反撃】ステートがかかっているキャラ(敵味方試しました)魔法攻撃をするとエラーです。

    プラグイン競合も考えたので、こちらのプラグイン以外全部OFFにしてみたのですがダメでした><
    わからなくなってしまったので、ぜひご回答をいただけたらと思います。 お忙しいところ申し訳ないですが、よろしくお願いいたします。

    返信削除
    返信
    1. はじめまして! プラグインのご利用ありがとうございます!
      現象を確認しました。最新版で追加したコードに問題があったようです。
      修正しましたのでお手数ですが、記事のURLより再ダウンロードをお願いいたします。

      削除
  2.  わぁ~ありがとうございます!!
    確認しましたらエラーなくプレイ出来るようになりました(/ω\)
    お忙しいところありがとうございますm(__)m

    返信削除
  3. 初めまして。ゲーム用語、リングステート等々、複数のトリアコンタン様作成のプラグインを利用させていただいております。
    まずは素敵なプラグインの数々、本当にありがとうございます。
    こちらのカウンタープラグインで質問がございます…。
    このプラグインを利用し、反撃待機状態のステートを作成したとして、敵の全体対象や複数対象のスキルに対しても、その発動をキャンセルして
    カウンター攻撃を発動させることは可能なのでしょうか?

    返信削除
    返信
    1. はじめまして! プラグインのご利用ありがとうございます!
      確認しましたが、複数対象の攻撃に対して反撃した場合、自分に対する効果は無効化されますが、他のメンバーには普通に当たってしまいます。
      機能追加方法を検討してみます。

      削除
  4. お手間をおかけし、申し訳ございません。確認いただき、ありがとうございます。
    よろしければ、追加検討のほど、よろしくお願いいたします。

    返信削除
    返信
    1. ご要望の機能を追加しました!
      記事のURLより再ダウンロードをお願いします

      反撃に成功した時点で相手の行動をキャンセルできる機能を追加(ver1.3.0)

      削除
  5. >トリアコンタン様
    ご対応、本当にありがとうございます!
    試してみたのですが、質問がございます…
    敵全体攻撃を受けた際にやはりカウンターステートを付与されているアクターには敵全体攻撃のダメージは受けず、反撃を行うのですが、
    他パーティーメンバーは通常通りダメージを受けてしまいます…。
    プラグインのメモ通りにステートメモ欄にと記入しているのですが「YEP_BattleEngineCore」等、他のプラグインの
    影響なのでしょうか?

    返信削除
    返信
    1. 上記、以下の『』部分が抜け落ちておりました…申し訳ございません…。
      6行目:ステートメモ欄に『』と

      削除
    2. たびたび申し訳ございません…『括弧CE_キャンセル』です…

      削除
    3. こんばんは!
      お手数をお掛けします。
      「YEP_BattleEngineCore」による影響も考えられますので、一度、新規プロジェクトでお試し頂くことは可能でしょうか。

      削除
  6. お手数をおかけし、申し訳ございません
    新規プロジェクトで確認しましたところ、プラグイン自体は問題なく作動しておりました!
    やはり他プラグインが問題なのでしょうね…
    申し訳ございませんでした。
    本当にありがとうございました!

    返信削除
    返信
    1. お疲れさまです。
      こちらでも競合を確認しましたので、YEP_BattleEngineCoreと両立できるように修正しました。
      お手数ですが記事のURLよりダウンロードをお願いいたします。

      削除
    2. 再三のご対応、本当にありがとうございました!
      問題なくカウンターが発動いたしました!
      お忙しい中、本当にありがとうございました!

      削除