プラグイン・スクリプト

Last-modified: 2019-06-25 (火) 22:20:17

導入を検討してたり既に導入してるプラグインとスクリプトについてのページです。

プラグイン・スクリプトの導入タイミングについて

開発開始当初はプラグインなどは一切使わず、デフォルトの機能だけでゲームを組む予定だったんですが、必要なシステムを実現するために複雑なイベントを組むよりはプラグインでスマートに実現した方が開発もスムーズに出来るだろうという見方になりました。
ただ、プラグインいじりは楽しすぎるので、こればかりやってると骨組みの完成が遠のいていき…というのは本当によくある話であり、最初使わない方針だったのはそれが理由です。なので、ほどほどにしましょう…。

しかし、骨組み(メインルート)が完成してとりあえず遊べるようになったら、もう自由に拡張していっても既に「完成」を経過しているので全然問題ないはず…なので、その時に向けてここに導入予定のプラグインをまとめておこう、という話です。

使用中のプラグインとスクリプト

2018/11/27版
WS000073.JPG

プラグインのファイル内に詳しい使用方法や設定方法が記述されています。
このプラグインでどんな事が、設定が出来るのかと言う事は
直接プラグインをダウンロードして各自で確認をお願いします。

製作者様:やな(@yanatsuki_)様

配布元:https://www6.atwiki.jp/pokotan/pages/3.html

パッシブスキル(PassiveSkill.js)

パッシブスキル用プラグイン。
スキルのメモ欄に<パッシブスキル:○○>
と記述すると、パッシブスキルとして効果が適応される。
後述するスキル発動条件プラグインと併用して
『HPが50%以下の時に発動するパッシブスキル』などと言う事も可能。

条件付き〇〇ベース(ConditionallyCore.js)

スキル使用条件(TermsOfSkillUse.js)

上はスキルやアイテムなどに発動条件を追加する前提プラグイン、
下がスキルの発動条件を設定出来る様にするプラグイン。
このプラグインの使用により
『パーティ内に特定のキャラがいないと発動出来ない技』
『パーティの人数が4人いないと発動出来ない技』
『パーティの生存人数が2人以上でないと発動出来ない技』
など、デフォルトでは設定出来ないスキルの発動条件を細かく設定出来る。

クリティカル修正(CriticalCorrection.js)

アイテムやスキルに個別のクリティカル率を設定出来るプラグイン。
これにより、クリティカルの有無をデフォルトで設定出来ていたが
技やアイテムに設定出来なかったクリティカル率を設定出来る。

〇〇の知識(BattleKnowledge.js)

物理攻撃や魔法攻撃、クリティカルダメージなどに修正を与える特徴を設定できるようにします。

一時ステート特徴(TemporaryStateTrait.js)

行動時にアクター・エネミーに一時的なステート付与ができます。一時的に強化されて攻撃、一時的に弱体化して攻撃、といったスキルが作成可能になります。
類似したものにトリアコンタンさんのスキルの副作用でも実現できますね。こちらは行動前の副作用でステート付与、行動後の副作用でステート解除と、登録項目が増えることになりますが、 ステート付与以外の副作用を与えることもできます。

範囲変更特徴(ScopeChangeTrait.js)

特定のスキルの効果範囲を変更する特徴を追加する。「単体攻撃のファイアを敵全体化するアクセサリー」のようなものが作成可能になる。
「効果範囲拡張プラグイン」と間違えて導入したのがそのままになっている。

発動前コモン(BeforeCommon.js)

スキルやアイテムの発動前に、スキルやアイテムに設定されたコモンイベントを発生させます。

ステート付与解除時コモン特徴(StateAddRemoveCommonEvent.js)

ステートが付与や解除されたときにコモンイベントを予約する特徴を追加します。

製作者様:トリアコンタン様

配布元https://triacontane.blogspot.com/

身代わり拡張プラグイン(SubstituteExtend.js)

身代わり拡張プラグイン。デフォルトでは詳細に設定出来ない
身代わりに関しての設定をいじる事が出来るぞ。

効果範囲拡張プラグイン(ScopeExtend.js)

