【ウディタ解説】基本システムでパッシブスキル①「戦闘終了時に発動」【改造】

レビニアよ。今回の解説は「基本システムにパッシブスキルを実装してみよう①」なのよ。

パッシブスキルというのは、「習得していると自動で発動したり常に効果が表れる技能」のことね。

ウディタの基本システムで技能に設定できる効果は原則として、コマンド選択などによって効果が得られるもの(アクティブスキル)に限られるわ。

でも、ちょっとした改造と工夫で基本システムでもパッシブスキルを実現することは可能よ。今回はその解説なの。

第1回目の解説では、戦闘終了時に自動で発動するパッシブスキルの作り方について説明していくわ。

戦闘終了時に自動発動する技能を作成する

例として「習得していると戦闘終了時にHPとSPが全回復する技能」を作成してみるわね。女神転生シリーズペルソナシリーズでいうところの「勝利の雄たけび」ね。名前と効果もこちらか拝借するわ。


まずはユーザーDB0番「技能」でお目当てのパッシブスキルを作成するわ。といっても発動効果自体はコモンイベントを作ってそちらで処理させるから、この項目では名前や説明だけ入れて、使用不可の技能として作るだけでいいわ。
→名前:勝利の雄たけび
→使用可能シーン:使用不可


技能を用意したら次はコモンイベントを作成するわ。
→コモン作成:名前「〇P技能:戦闘終了時発動」、起動条件「呼び出しのみ」

このコモンで何をするかというと「パーティ全員の習得技能をチェックして、勝利の雄たけびを覚えていたらHPSPを全快させる」ということをするのよ。


パーティメンバーの技能習得状況をチェックするためにセルフ変数を使うから、↑のように名前をつけてね。


まずはメンバーの習得技能をチェックするためのループを作成
→■変数操作: CSelf10[主人公ID] = 0 + 0
→■変数操作: CSelf11[〇番目?] = 1 + 0
→■回数付きループ [ 可変DB(18,4,0)[現在パーティー人数 数値 ] ]回


ループ回数には「118000400」を指定するのよ。こうすれば現在のパーティ人数を格納している可変DBを変数呼び出し値で指定できるわ。


次に該当する主人公の習得している技能をチェック
→■DB読込(可変): CSelf10[主人公ID] = 可変DB[ パーティー情報 : メイン設定 : CSelf11[〇番目?] ] (6 : 0 : -)
→■イベントの挿入[名]: CSelf12[習得している?] = [“▲特殊技能の有無取得”] <コモンEv 25> / CSelf10[主人公ID] / 41:【勝利の雄たけび】


基本システムの呼び出し用コモン「▲習得技能の有無取得」を使えば、技能を習得しているかどうかのチェックが簡単に行えるわ。対象主人公には変数呼び出し値でセルフ変数10番を指定、返り値の代入先はセルフ変数12番を指定してね。


そして、技能を習得中かを条件分岐で判断し、基本システムの呼び出し用コモン「〇回復・ダメージ処理」を使ってHPSPを全回復させる。
→■条件分岐(変数): 【1】 CSelf12[習得している?] が 1 と同じ
→-◇分岐: 【1】 [ CSelf12[習得している?] が 1 と同じ ]の場合↓
→■イベントの挿入[名]: [“○回復・ダメージ処理”] <コモンEv 4> / 3:HP・SPの回復・減少 / CSelf10[主人公ID] / 999
→◇分岐終了◇


最後にループ用の変数に+1して終了。
→■変数操作: CSelf11[PTの〇番目?] += 1 + 0

※もし他にも戦闘終了時に発動させたいパッシブスキルを追加したいなら、同様に技能を作成してからこのコモンに追記すればいいわ。判定する技能と効果だけ変えればあとはコピペでOKよ。

コモンイベントの作成はこれで完了なのだけど、あとはこのコモンを戦闘終了時に呼び出して実行させる必要があるわね。どうすればいいかというと、


基本システムのコモン「○[変更可]戦闘終了後処理」から呼び出せばいいわ。このコモンは名前の通り「戦闘が終了した時に自動で実行」されるものだから、ここに入力しておけば戦闘が終了したタイミングで毎回実行してくれるわ。
→■イベントの挿入[名]: [“〇P技能:戦闘終了時発動”] <コモンEv 267>

これでパッシブスキル「勝利の雄たけび」の作成は完了よ。

戦闘終了時に自動発動する技能を試してみる

それじゃテストしてみましょう。「スキルを習得していない状態」「スキルを習得した状態」の2通りで戦闘をしたところを動画にまとめたから、こちらをご参照くださいね↓。


技能を習得した状態で、戦闘後にHPとSPが全快していれば成功よ。

※この方法だと「勝利の雄たけび」なのに戦闘から逃げても発動してしまうのだけど、まぁ名前の問題だからあまり気にしないで頂戴(元ネタのメガテンやペルソナはどうだったかしら?)。

「基本システムでパッシブスキル①:戦闘終了時に自動発動する技能」の作成解説は以上なのよ。

もちろんHPやSPを回復させるだけでなく、コモンの処理さえ変えれば他にもいろいろな効果を発動させることは可能よ。アイディアがあればこの方法を活用してみてね。