FTKR Auto Invoke Skill - FTKR_AutoInvokeSkill.js
▼FTKR Auto Invoke Skill(フトコロ様作) - FTKR_AutoInvokeSkill.js
https://plugin.fungamemake.com/archives/1339
特定条件で自動でスキルを発動させる
ふりがな:すきるじどうはつどう
機能概要: 特定条件で自動でスキルを発動させる
利用規約(ライセンス): MITライセンス
作者:フトコロ
作者サイト:https://twitter.com/futokoro_mv
ダウンロードページ:https://raw.githubusercontent.com/futokoro/RPGMaker/mas…
ファイル名:FTKR_AutoInvokeSkill.js
プラグインのヘルプ:
/*: * @plugindesc v1.3.2 特定条件で自動でスキルを発動させるプラグイン * @author フトコロ * * @help *----------------------------------------------------------------------------- * 概要 *----------------------------------------------------------------------------- * 特定条件で自動でスキルを発動させることができます。 * * 発動できる条件は、以下の通りです。 * * 1. 行動後に指定した条件式を満たした時 * 2. 付与されていたステートが解除された時 * * *----------------------------------------------------------------------------- * 設定方法 *----------------------------------------------------------------------------- * 1.「プラグインマネージャー(プラグイン管理)」に、本プラグインを追加して * ください。 * * * 2. 他プラグインと組み合わせる場合 * 当プラグインは以下のプラグインよりも下にしてください。 * YEP_BattleEngineCore.js * YEP_X_BattleSysATB.js * および、他のFTKR系プラグイン * * *----------------------------------------------------------------------------- * アクター、職業、装備、ステートに設定し、行動後に発動させる *----------------------------------------------------------------------------- * 以下のタグをアクターや職号、装備、ステートのメモ欄に追記すると * 各キャラが行動する度に、設定した条件式を満たした時にスキルを自動発動します。 * * <AIS_発動条件: x> * 条件式 * </AIS_発動条件> * * または * * <AIS_INVOKE_CONDITIONS: x> * 条件式 * </AIS_INVOKE_CONDITIONS> * * x : スキルID * * * [条件判定するタイミング] * 条件判定は、各キャラが行動しする度に毎回行います。 * そして、スキルを発動する相手は、そのキャラが行動するときの対象です。 * * 例えば、味方が敵を攻撃した時の場合は、スキルが発動すると、その攻撃する敵に * 対して発動します。 * 逆に、味方が防御するなど、自分を対象とする行動をした場合、スキルを発動する * 対象は、そのキャラ自身になります。 * * このため、条件式には設定したアクターと、行動したキャラ、行動の対象のキャラの * パラメータを参照することができます。 * 判定はパーティーの先頭から順番に行い、条件を満たしたキャラのスキルを * 実行します。 * * * [条件式で使用できるコード] * 条件式には、以下のコードを使うことができます。 * a.param - 設定したアクターのパラメータを参照します。(a.hp で現在HPを参照) * b.param - 行動の対象キャラのパラメータを参照します。 * c.param - 行動したキャラのパラメータを参照します。 * item - 使用したスキルのデータを参照します。 * s[x] - スイッチID x の状態を参照します。 * v[x] - 変数ID x の値を参照します。 * * * 例)武器に設定し、その武器を装備したキャラが、敵を攻撃したときのみ * スキルID10を発動させる場合 * * <AIS_発動条件: 10> * a !== b && a == c * </AIS_発動条件> * * 上の条件では、a は装備したキャラ、b は攻撃する相手、 * c は攻撃したキャラを意味します。 * a !== b で装備したキャラが攻撃する相手ではない、 * a == c で装備したキャラが攻撃したキャラである * という条件を満たす場合に、スキルID 10 が発動する、となります。 * * * 使用したスキルの設定で発動条件を変えることが出来ます。 * item.stypeId * - スキルタイプのIDを参照します * 0:なし, 1~:データベースのスキルタイプ * item.hitType * - 命中タイプを参照します * 0:必中, 1:物理, 2:魔法 * item.damage.elementId * - ダメージの属性IDを参照します * -1:通常攻撃, 0:なし, 1~:データベースの属性 * item.damage.type * - ダメージタイプを参照します * 1:HPダメージ, 2:MPダメージ, 3:HP回復, * 4:MP回復, 5:HP吸収, 6:MP吸収, 0:なし * * 例)物理攻撃タイプのスキルを使用した時のみ、スキルID10を発動させる場合 * * <AIS_発動条件: 10> * a !== b && a == c * item.hitType == 1 * </AIS_発動条件> * * *----------------------------------------------------------------------------- * スキルに設定し、行動後に指定した条件式を満たした時に発動 *----------------------------------------------------------------------------- * 以下のタグをスキルのメモ欄に追記すると、設定した条件式を満たしたターンの * 終わりに、スキルを自動発動します。 * なお、同じスキルは1ターンに1回だけ発動します。 * * <AIS_発動条件> * 条件式 * </AIS_発動条件> * * または * * <AIS_INVOKE_CONDITIONS> * 条件式 * </AIS_INVOKE_CONDITIONS> * * * [条件式(eval) の値について] * 条件式(eval)は、ダメージ計算式のように、計算式を入力することで、 * 固定値以外の値を使用することができます。以下のコードを使用できます。 * a.param - 行動したキャラのパラメータを参照します。 * s[x] - スイッチID x の状態を参照します。 * v[x] - 変数ID x の値を参照します。 * * * 入力例) * キャラのTPが 50 以上になると自動発動。 * <AIS_発動条件> * a.tp >= 50 * </AIS_発動条件> * * *----------------------------------------------------------------------------- * 条件式を設定する上での注意点 *----------------------------------------------------------------------------- * スキルは、条件を満たした時に発動します。 * つまり、条件を満たしている間は常に発動するようになります。 * スキルの仕様が、何度も発動してもよいものであれば問題ありませんが * そうでない場合は、何度も発動させないように条件式を設定しましょう。 * * * [複数の条件を設定する場合] * この場合、設定したすべての条件を満たした時に発動します。 * 以下の表記はすべて同じ意味になります。 * * 1. '&&'を使用して横に並べる * <AIS_発動条件> * 条件式1 && 条件式2 && 条件式3 * </AIS_発動条件> * * 2. 縦に並べる * <AIS_発動条件> * 条件式1 * 条件式2 * 条件式3 * </AIS_発動条件> * * 3. 上記を組み合わせる * <AIS_発動条件> * 条件式1 && 条件式2 * 条件式3 * </AIS_発動条件> * * *----------------------------------------------------------------------------- * ステート解除時に発動 *----------------------------------------------------------------------------- * 以下のタグをステートのメモ欄に追記すると、ステートを解除(*1)した時点(*2)で * 指定したスキルを自動で発動(*3)させます。 * * <AIS_解除発動: x> * :x - スキルID * * (*1) ステートの解除条件に設定した内容に従います。 * (*2) ダメージで解除の場合はダメージを受けた時点で、ターン終了時なら * ターン終了時に発動します。 * (*3) スキルの範囲が「敵単体」の場合は、「敵1体ランダム」になります。 * * * また、以下のタグを追記すると、解除時に最後にダメージを与えた相手(*3)を * スキル発動のターゲットにします。 * * <AIS_リベンジターゲット> * * (*3) ダメージ解除の場合は、ダメージを与えた相手です。 * 解除後にダメージを与えた相手は、ターゲットにしません。 * * * 解除時に誰にもダメージを与えられていない場合は、スキルの範囲設定に従い * スキルを発動します。 * * *----------------------------------------------------------------------------- * 本プラグインのライセンスについて(License) *----------------------------------------------------------------------------- * 本プラグインはMITライセンスのもとで公開しています。 * This plugin is released under the MIT License. * * Copyright (c) 2017 Futokoro * http://opensource.org/licenses/mit-license.php * * * フトコロのプラグイン置き場 * https://github.com/futokoro/RPGMaker/blob/master/README.md * * *----------------------------------------------------------------------------- * 変更来歴 *----------------------------------------------------------------------------- * * v1.3.2 - 2018/09/07 : 不具合修正 * 1. FTKR_AlternatingTurnBattle.jsと組み合わせた時に、複数回行動可能なキャラが * 自動スキルを発動させた場合、その次の行動でエラーになる不具合を修正。 * 2. FTKR_AlternatingTurnBattle.jsと組み合わせた時に、ターン終了の条件で * ステート解除時発動スキルを設定した場合に、次ターンに発動する不具合を修正。 * * v1.3.1 - 2017/11/04 : ヘルプ修正 * * v1.3.0 - 2017/11/04 : 機能追加、仕様変更 * 1. 発動条件の条件式で、行動したキャラのパラメータを参照するコードを変更。 * 2. 発動条件の条件式で、使用したスキルをitemコードで参照できる機能を追加。 * * v1.2.0 - 2017/11/02 : 機能追加 * 1. 職業や装備、ステートにもスキル発動条件を設定する機能を追加。 * * v1.1.0 - 2017/06/28 : 機能追加、タグの名称変更 * 1. アクターに任意のスキルの自動発動条件を設定する機能を追加。 * 2. 発動条件タグの英字名称を変更。 * * v1.0.0 - 2017/05/03 : 初版作成 * *----------------------------------------------------------------------------- */