| また御刀です。
たびたびで申し訳ございません…。 あとから気がつきました。
先日アドバイスをいただいた方法でつくったインクルのことなのですが、 対象ユニットの攻撃がかわされても命中時と同じイベントが 発生してしまうのです。相手側も同様でした。
SetMessageを連続で書いているのがいけないのでしょうか?
攻撃 全 全: 先攻攻撃が命中 = 0 後攻攻撃が命中 = 0 SetMessage 対象ユニット 攻撃(命中) "$(Call(先攻攻撃命中))" SetMessage 相手ユニット 攻撃(命中) "$(Call(後攻攻撃命中))" Exit
先攻攻撃命中: 先攻攻撃が命中 = 1 Return
後攻攻撃命中: 後攻攻撃が命中 = 1 Return
攻撃後 全 全: Local 冷却 発熱1 発熱2 Set 相手増加熱量 0 Set 自分増加熱量 0 相手 = 相手ユニット If 先攻攻撃が命中 = 1 Then If 熱量[相手ユニット] > Call(耐熱温度取得, 相手パイロット) Then 冷却 = Call(緊急冷却性能計算, 相手パイロット) Else 冷却 = Call(冷却性能計算, 相手パイロット) EndIf 発熱1 = (Info(ユニット, Unit(対象パイロット), 武器, 対象ユニット使用武器, 属性レベル, 熱) * 10) 相手増加熱量 = Int(発熱1 * (1 - 冷却 / 15000))
熱量[相手ユニット] = 熱量[相手ユニット] + 相手増加熱量 EndIf If 後攻攻撃が命中 = 1 Then If 熱量[対象ユニット] > Call(耐熱温度取得, 対象パイロット) Then 冷却 = Call(緊急冷却性能計算, 対象パイロット) Else 冷却 = Call(冷却性能計算, 対象パイロット) EndIf 発熱2 = (Info(ユニット, Unit(相手パイロット), 武器, 相手ユニット使用武器, 属性レベル, 熱) * 10) 自分増加熱量 = Int(発熱2 * (1 - 冷却 / 15000))
熱量[対象ユニット] = 熱量[対象ユニット] + 自分増加熱量 EndIf UnSet 先攻攻撃が命中 UnSet 後攻攻撃が命中 Exit
|