/*:ja * @plugindesc v1.10 (要YEP_BattleEngineCore) 反撃スキルを詳細に設定できます。 * @author Yanfly Engine Plugins * * @param ---一般--- * @default * * @param Queue Max * @text 最大キュー * @parent ---一般--- * @type number * @min 1 * @desc 反撃キューの最大サイズ * @default 20 * * @param ---デフォルト特性--- * @default * * @param Counter Skill * @text 反撃スキル * @parent ---デフォルト特性--- * @type number * @min 1 * @desc 反撃デフォルトのスキルIDを入力。 MVのデフォルトの場合0 * @default 1 * * @param Evade Counter * @text 回避反撃 * @parent ---デフォルト特性--- * @type boolean * @on 反撃する * @off 反撃しない * @desc スキルを回避し、その後デフォルト反撃を行う * 反撃しない:false / 反撃する:true * @default false * * @param Counter Name * @text 反撃表示 * @parent ---デフォルト特性--- * @desc デフォルトの反撃スキル名 * %1:スキル名 * @default 反撃 %1 * * @param Counter Icon * @text 反撃アイコン * @parent ---デフォルト特性--- * @type number * @min 0 * @desc 反撃攻撃に使用されるアイコンID。 デフォルトのスキルアイコンは0 * @default 78 * * @param Counter Total * @text 反撃数 * @parent ---デフォルト特性--- * @desc アクターと敵1人あたりのデフォルト反撃数 * @default 1 * * @param Ally Counter * @text 味方に反撃 * @parent ---デフォルト特性--- * @type boolean * @on 許可 * @off 禁止 * @desc 味方が他の味方の行動に反撃することを許可 * 禁止:false / 許可:true * @default false * * @param ---デフォルト条件--- * @default * * @param Physical * @text 物理 * @parent ---デフォルト条件--- * @type boolean * @on 限定 * @off 非限定 * @desc 反撃が物理に限定 * 非限定:false / 限定:true * @default true * * @param Single Target * @text 単一対象 * @parent ---デフォルト条件--- * @type boolean * @on 限定 * @off 非限定 * @desc 反撃する行動範囲を単一の対象に限定 * 非限定:false / 限定:true * @default true * * @param Not Counter * @text 反撃に対する反撃 * @parent ---デフォルト条件--- * @type boolean * @on 反撃しない * @off 反撃する * @desc 反撃に対して反撃を * 反撃する:false / 反撃しない:true * @default false * * @help * 翻訳:ムノクラ * https://fungamemake.com/ * https://twitter.com/munokura/ * * =========================================================================== * 導入 * =========================================================================== * * このプラグインは YEP_BattleEngineCore を必要とします。 * このプラグインがプラグイン管理で * YEP_BattleEngineCore の下にあることを確認してください。 * * YEP_X_BattleSysATB または YEP_X_BattleSysCTB を使用している場合、 * このプラグインをプラグイン管理で * それらのプラグインの下に配置します。 * * RPGツクールMVデフォルトの反撃特性は制作者に多くの選択肢を与えません。 * あるのは攻撃者の物理的なスキルを回避してから * 反撃者から通常の攻撃を生み出すことによって打ち消すというスキルです。 * このプラグインを使用すると、反撃の動作をより細かく制御できます。 * * =========================================================================== * 説明 - 高度な反撃の仕組み * =========================================================================== * * 反撃は、仲間のメンバーによって打ち消される可能性がない限り、 * 相手のバトラーによって使用されたアクションに対する反応として * 機能するアクションです。 * * 攻撃者の対抗反撃能力(新しく追加された)と * 対象の対抗反撃能力と任意のアクションとで判定が始まります。 * 最終的な反撃率が決定すると、反撃が発動するかどうかの * 乱数チェックが行われます。 * チェックを通過しなければ、反撃は発生しません。 * 通過すると、次のステップが発生します。 * * 次に、対象は反撃として使用できるスキルのプールを生成します。 * それは、次の章で述べる優先順位リストに入ります。 * 次に戦闘システムは順番にスキルのプールを通り抜け、 * 必要とされる全ての条件を満たす最初の反撃スキルを選択します。 * スキルが選択されていない場合、スキルは反撃として使用されません。 * 全てのスキルは、スキルのコストを支払えるという必須の条件を持ち、 * それを使用することができます。 * * スキルが選択されると、反撃スキルは反撃キューに入れられ、 * 現在の攻撃者のターンが終了するのを待ちます。 * 終了すると、反撃キュー内のアクションが始まります。 * 反撃者は自分のターンを消費せずに反撃します。 * このプロセスは、反撃キューが空になるまで繰り返されます。 * * 反撃キュー処理中に、反撃スキルも反撃スキルを引き起こすことができます。 * そのため、プラグインパラメータによって決まる最大キューサイズがあります。 * キューの数がこのサイズに達すると、 * それ以上反撃スキルは反撃キューに追加されません。 * * =========================================================================== * 説明 - 反撃スキル優先順位リスト * =========================================================================== * * 反撃のプールを生成する場合、それらは以下の順序で生成されます。 * * 1. ステート - 最高の優先順位のメモ欄 * 2. ステート - 最も低い優先順位のメモ欄 * 3. 装備 - 武器のメモ欄 * 4. 装備 - 防具のメモ欄 * 5. アクター - 現在の職業のメモ欄 * 6. アクター - アクターのメモ欄 * 7. 敵 - 敵のメモ欄 * * 反撃スキルのプールの順番は、 * 使用される反撃スキルの判定を通過するときに、 * 条件が満たされる最初の反撃スキルが使用されるという点が重要です。 * * =========================================================================== * メモタグ * =========================================================================== * * 反撃スキルを変更するために以下のメモタグを使うことができます。 * 各メモタグは、特定の方法で反撃スキルを変更します。 * * アクター、敵のメモタグ: * * * * デフォルトの反撃スキルを x に設定します。 * 0のままだと、反撃スキルはRPGツクールMVデフォルトの反撃スキルになります。 * スキルの名前を使用していて、 * データベース内に同名のスキルが複数ある場合、 * IDが最も高いスキルが優先されます。 * *注: RPGツクールMVデフォルトの反撃スキルを追加する場合、 * x に0を使用します。 * * アクター、職業、敵、武器、防具、ステートのメモタグ: * * * * * バトラーのための可能な反撃スキルのリストに追加されます。 * 複数のスキルIDがリストされている場合、それらは全て追加されています。 * 先に挙げた反撃スキルが優先されます。 * *注1: RPGツクールMVデフォルトの反撃を追加したい場合、 * x に0を使用してください。 * *注2: 反撃スキルリストでどのスキルが優先されるかについては、 * 反撃リストの優先順位を参照してください。 * * * 指定されたスキルがバトラーの可能な反撃スキルのリストに追加されます。 * データベースに同名のスキルが複数ある場合、 * 最も高いIDを持つスキルが優先されます。 * *注: 反撃スキルリストでどのスキルが優先されるかについては、 * 反撃リストの優先順位を参照してください。 * * * * バトラーが反撃できる回数を x に変更します。 * バトラーのターンになるまで反撃できる回数で、 * その回数はリセットされます。 * * * バトラーが相手の対象を攻撃すると、 * これにより対象の反撃率が x% に変更されます。 * 対象の反撃率が 10% の場合、 * 50% のタグがあれば反撃率は 5% になります。 * * * * バトラーが相手の対象を攻撃すると、 * これにより対象の反撃率が x% 増加または減少します。 * 対象の反撃率が10%の場合、 * +50% のタグで反撃率は +60% になります。 * * * デフォルトの性質に関わらず、 * 関連するバトラーが使用する全ての反撃スキルを回避反撃に変えます。 * しかし、バトラーが という特性の影響を受ける場合、 * 代わりに という特性が優先されます。 * * * 関連するバトラーが使用する全ての反撃スキルが、 * デフォルトの性質に関わらず命中反撃になるように変更されます。 * バトラーが の影響も受けている場合、 * この効果が優先されます。 * * スキル、アイテムのメモタグ: * * * 仲間メンバーに反撃スキルを使用できるようにします。 * * * 仲間メンバーに反撃スキルを使用できないようにします。 * * * 反撃できないようにします。 * 常に0%の反撃の可能性を返すことを意味します。 * * * 対象から x% で反撃を算出します。 * 対象が 10% の反撃率に対して、反撃メモタグを 50% 持っている場合、 * 対象は 5% の確率で反撃率があることを意味します。 * * * * 対象から追加の x% だけ反撃を得ます。 * 対象に対抗する確率が 10% で、 * このメモタグが +50% の場合、 * 対象に対抗する確率は60%です。 * * スキルのメモタグ: * * * スキルが反撃スキルとして使用されている場合、 * バトラーは現在の行動を回避してから反撃します。 * * * スキルが反撃スキルとして使用されている場合、 * バトラーは現在の行動に対抗して命中してから反撃します。 * * * 反撃スキルとして使用された時、 * 表示されるスキルの名前を 'text'に変更します。 * * * 反撃スキルとして使用した時、 * 表示されるスキルのアイコンを x アイコンに変更します。 * * =========================================================================== * メモタグ - Counter Conditions * =========================================================================== * * 反撃スキルを作る時、 * それらの反撃スキルを特定の条件にだけ対応させることができます。 * 全ての条件が満たされると、反撃スキルが発生します。 * 単一の条件が満たされない場合、その反撃スキルはスキップされ、 * 次のスキルがチェックされます。 * 反撃条件を追加するには、以下のメモタグを使用します。 * * スキルのメモタグ: * * * condition * condition * * メモタグの間にある 'condition' テキストを、 * 下の条件リストにあるもので置き換えてください。 * * --- 例 --- * * * physical hit * single target * * 現在のアクションが単一の対象である物理的な命中である場合にのみ、 * 反撃スキルとして使用されます。 * * =========================================================================== * 反撃条件のリスト * =========================================================================== * * このプラグインの反撃条件のリストです。 * 反撃が有効になるには、全ての反撃条件が満たされている必要があります。 * 1つでも反撃条件が満たされなかった場合、反撃スキルは発動しません。 * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * ATTACKER param eval * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 'param'を'level'、'maxhp'、'hp'、'maxmp'、'mp'、'atk'、'def'、'mat'、 * 'mdf'、'agi'、'luk'に置き換えてください。 * これは攻撃者のパラメータに対してチェックを実行します。 * チェックが'true'を返す場合、反撃条件は満たされます。 * 'false'を返す場合、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Attacker level > 50 * Attacker hp <= attacker.mhp * 0.50 * Attacker atk > defender.def * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * CERTAIN HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが特定の命中であれば、 * 反撃条件が満たされます。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Certain Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * COUNTER HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが反撃スキルである場合、 * 反撃条件は満たされます。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Counter Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * DEFENDER param eval * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 'param'を'level'、'maxhp'、'hp'、'maxmp'、'mp'、'atk'、'def'、'mat'、 * 'mdf'、'agi'、または'luk'に置き換えてください。 * これは防御側のパラメータに対してチェックを実行します。 * チェックが'true'を返す場合、反撃条件は満たされます。 * 'false'を返す場合、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Defender level > 50 * Defender hp <= defender.mhp * 0.50 * Defender atk > attacker.def * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * ELEMENT: x * ELEMENT: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションに * 属性 X が当てられている場合、反撃条件は満たされています。 * そうでなければ、反撃条件は満たされません。 * データベースシステムタブで、'x'を属性IDまたは属性名に置き換えます。 * 複数の属性が同名を使用している場合、最も高いIDを持つ要素が優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Element: 4 * Element: Fire * Element: Ice * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * EVAL: code * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * JavaScript を使って、反撃スキルの条件の評価チェックを実行できます。 * evalチェックが 'true'を返す場合、条件は満たされています。 * 'false'を返す場合、条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Eval: attacker.name() === 'Harold' * Eval: defender.hpRate() <= 0.50 * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * ITEM: x * ITEM: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションがアイテムxであれば、 * 反撃条件は満たされます。 * そうでなければ、反撃条件は満たされません。 * 'x'をアイテムIDに置き換えます。 * アイテム名を使用することを選択し、 * データベースに同名のアイテムが複数ある場合、 * IDが最も高いアイテムが優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Item: 30 * Item: Bomb * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * MAGICAL HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが魔法の命中であれば、 * 反撃条件は満たされています。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Magical Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * MULTI TARGET * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが * マルチ対象アクションの場合、反撃条件が満たされます。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Multi Target * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT CERTAIN HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが命中しなかった場合、 * 反撃条件は満たされます。 * そうであれば、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Certain Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT COUNTER HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが反撃スキルではない場合、 * 反撃条件は満たされます。 * そうであれば、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Counter Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT ELEMENT: x * NOT ELEMENT: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションに属性 X が当てられている場合、 * 反撃条件は満たされません。 * そうでなければ、反撃条件が満たされます。 * データベースシステムタブで、'x'を属性IDまたは属性名に置き換えます。 * 複数の属性が同名を使用している場合、最も高いIDを持つ属性が優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Element: 4 * Not Element: Fire * Not Element: Ice * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT ITEM: x * NOT ITEM: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションがアイテム x ではない場合、 * 反撃条件は満たされます。 * そうであれば、反撃条件は満たされません。 * 'x'をアイテムIDに置き換えます。 * アイテム名を使用し、データベースに同名のアイテムが複数ある場合、 * IDが最も高いアイテムが優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Item: 30 * Not Item: Bomb * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT MAGICAL HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションが魔法の命中ではない場合、 * 反撃条件は満たされます。 * そうであれば、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Magical Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT PHYSICAL HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションが物理的な命中ではない場合、 * 反撃条件は満たされます。 * そうであれば、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Physical Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT SKILL: x * NOT SKILL: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用される行動がスキルxではない場合、 * 反撃条件は満たされます。 * そうであれば、反撃条件は満たされません。 * x をスキルIDに置き換えます。 * スキル名を使用することを選択し、 * データベースに同名のスキルが複数ある場合、 * 最も高いIDを持つスキルが優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Skill: 50 * Not Skill: Firaga * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * NOT STYPE: x * NOT STYPE: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションが * スキルおよびスキルタイプ x ではない場合、反撃条件が満たされます。 * そうでなければ、反撃条件は満たされません。 * x をスキルタイプIDに置き換えます。 * スキルタイプ名を使用し、データベースに同名のスキルタイプが複数ある場合、 * IDが最も高いスキルタイプが優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Not Stype: 1 * Not Stype: Magic * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * PHYSICAL HIT * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションが物理的な命中である場合、 * 反撃条件が満たされています。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Physical Hit * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * RANDOM: x% * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * ランダムチェックを実行します。 * この反撃チェックに合格する可能性は x% です。 * 合格すると、反撃条件が満たされます。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Random: 30% * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * SINGLE TARGET * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されているアクションが * 単一の対象アクションである場合、反撃条件は満たされます。 * そうでなければ、反撃条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Single Target * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * SKILL: x * SKILL: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用される行動がスキルxであれば、 * 反撃条件は満たされます。 * そうでなければ、反撃条件は満たされません。 * x をスキルIDに置き換えます。 * スキル名を使用し、データベースに同名のスキルが複数ある場合、 * 最も高いIDを持つスキルが優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Skill: 50 * Skill: Firaga * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * STYPE: x * STYPE: name * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 対象に対して使用されるアクションがスキルとスキルタイプ x の場合、 * 反撃条件が満たされます。 * そうでなければ、反撃条件は満たされません。 * x をスキルタイプIDに置き換えます。 * スキルタイプ名を使用し、データベースに同名のスキルタイプが複数ある場合、 * IDが最も高いスキルタイプが優先されます。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Stype: 1 * Stype: Magic * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * SWITCH x OFF * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * アクションが対象に対して使用される前に * スイッチ x がオフ(false)であれば、反撃条件は満たされています。 * オン(true)の場合、反撃条件は満たされていません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Switch 10 Off * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * SWITCH x ON * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * アクションが対象に対して使用される前に * スイッチ x がオン(true)の場合、反撃条件が満たされています。 * オフ(false)の場合、反撃条件は満たされていません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Switch 10 On * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * VARIABLE x eval * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 変数 x に対してevalチェックを実行します。 * 評価チェックが 'true'を返した場合、条件は満たされています。 * それが 'false'を返すなら、条件は満たされません。 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 例: Variable 15 >= 15 * Variable 16 <= 20 * Variable 17 === $gameParty.aliveMembers().length * =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * * =========================================================================== * ルナティックモード - Custom Counter Skills * =========================================================================== * * ルナティックモードのメモタグに JavaScript を使用し、 * 反撃の使用に必要な動的なスキルセットを確認できます。 * * アクター、職業、敵、武器、防具、ステートのメモタグ: * * * if (user.name() === 'Harold') { * skills.push(50, 51, 52); * } else if (user.name() === 'Therese') { * skills.push(53, 54, 55); * } else if (user.name() === 'Marsha') { * skills.push(56, 57, 58); * } else if (user.name() === 'Lucius') { * skills.push(59, 60, 61); * } * * 'スキル'変数は、彼らの要件が満たされているという条件で * バトラーがアクションに反撃できる潜在的なスキルのリストに * 追加される全ての反撃スキルを含む配列です。 * * =========================================================================== * ルナティックモード - Custom Counter Total * =========================================================================== * * ルナティックモードのメモタグに JavaScript を使用し、 * 動的な反撃トータルボーナスを得ることができます。 * * アクター、職業、敵、武器、防具、ステートのメモタグ: * * * value = user.level; * * 'value'変数は、増加または減少した反撃の総数です。 * バトラーの合計反撃値が0になったり0未満になったりすると、 * 反撃スキルを使うことができません。 * * =========================================================================== * ルナティックモード - Custom Target Counter Rate * =========================================================================== * * ルナティックモードのメモタグに JavaScript を使用し、 * 攻撃者の特性によって対象の反撃率を変更することができます。 * * アクター、職業、敵、武器、防具、ステートのメモタグ: * * * rate -= user.hpRate(); * * 'rate'変数は、 * 対象が持つ反撃率を決定するために使用される最終率です。 * 対象の反撃値から計算された値がすでに与えられています。 * これはスキルのカスタム反撃率の前に計算されます。 * * =========================================================================== * ルナティックモード - Custom Counter Rate * =========================================================================== * * ルナティックモードのメモタグに JavaScript を使用し、 * スキルが対象に反撃する動的な機会を与えることができます。 * * スキル、アイテムのメモタグ: * * * rate += target.hpRate(); * * 'rate'変数は、 * 対象が持つ反撃率を決定するために使用される最終率です。 * 対象の反撃値から計算された値と * スキルからの追加の反撃率修正値がすでに与えられています。 * これは攻撃者のカスタム対象反撃率の後に計算されます。 * * =========================================================================== * ルナティックモード - Custom Counter Condition * =========================================================================== * * ルナティックモードのメモタグに JavaScript を使用し、 * 反撃スキルにカスタム反撃条件を与えることができます。 * Eval条件でも同じことができますが、 * このメモタグは一度に全てを制御することを好む人のためのものです。 * * スキルのメモタグ: * * * if (attacker.name() === 'Harold') { * condition = true; * } else if (defender.name() === 'Therese') { * condition = true; * } else { * condition = false; * } * * 'condition'変数は、反撃スキルが成功するか失敗するかを決定します。 * 'condition'変数が 'true'を返す場合、条件は満たされています。 * 'condition'変数が 'false'を返した場合、条件は満たされません。 * 条件が満たされると、残りの条件がチェックされます。 * * =========================================================================== * Changelog * =========================================================================== * * Version 1.10: * - Fixed a bug that caused "Counter Hit" to not work properly. * * Version 1.09: * - Bypass the isDevToolsOpen() error when bad code is inserted into a script * call or custom Lunatic Mode code segment due to updating to MV 1.6.1. * * Version 1.08: * - Updated for RPG Maker MV version 1.5.0. * * Version 1.07a: * - Lunatic Mode fail safes added. * - Optimization update * * Version 1.06: * - Updated for RPG Maker MV version 1.3.2. * * Version 1.05: * - Fixed a bug that caused the Eval: condition to not work and crash. * - Fixed an issue that caused default counter attacks to trigger upon * magical actions. * * Version 1.04: * - Fixed a bug that caused counter-countered actions to no longer disappear * from queue. * * Version 1.03: * - Fixed a bug that caused enemies to get a free action after a counter in * the DTB engine. * * Version 1.02: * - Fixed a bug that didn't replace the proper skill for the countered * battler appropriate causing some action effects to not proc correctly. * * Version 1.01: * - Fixed a bug that caused the notetag to not work. * * Version 1.00: * - Finished Plugin! */