Scenario Technique

召喚ユニットを区別するには

普通に配置したユニットと召喚されたユニット。どちらも同じユニット・パイロットである場合、普通に配置したユニットはIDをつけることで区別が可能ですが、召喚されたユニットのみを識別するにはちょっとした手順を用意する必要があります。
ここでは、召喚ユニットだけに思考モードを設定する方法と召喚ユニットが破壊された時にのみイベントを発生させる方法を紹介します。


T:召喚ユニットにのみ特定の思考モードを設定する方法

  1. まず、普通に配置するユニットを配置するときにIDを付けておきます。

    例:

    Create 敵 Unit Rank Pilot Level X Y 敵1

    #ここでは"敵1"がIDになります。IDは任意の文字列を設定できます。

  2. ターンイベント等でChangeMode コマンドを用いて思考モードを設定する

    例:

    ChangeMode 敵 待機
    ChangeMode ID 通常

    このようにすると、IDをつけたユニットのみが通常思考で行動し、IDをつけていない、つまり召喚によって出現したユニットは待機します。


U:召喚ユニットが破壊された時にのみ発生するイベントを設定する方法

  1. まず、初期配置の敵を配置した時に、次のイベントを実行させます。

    Enemy_count = 0
    ForEach 敵
      Incr Enemy_count
      敵ID[Enemy_count] = 対象ユニットID
    Next

  2. 次に、破壊イベントを次のように記述します。

    記述例

    破壊 敵:
    For i = 1 To Enemy_count
      If 敵ID[i] = 対象ユニットID Exit
    Next
    (以下略)
    Exit

    これで、初期配置の敵が破壊された時には何も起こらず、召喚ユニットが破壊された時にのみイベントが発生するようになります。

  3. なお、敵増援が出る場合、さらにこのときに召喚ユニットが既にいる場合は、次の手順を用いることになります。

    まず、データにダミーアイテムを用意しておきます。

    アイテム例

    ダミーアイテム
    ダミーアイテム, 汎用, 固定
    特殊能力
    非表示
    0, 0, 0, 0, 0

    ユニットを配置する際に、同時にダミーアイテムを装備させておきます。

    記述例
    Create 敵 〜
    Equip ダミーアイテム

    この上で、
    破壊 敵:
    If IsEquiped(対象ユニットID, ダミーアイテム) = 1 Then
    (中略)
    Endif
    Exit

    というイベントを設定すれば同様の処理が実行できます。

  4. あるいは、召喚ユニットのパイロットを名称だけ変えた別のパイロットデータを用いることで上記のような処理を必要とせずに区別することは可能です。


※今回は、極力データを操作することなしに実現する方法を優先的に紹介しました。データを用意するほうが非常に楽であることはいうまでもありませんが。

サイトホームへ