【基本システム改造】戦闘開始時の不意打ちを実装

【基本システム改造】戦闘開始時の不意打ちを実装 改造

『魄須邏(ハクスラ)』のVer1.0.4から、戦闘開始時の不意打ちを実装しました。最初の1ターンで味方が一方的に敵を攻撃したり、一方的に敵から攻撃されたりします。

改造したコモンイベント

コモンイベント188番「X◆戦闘処理」を改造しました。

今回に限らず、基本システムを改造する際は以下の3点を意識しています。

  • 改造箇所を少なくする。
  • コマンド文の行数を少なくする。
  • 予備変数や可変DBを(できるだけ)使わない。

戦闘処理の改造

コモンイベント188番「X◆戦闘処理」の「■変数操作: CSelf18[戦闘・逃走コマンド表示?] = 1 + 0 」の直後に以下のコマンド文(赤文字)を追加しました。

■条件分岐(変数): 【1】 CSelf1[逃走可能?] が 1 以外
-◇分岐: 【1】 [ CSelf1[逃走可能?] が 1 以外 ]の場合↓
|■変数操作: CSelf50[不意打ち] = 1 ~ 15
|■条件分岐(変数): 【1】 CSelf50[不意打ち] が 1 と同じ 【2】 CSelf50[不意打ち] が 2 と同じ
|-◇分岐: 【1】 [ CSelf50[不意打ち] が 1 と同じ ]の場合↓
| |▼ 敵への不意打ち
| |■文字列操作:CSelf6[不意打ちメッセージ] = “敵はこちらに気づいていない!”
| |■イベントの挿入[名]: [“◆[戦闘用]メッセージ表示”] <コモンEv 30> / 0:流れるメッセージで表示 / CSelf6[不意打ちメッセージ]
| |■変数操作: CSelf60[敵位置] = 9 + 0
| |■回数付きループ [ 7 ]回
| | |■変数操作: CSelf60[敵位置] += 1 + 0
| | |■可変DB書込:DB[ ×┏ 戦闘一時ステータス[基] : CSelf60[敵位置] : 【行動制限】 ] (10 : – : 59) = 1
| | |■
| |◇ループここまで◇◇
| |■
|-◇分岐: 【2】 [ CSelf50[不意打ち] が 2 と同じ ]の場合↓
| |▼ 味方への不意打ち
| |■文字列操作:CSelf6[不意打ちメッセージ] = “敵に背後を取られた!”
| |■イベントの挿入[名]: [“◆[戦闘用]メッセージ表示”] <コモンEv 30> / 0:流れるメッセージで表示 / CSelf6[不意打ちメッセージ]
| |■変数操作: CSelf18[戦闘・逃走コマンド表示?] = 0 + 0
| |●ラベル「逃走戻り」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■
◇分岐終了◇

【基本システム改造】戦闘開始時の不意打ちを実装

使われていないコモンセルフ変数をそれぞれ次のように使いました。

コモンセルフ変数 用途
6 不意打ち発生時に表示するメッセージを代入。
50 不意打ちが発生する確率を計算。
60 敵を行動不能にするときに使用。

逃走可能かどうかの判定

■条件分岐(変数): 【1】 CSelf1[逃走可能?] が 1 以外 」では、コモンセルフ変数1が0(逃走可能)のときだけ不意打ちが発生するようにしています。

『魄須邏』では、口笛や警報などで敵を呼び寄せたときとボス戦では逃走不可能です。これらの場合には不意打ちが発生しないように、改造部分をスキップします。

不意打ちが発生する確率を計算

■変数操作: CSelf50[不意打ち] = 1 ~ 15 」で不意打ちが発生するかどうかを計算し、コモンセルフ変数(今回は50番)に値を代入します。

15分の1の確率で、敵への不意打ち、もしくは味方への不意打ちを発生させるので、1~15のどれかを代入します。1は敵への不意打ち、2は味方への不意打ち、3~15は不意打ちが発生しません。

1~15を1~20などと変更すれば、発生する確率を調整できます。

敵への不意打ち

コモンセルフ変数50が1の場合、味方が敵を一方的に攻撃します。

具体的な処理としては、メッセージを表示した後、回数付きループを使って可変DBの値を書き換えていきます。「■可変DB書込:DB[ ×┏ 戦闘一時ステータス[基] : CSelf60[敵位置] : 【行動制限】 ] (10 : – : 59) = 1」は、最大で7体出現する敵全てに1回きりの行動制限を付与する操作です。

味方への不意打ち

コモンセルフ変数50が2の場合、味方が敵から一方的に攻撃されます。

具体的な処理としては、ラベルを利用して、逃走失敗後(味方が敵から一方的に攻撃される状態)に飛ばします。ラベル「逃走戻り」はコモンイベント188番に既に設置されています。

■変数操作: CSelf18[戦闘・逃走コマンド表示?] = 0 + 0」は、戦闘か逃走かの選択肢を表示しないための処理です。

【2024/05/01更新】『魄須邏(ハクスラ)』の最新バージョンは以下の画像をクリックするとダウンロードできます。現在のバージョンはVer1.0.27です。Ver1.0.6までのバージョンだと進行不能になるので、最新バージョンへの更新をお願いいたします。


魄須邏(ハクスラ)

当サイトのコメント欄は、名前やメールアドレスなどの入力なしに書き込めます。

バグのご報告をお待ちしています。どのような場面でどのような不具合が生じたのかを具体的に教えていただけると助かります。

その他のご意見やご感想なども自由に書き込んでください。

コメントは即座に公開されるわけではありませんのでご注意ください。

改造
みみずくをフォローする

コメント

タイトルとURLをコピーしました