スキルの効果範囲を、元々のスキルの範囲に加えて他のバトラーも含めることができるようになるプラグイン。敵味方全体攻撃、他全などが作成できる。

Additional Description(AdditionalDescription.js)

アイテムやスキルの説明を増やし、ボタンで切り替えられるようにするプラグイン。上記の配布元サイトでない場所での配布。

必中のステート付与への影響防止プラグイン(CertainHitWithoutState.js) →画像の一覧にまだないが導入決定

必中でのステート付与による耐性無視の影響を防止するプラグイン。上記の配布元サイトでない場所での配布。

製作者様:tomoaky様(ひきも記は閉鎖しました。)

配布元:https://hikimoki.sakura.ne.jp/

スキルコスト拡張(TMSkillCostEx.js)

HP消費スキル全般に役立つプラグイン。和製かつ影響範囲がそれなりに狭いと思われる。コスト周りに手を加えるプラグインは他にもあるので干渉に注意。

装備スロット拡張(TMEquipSlotEx.js)

装備 スロット スロット 称号 といった同名の装備枠を実装可能になります。

製作者様:Yanfly様(Yanfly Engine Plugins)

配布元:http://yanfly.moe/
※Yanfly様の大型プラグインは影響範囲が広いので導入には注意が必要。こまごまとした便利プラグインなら影響は極小で済む。

YEP.15 – Base Troop Events(YEP_BaseTroopEvents.js)

指定した番号の敵グループに設定されているバトルイベントを、他の敵グループ全てに自動でコピーするプラグイン。
変更したバトルイベントをいちいちすべての敵グループに手動コピペする必要がなくなり、バトルイベントの管理を1か所で全て行える。

製作者様:いずみ様

パーティ編成(アクター預り所)プラグイン(WD_PartyChange.js) / WD_PartyChange_Layout2.js

パーティ編成・入れ替えシステムを導入するプラグインと、その画面レイアウトの設定用プラグイン。
設定方法はこちら→ https://www.5ing-myway.com/rpgmaker-plugin-wd_partychange/

制作者様:Tyler Wright様

装備制限(TDW_EquipActorRestriction.js)

メモ欄で指定したIDのアクターのみが装備できる装備を実装します。

製作者様:奏ねこま様

食いしばりステート作成(KuishibariState.js)

配布元https://tm.lucky-duet.com/viewtopic.php?t=1568
その名の通り食いしばり(ガッツ)ステートを追加するプラグイン。
ステートのメモ欄に記述を追加する事で食いしばりステート作成可能。

製作者様:シトラス様

アイテム交換ショップ(特定のアイテムと交換を行うショップ.js)

メダルなどの特定のアイテムを通貨代わりに使用するショップを作れるようにするプラグイン。

製作者様:神無月サスケ様

Refine Battle Action Forcing(RefineBattleActionForcing.js)

「戦闘行動の強制」の際、残りの行動をリセットしないようにするプラグイン。
ダウンロードの際、ツクールフォーラムへの登録が必要。

製作者様:剣崎宗二様

Link Action Skills(LinkActionSkills.js)

スキルやステートの連鎖を可能にするプラグイン。疑似的に複数の効果を持ったスキルを作成できる。

製作者様:ヱビ様

AB_EnemyBook(AB_EnemyBook.js)

戦闘中に開けるエネミー図鑑を作成できるようにします。

製作者様:フトコロ様

配布元https://github.com/futokoro/RPGMaker

FTKR_CustomSimpleActorStatus(FTKR_CustomSimpleActorStatus.js)

FTKR_CSS_BattleStatus(FTKR_CSS_BattleStatus.js)

上がアクターのステータス表示を変更する基本プラグイン、下がアクターのバトル画面のステータス表示を変更する拡張プラグインです。

プラグイン導入提案

  • キャラクターシートに記載されているスキル等のうち、デフォルトでは完全再現できないがプラグインの導入で再現できそうなものについて、この項目で提案いたします。(筆:さらすぴG)
  • 影響範囲が広く干渉を招きやすい大型コアプラグイン(Yanfly Battle Engine Core等)はできるだけ記載を避けるようにしています。
  • バトルイベントで再現できるものは代替案も記述します。

共通

