| MAP攻撃を被弾した空中にいるユニットだけを地上に降ろすというインクルを組んでいるのですが、うまく動作しません。
目標は、M投L2属性のマップ攻撃が命中してHPが低下した敵だけを地上に降ろす動作です。
以下のように組んでみたのですが、テストプレイしてみたところ被弾した敵の一部にしか地上に降りるイベントが実行されませんでした。また、この状況には再現性があり、乱数系列非保存の状態でも特定の位置にいるユニットだけが地上に降りるようになってしまいます。
よろしければアドバイスをお願いします。
使用 パイロット名 グラビティフォール: GF対象ユニット数 = 0 ForEach 全 出撃 If Abs(X(対象ユニットID) - X(目標地点)) + Abs(Y(対象ユニットID) - Y(目標地点)) < 3 Then GF対象ユニット数 = GF対象ユニット数 + 1 GF対象ユニット一覧[GF対象ユニット数] = 対象ユニットID GF使用前HP[GF対象ユニット数] = HP(対象ユニットID) EndIf Next Exit
使用後 パイロット名 グラビティフォール: For i = 1 to GF対象ユニット数 If HP(GF対象ユニット一覧[i]) < GF使用前HP[i] Then If Area(GF対象ユニット一覧[i]) = 空中 Then Set 墜落する地形 Info(マップ, X(GF対象ユニット一覧[i]), Y(GF対象ユニット一覧[i]), 地形クラス) Switch 墜落する地形 Case 陸 屋内 ChangeArea GF対象ユニット一覧[i] 地上 Case 水 ChangeArea GF対象ユニット一覧[i] 水中 Case Else EndSw PlayEffect 地面衝撃 GF対象ユニット一覧[i] EndIf EndIf Next Exit
|