ツクールAceにおいて敵のAIをもう少し細かく設定するスクリプトです。
結構前に作って、テストゲームなどに使っていたものです。
解毒や回復などターゲットを指定できるようにしました。
それから2つ以上の条件を設定できるようにしました。
(AかつBが成り立つとき行動を行うといった感じです。)
・テストゲーム
ダウンロード(1.83MB)
・スクリプト
DataManager
Game_Enemy
RPG::Enemy::Action
Game_Action
上のスクリプトの内,DataManager以外をまとめたもの
composed_enemy_ai_scripts
・導入方法
上のスクリプトたちを導入した後、本体のDataManager内のself.initのcreate_game_objectsの下にload_normal_databasetako3eeedqaを挿入してください。
例
・使い方
新しく付け加えたDataManager内の
load_normal_databasetako3eeedqaにおいて
$data_enemies[eid].actions[act_id].plus_condition_list = [[act_type, param1, param2]]
で敵の行動パターンを指定します。
[
act_type, param1, param2]は条件と設定で、 [[act_type, param1, param2]]の配列内のすべての条件を満たすとき実行可能になります。
eidは行動パターンを設定する敵のIDです。
act_idは敵の行動パターンのリストのidです。0から始まることに注意してください。
act_type で敵の行動条件を指定します。(act_typeは8以下の自然数で指定)
1~6はデータベースで行動パターンを指定するときと同じ順で
ターン数、HP、 MP、ステート、パーティレベル、スイッチとなります。
7~8は新たに付け加えた行動パターンです。
詳細:
1:ターン数が
param1 +
param2 * Xの時。
2: HPの値が
param1%以上
param2%以下の時。
3: MPの値が
param1%以上
param2%以下の時。
4: ID
param1のステートである時。
5:パーティレベルが
param1以上の時。
6: ID
param1のスイッチがONである時。
7: 味方にID
param1のステートのキャラクターがいる時。
8:味方にHPが
param1%以下になったキャラクターがいる時。(味方へのスキル用です、ターゲットは味方になります)
param2が0の場合は条件を満たす味方からランダムに選択。
param2が1の場合はHPが最小の味方を選択。
9:味方にID
param1のステートのキャラクターがいる時。(味方へのスキル用です、ターゲットは味方になります)
param2が0の場合は条件を満たす味方からランダムに選択。
param2が1の場合はステートのターンカウント(解除されるまでのターン数)が最大のキャラを選択。
param2が2の場合はステートのターンカウント(解除されるまでのターン数)が最小のキャラを選択。
例:
$data_enemies[31].actions[1].plus_condition_list = [[8,80,1]]
で、ID:31の敵キャラのID:1の行動(ここではヒール)を行う条件は
味方にHPが80%以下になったキャラがいるときで、
もっともHPが低いキャラをターゲットにします。
もっといろいろ出来そうなので多分いずれ更新します。