敵のステート判別について

kikicoco3909
記事: 2
登録日時: 2021年4月05日(月) 11:26

敵のステート判別について

投稿記事by kikicoco3909 » 2021年4月05日(月) 11:58

こんにちは,古典的な質問かもしれませんが何卒宜しくお願い致します

やりたいこと↓
if 目標敵に毒ステートあり
スキル発動
else
失敗モーション

自分で調べてやった設定はスキルからコモンイベントへアクセスして
そのコモンイベントの内容は↓
if: Script: $gameTroop.members()[BattleManager._subject._lastTargetIndex]._states.indexOf(38) != -1
スキル発動
else
失敗モーション

現在の問題↓
敵A毒あり 敵B毒なし
味方行動順α>β
味方αが先に敵Bを攻撃した場合,味方βがこのスキルを敵Aに向けて使用すると失敗

恐らくlastTargetIndexは敵Bを指していただと思いますが
currentTargetIndexのような変数はありますか?

VisuMZのプラグインを使用しております
初級のパイソン知識しか知らない人なので,お手柔らかにお願いします

アバター
WTR
記事: 558
登録日時: 2015年12月22日(火) 19:14

Re: 敵のステート判別について

投稿記事by WTR » 2021年4月05日(月) 12:51

インデックスではなくターゲットのGame_Enemy または Game_Actor オブジェクトですが

コード: 全て選択

BattleManager._targets

で取れると思います。
ターゲットは複数になる可能性があるので配列になってますね。
ステートにかかっているかどうかは isStateAffected() というメソッドがあるようです。

ターゲットのうち1体でも該当すれば true でいいのかわかりませんが

コード: 全て選択

BattleManager._targets.some(target => target.isStateAffected(4))

こんな感じでどうでしょうか。(毒はID 4として
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
kikicoco3909
記事: 2
登録日時: 2021年4月05日(月) 11:26

Re: 敵のステート判別について

投稿記事by kikicoco3909 » 2021年4月05日(月) 13:04

WTR さんが書きました:インデックスではなくターゲットのGame_Enemy または Game_Actor オブジェクトですが

コード: 全て選択

BattleManager._targets

で取れると思います。
ターゲットは複数になる可能性があるので配列になってますね。
ステートにかかっているかどうかは isStateAffected() というメソッドがあるようです。

ターゲットのうち1体でも該当すれば true でいいのかわかりませんが

コード: 全て選択

BattleManager._targets.some(target => target.isStateAffected(4))

こんな感じでどうでしょうか。(毒はID 4として


ありがとうございます,できました

“MZ:質問” へ戻る