Yanfly先生の反撃カスタマイズプラグイン(YEP_X_CounterControl)を試してみた

ツクール界隈で有名なYanfly先生のプラグインです。
Yanfly先生の反撃プラグイン(YEP_X_CounterControl)に関してGoogle先生に尋ねてみたものの国内で誰も記事にしていないようなので私が記事にしてみます。
但しプラグインの全ての機能ではなく、あくまで私がゲーム内で実装した機能のみの解説なのでご了承下さい。

実装したゲームはこちらです。
minodriven.hatenablog.com

どういうプラグインなの?

ツクールMVではキャラやステートに対して「反撃率」なるパラメータを設定でき、敵から物理攻撃されたときにこの「反撃率」に応じて相手にカウンター攻撃を仕掛けることができる仕様になっております。
但しこの反撃仕様は限定的で、反撃可能なのは物理攻撃のみ、反撃時の攻撃はスキル0001番、即ち通常攻撃固定です。自由度がありません。

  • 魔法攻撃に対して反撃できるようにしたい
  • 反撃用の技は、通常攻撃じゃなくて魔法を使いたい
  • いくら反撃してくる敵といっても、主人公の必殺技は反撃されたくないなぁ…

などなど、こんな望みを叶えてくれるのが本プラグインです。

プラグインインポート方法

先生のサイトにもありますが、本プラグインはツクールMVのプラグイン管理画面においてYEP_BattleEngineCoreの下に配置しなければなりません。また、同様にYEP_X_BattleSysATBやYEP_X_BattleSysCTBを利用する場合もこれらの下に配置する必要があります。即ち、順番的にはこうなります。

  • YEP_BattleEngineCore (←必須)
  • YEP_X_BattleSysATB / YEP_X_BattleSysCTB (←使いたいならこの順で配置)
  • YEP_X_CounterControl (←本プラグイン)

反撃に使うスキルを指定する

ではでは早速使っていきましょう。
まずは簡単に反撃用の技をデフォルトの通常攻撃ではなく、使いたいスキルに指定する方法です。
反撃実験君として、彼に反撃してもらうことにしましょう。
f:id:minodriven:20160522220906p:plain
彼には、主人公側の攻撃を受けたときに所定のスキルで反撃してもらうことにします。

まずは反撃率を設定します。実験用に分かりやすく100%とします。
f:id:minodriven:20160523202044p:plain
次に反撃に使うスキルを設定します。ここでは下の写真にあるような0518番のスキル「炎上」にしてみます。
f:id:minodriven:20160523202546p:plain
反撃実験君カウンターマン(敵キャラ)のメモ欄に以下のように記述します。

<Counter Skills: 518>

早速動作確認。主人公側から反撃実験君へ攻撃。
f:id:minodriven:20160523204521p:plain
下写真のようにスキル「炎上」を使って反撃してきました。ね?簡単でしょ?
f:id:minodriven:20160523204607p:plain
このCounter Skillsタグは、アクター、職業、武器、防具、敵キャラ、ステートに対して設定可能です。
例えば「カウンターの構え」なるステートにCounter Skillsタグを設定し、なんらかのスキルやアイテムによって「カウンターの構え」ステートを付与するようにすれば、このステートが有効な間特定スキルで反撃を仕掛ける、ということも実現可能になります。

どんな攻撃に対して反撃するか指定する

さて、上記の設定のままでは、残念なことに必中だろうが魔法攻撃だろうがどんな攻撃に対しても反撃してきます。たまったもんじゃないですね!
物理攻撃にだけ反撃させたい、魔法攻撃にだけ反撃させたい。このように所定の条件を満たす場合にのみ反撃させるよう指定することができます。
これはスキル単位で設定可能です。反撃に用いるスキルのメモ欄に以下のように記述します。

<Counter Condition>
Magical Hit
</Counter Condition>

このように書くと、魔法攻撃を受けた場合にのみ反撃が発動します。必中や物理攻撃では反撃しません。
Counter Conditionタグには複数の条件を指定可能で、その場合指定した条件を全て満たす場合に反撃します。

<Counter Condition>
Magical Hit
Single Target
</Counter Condition>

例えば上記の条件では、「魔法攻撃で且つ単体攻撃である場合」に反撃が発動します。
Counter Conditionタグに指定可能な条件ワードの例を以下に示します。より詳細にはYanfly先生のサイトをご参照下さい。

条件ワード 意味
Certain Hit 必中攻撃を受けた場合
Physical Hit 物理攻撃を受けた場合
Magical Hit 魔法攻撃を受けた場合
Counter Hit 反撃を受けた場合
Not Magical Hit 受けた攻撃が魔法攻撃でない場合
Single Target 単体攻撃を受けた場合
Multi Target 全体攻撃など複数対象の攻撃を受けた場合

主人公の必殺技などに反撃させたくない場合

例えば主人公サイドのスキルに必殺技に相当するスキルを用意し、ここぞという場面で必殺技を使いたい!というとき、折角使った必殺技が敵に反撃されてしまっては幻滅もいいとこですよね…。というワケで反撃させない方法です。相手に反撃させたくないスキル、例えば必殺技に相当するスキルのメモ欄に以下のように記述します。

<Cannot Counter>

このタグはアイテムにも適用可能で、例えば爆弾のような、相手にダメージを与えるアイテムに適用するのもいいでしょう。

ダメージを受けて反撃するか、回避して反撃するか

敵の攻撃を受けてから反撃するか、それとも回避してから反撃するかを指定できます。
反撃用スキルのメモ欄に以下のように記述すると、ダメージを受けた後反撃します。

<Hit Counter>

反撃用スキルのメモ欄に以下のように記述すると、回避して反撃します。

<Evade Counter>

上記タグを指定せずとも本プラグインパラメータ「Evade Counter」にて、ダメージ受けて反撃するか回避して反撃するか、いずれかをデフォルト指定できます。
f:id:minodriven:20160525221432p:plain
プラグインパラメータ「Evade Counter」でfalseを指定すると、ダメージを受けてから反撃、trueを指定すると回避してから反撃がデフォルトとなります。
このパラメータをデフォルトとして、スキル個別にHit Counter、Evade Counterで指定する仕組みとなります。

説明は以上です。何かご質問がありましたら分かる範囲で回答致します。



再度お知らせですが、私の作ったゲーム「Bug Hunter」をやってみて下さい。
できればレビュー頂けると嬉しいです!
minodriven.hatenablog.com