|  | 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
 
 |