【解決済み】敵のステートによって条件分岐

返信する
まいん
記事: 7
登録日時: 2021年8月16日(月) 16:12

【解決済み】敵のステートによって条件分岐

投稿記事 by まいん »

敵があるステートにあるときのみ、味方のスキルで敵にダメージを負わせたいです。
そのために条件分岐のスクリプトとして、スキルの使用対象と対象がそのステートにあるかを得たいです。
どなたか教えてくださいm(_ _)m
最後に編集したユーザー まいん [ 2021年8月31日(火) 13:37 ], 累計 1 回
名無し蛙
記事: 352
登録日時: 2015年11月23日(月) 02:46

Re: 敵のステートによって条件分岐

投稿記事 by 名無し蛙 »

スキルに使用効果「コモンイベント」を割り当てそのイベント内でダメージ処理をしたい、という事ですか?
スキルの使用対象取得は少し面倒なので三項演算子を使ってダメージ計算式を弄った方が簡単そうに見えますね

・三項演算子
(条件式) ? 真 : 偽

・指定のステートが付与されているか?
battler.isStateAffected(ステートID)

例えば対象にステート10番が掛かっている時に100ダメージ、それ以外の時は0を与えたい場合は

コード: 全て選択

b.isStateAffected(10) ? 100 : 0
で条件分岐します
まいん
記事: 7
登録日時: 2021年8月16日(月) 16:12

Re: 敵のステートによって条件分岐

投稿記事 by まいん »

なるほど!三項演算子は寡聞にして初耳でしたので、とても助かります。
スキルの使用対象取得はとても難しいのですね。調べても全然出てきません。
スキルの使用対象取得の方も理解したいのですが、もしよかったらご教授いただけませんか?
宜しくお願いしますm(_ _)m
名無し蛙
記事: 352
登録日時: 2015年11月23日(月) 02:46

Re: 敵のステートによって条件分岐

投稿記事 by 名無し蛙 »

参考程度ですが

コード: 全て選択

const index = BattleManager._subject._lastTargetIndex;
const enemy = $gameTroop.members()[index];
if ( enemy.isStateAffected(10) ) {}
とかですかね。
これは「戦闘行動の強制」の「対象:ラストターゲット」に使用する為の変数から
無理矢理参照してますけどあまりお勧めはしませんね。
本来想定された使用方法ではないので
何らかの例外的な実行環境で動作不良を起こしても不思議ではないです。
まいん
記事: 7
登録日時: 2021年8月16日(月) 16:12

Re: 敵のステートによって条件分岐

投稿記事 by まいん »

なるほど!よく理解できました。三項演算子の方を利用してみようと思います。
有益な情報、大変ありがとうございましたm(_ _)m
返信する

“MV:質問”に戻る