コストの割合消費
 「MP〇%消費」みたいなコストを設定する場合は消費MPを現在の最大MPの比率で変動させる(ConsumeMpByRatio.js)プラグインが有用です。
与ダメージ依存の回復(吸収)
 例えばHPダメージ依存のMP吸収、という効果を実装するには吸収拡張プラグイン(DrainExtend.js) が必要になると思います。
 また、デフォルトにもHPダメージ依存HP回復スキルは出来ますが。100%回復になっています。吸収拡張プラグインで、ダメージの○%を回復。みたいなスキルが作れます。

PC/アイリス

クリックで展開
オウス・サイン
 身代わり拡張プラグインで対応済み。
カットオフ
 敵の攻撃を確率で軽減する(parry.js)が有効ですね。

PC/あっきょん

クリックで展開
ガリオンギガバズーカ
 アクションの実行回数などを制限(RTK_ActionLimit.js)でスキルの一戦闘あたりの使用回数を制限できます。
バルバロイ・スタック
 単体に3~7回攻撃、を実装するには色々な方法がありますが動的データベース構築プラグインを使うのが汎用的だと思います。
 <DD連続回数:Math.floor(Math.random()*4)+3;> で3~7回のランダム連続攻撃になると思います。

PC/エッシェ

クリックで展開
深緑の加護
 バトルイベントで「戦闘開始時」「ターン開始時」に、エッシェさんが戦闘に参加かつ生存していることを条件に、1ターンだけ続く防御アップのステートを付与することでも疑似的に再現可能です。
 YEP_AutoPassiveStates.jsYEP_X_PassiveAuras.jsを導入することで、「アクター自身にかかり続けるステート」と「かかっていると味方全体に別のステートをかけ続けるステート」が作成できます。これで防御アップステートを味方全体に付与する方法もあります。
妄信的庇護欲
1.エッシェさんを「戦闘開始時」「ターン開始時」に不死身(戦闘不能無効ステート)にしておく。
2.エッシェさんのHPが0%になったら「戦闘行動の強制」で全体回復魔法を使わせ、不死身を解除し、戦闘不能を付与する。
というバトルイベントを組むことで再現できると思います。
 ただし1ターン中に何度も戦闘不能になった場合は対応できないので、対応したい場合はステート付与解除時コモン特徴を使うことになると思います。戦闘不能になったら行動強制&不死身解除&戦闘不能付与コモンを予約、戦闘不能が解除されたら不死身付与コモンを予約。

PC/エルタ

クリックで展開
マナドレイン
 HPダメージ依存のMP吸収、という効果を実装するには吸収拡張プラグイン(DrainExtend.js) が必要になると思います。
青犬の聖域
 「アクターに戦闘不能ステートが付与されたときに反応してエルタさんが特定行動を行う」または「エルタさんが生存している限り、アクター全員に確率自動蘇生ステートを付与し続ける」といった処理が必要です。
 バトルイベントで再現可能だと思いますが、結構複雑な処理が必要かも。

PC/カエデ

クリックで展開
食欲旺盛
 「食べ物系アイテムの回復効果を増やす」だけなら、「属性:食べ物」を持つ回復アイテムを作成し、カエデさんの「食べ物属性」の有効度を高く設定することで実装は可能だと思います。
 「良性・悪性効果を無くす」場合、使用者がカエデさんであることを判定する機能が必要になりますね。効果の条件適用プラグイン(EffectConditions.js)HIME_EffectConditions.jsによって「使用効果」に条件式を付与できますので、これで判定ができると思います。

PC/きらりこ

クリックで展開
素数関連
 戦闘ターンは $gameTroop.turnCount() というグローバル変数に格納されているのでこれが利用できます。
 素数であるかどうかの判定は専用の処理が必要になると思います。2で割り切れない数かどうかを条件分岐を駆使してチェックするか、素数リストを用意してそれと一致するかどうか…等。
 また、素数ターンであるかどうかを表示する場合、ウィンドウをいじらず、素数ターンにだけきらりこさんにステートを付与する等の方法で表示することもできると思います。

PC/孝明

