仲間を呼ぶ敵やらを作るために、「戦闘不能を回復」で擬似的に実装すると、復活扱いで取得経験値・所持金に変化がありません。
HIME_EnemyReinforcements で仲間を呼ぶと、倒した分だけの取得経験値・所持金を増やすことができます。
目次
サンプルプロジェクト
使用プラグイン HIME_EnemyReinforcements
下記プラグインを使用します。
HIME_EnemyReinforcements
fungamemake.com/archives/3488
敵グループ作成
今回はオークがスライムを2匹従えるイベントを作成します。
このスライムがどちらかでも居なくなると、オークが増援を呼び、常に2匹のスライムが居る状態にしようと動く仕様にします。
敵グループを2つ作ります。
- 本体となる敵グループ(敵グループID20)
- 呼び出される敵キャラを集めた敵グループ(敵グループID19)
ここにオークが配置したのは、レイアウトのイメージをつかみやすくするためで、オークを配置する必要はありません。
呼ばれた敵は、ここに配置した場所に表示されます。
後ほどバトルイベントを編集します。
コモンイベント作成
仲間を呼ぶスキルの中身になるコモンイベントを作成します。
◆条件分岐:スクリプト:$gameTroop.isEnemyReinforcementAdded(19, 1, true); ◆ :それ以外のとき ◆プラグインコマンド:add_enemy 1 from troop 19 ◆ :分岐終了 ◆条件分岐:スクリプト:$gameTroop.isEnemyReinforcementAdded(19, 3, true); ◆ :それ以外のとき ◆プラグインコマンド:add_enemy 3 from troop 19 ◆ :分岐終了 ◆スイッチの操作:#0001 スライムが死んでいる = OFF
スキル作成
オークが使用する「仲間を呼ぶ」スキルを作成します。
ここで、上記のコモンイベントを実行します。
敵キャラの設定
行動パターンを設定します。
行動条件にスイッチを忘れずに入れてください。
条件を入れないと、スライムが居ても仲間を呼び続けてしまいます。
バトルイベントを作成
今回のケースでは、バトルイベントのページ番号は影響がありません。
1と2が入れ替わっても、問題なく動作します。
ページ1
条件:ターン0
スパン:バトル
◆コモンイベント:敵が仲間を呼ぶ ◆文章:なし, ウィンドウ, 下 :文章:オークは仲間を呼んだ!
ページ2
条件:ターン終了
スパン:ターン
◆条件分岐:スクリプト:$gameTroop.isEnemyReinforcementAdded(19, 1, true); ◆ :それ以外のとき ◆スイッチの操作:#0001 スライムが死んでいる = ON ◆ :分岐終了 ◆条件分岐:スクリプト:$gameTroop.isEnemyReinforcementAdded(19, 3, true); ◆ :それ以外のとき ◆スイッチの操作:#0001 スライムが死んでいる = ON ◆ :分岐終了
これで、仲間が欠けると仲間を呼ぶ敵(敵グループID20)が完成です。
スライム2匹両方が居なくなった時だけ仲間を呼ぶ仕様にするには、スイッチを入れる前に条件分岐で2匹とも居なくなっているのか判定すれば実現可能です。
注意点
$gameTroop.isEnemyReinforcementAdded(troopID, memberId, checkIsAlive) の checkIsAlive に false を指定した場合、常にtrueが返ってきます。
つまり、敵キャラが死んでいるかどうかの判定には使えないということです。
(プラグインの機能実装を忘れられているかと予想されます)
これにより、コモンイベントでは checkIsAlive をtrue に指定し(生きているとtrue/死んでいるとfalseが返ってきます)、falseが返ってきた場合の処理を書くという遠回りな書き方になっています。
敵グループを2つに分けずに作成しようとすると、想定通りに動作しない箇所があるようです。
ですので、2つのグループに分けています。
例:生存確認が正常に動作せずに、生きているのに死んでいる時の処理が行われる。
謝辞
本記事は下記トピックでの情報から再現、取りまとめたものです。
kitakita氏に感謝します。
コメントを投稿するにはログインしてください。