クリックで展開
生長
 反撃拡張プラグイン(CounterExtend.js)で最大HPを上昇させるスキルを反撃として使わせることになると思います。
 「一時的な最大HPの上昇」はステート付与で実装できると思います。条件付き○○ベース条件付きスキル&アイテム変化で、「最大HP上昇A」にかかっているなら「最大HP上昇B」を付与するスキルに変化、「最大HP上昇B」にかかっているなら「最大HP上昇C」を付与するスキルに変化……という実装ができると思います。
 「半減を繰り返して0%上昇になった場合そこで止まるのか、小数点以下も考えるのか」「戦闘不能でリセットされるかの可否」も決めたほうがいいかなと。
 もしバトルイベントで「上昇量回数半減」を実装するには専用の変数が1つ必要になるんじゃないかなと思います。ステートを使わない場合は戦闘前の最大HPを記録しておく変数も必要になります。
ウィリデ・レコンキスタ
 デフォルトでは難しいのでバトルイベントが必要になるかと思います。
 「攻撃と同じ回数だけ回復」というのは回数を設定しておく変数が必要になりますね。 スキル使用→コモンイベント呼び出し→乱数で回数を設定→[戦闘行動の強制(攻撃スキル)→戦闘行動の強制(回復スキル)]×変数で繰り返し みたいな処理になるんじゃないかと。
 「HPの少ない味方を対象」というのはターゲット周りを大幅に改変するプラグインが必要になるかもしれません…。

PC/リガ

クリックで展開
"魔法"使い / 言の葉の記憶
 少し難しいので独自のイベント処理が必要になると思います。
 各スキルの使用効果からコモンイベントを予約、これらのスキルを習得しているかどうかをチェックして、覚えていたら回復、という処理を組む必要があるかな。
 「5%の確率で連続行動」という部分は、行動後に連続行動というのがどのような挙動なのかを明確にしたほうがいいかもしれません。「次の行動が連続行動になる」のか「同じ行動を続けてもう1回行う」のか。
 

PC/レイネ

クリックで展開
ヴォイス・オブ・ヴァウス
 発生源がレイネさん、対象がアイリスさん、という条件があるので「戦闘開始時」「ターン開始時」にバトルイベントで丁寧に条件分岐させて実装するほうがいいかもしれません。レイネさんが戦闘不能になったときに解除、戦闘不能が解除されたときに付与、という実装をするにはステート付与解除時コモン特徴が必要になると思います。
 プラグインでそういった機能を持つステートを実装する場合はYEP_X_PassiveAuras.jsのようなものが必要になると思いますが、Javascriptの記述も必要になると思う…。

PC/ヨーコ

クリックで展開
影の抱擁
 ステートの数ではなく「戦闘開始時の状態からどれだけ能力値が下がっているか」で再生率を割合上昇させるような方式をとるアプローチも考えられます。
動的データベース構築プラグインなどを用いて、動的にリアルタイムで能力値を変化できるようにする
・戦闘開始時にアクターの能力値を変数に取得
・変数とリアルゲーム情報を比較して、下がり幅に応じてアクターのMP再生率を動的に変化
・動的データベース等を使わないのであれば、下がり幅をバトルイベント等で判定してMP再生率をアップさせるステートを切り替える方式もありますが、結構な数のステートが必要になるかなと。
・いずれにせよMP再生率の上り幅の実質的な上限をいくつにするか考えることになるかなと。

プラグイン導入提案2

下記二つを組み合わせることで、ダメージ計算式と各スキルの係数の管理を楽にすることが出来ると思われます。
技の数が50人*10スキル+装備、称号で50人*4、敵用(敵で参加予定キャラクターの物を含む)200で合計900の試算が出ています。
詳しくはスキルに計算式の導入が難しい話を参照ください。

ダメージ計算式短縮プラグイン
https://tm.lucky-duet.com/viewtopic.php?t=3005
係数の概念でしたら D値プラグイン を組み合わせたらいけるのかな…?
https://www6.atwiki.jp/pokotan/pages/3.html

「DefaultDFormula」を0にしとかないと入力したD値と干渉する

コアスクリプトいじる

被ダメージでの獲得TP量を調節するなど。
https://ch.nicovideo.jp/terunon/blomaga/ar973025

コメント