Scenario Technique

EN以外も消費するバリア

通常、バリアで消費させる事が出来るのはENだけです。
ここではバリアが発動した際、同時にプラーナを消費するように出来る方法を紹介します。
また、これを基にバリアに使用回数制限を付けることも可能です(こちらは割愛いたします)。

なお、これを使用するためには、バリアがENを消費することが前提条件となります。

  1. 攻撃イベントを使用し、戦闘前のEN値を取得する
    攻撃 ○○ 全:
    攻撃前EN = EN()
    Exit

  2. 攻撃後イベントでプラーナを減らす
    攻撃後 ○○ 全:
    # ENが減少している場合処理を行なう
    If EN() < 攻撃前EN Then
     # EN減少値が使った武器のEN消費量より大きい場合処理を行なう
     If (攻撃前EN - EN()) > Info(対象ユニットID,武器,対象ユニット使用武器,消費EN) Then
      # ここでは例としてプラーナを10減らす
      Plana() = Plana() - 10
     Endif
    Endif
    Exit

    ※つまり、ENの消費量が武器のEN消費量より大きい場合、バリアが発動したと判定しています。

  3. 攻撃後イベントは破壊時には発生しないため、破壊イベントも記述する
    破壊 全:
    If 相手ユニット = ○○ Then
     # ENが減少している場合処理を行なう
     If EN() < 攻撃前EN Then
      # EN減少値が使った武器のEN消費量より大きい場合処理を行なう
      If (攻撃前EN - EN(相手ユニットID)) > Info(相手ユニットID,武器,対象ユニット使用武器,消費EN) Then
       # ここでは例としてプラーナを10減らす
       Plana(相手ユニット) = Plana(相手ユニット) - 10
      Endif
     Endif
    Endif
    Exit

これで、バリアが発動するとプラーナが減少するようになります。
ただし、これではプラーナが例えゼロでもバリアは発動します。
それを回避する場合は、1の攻撃イベントを次のように書き換えます。

攻撃 ○○ 全:
バリア封印 = 0
# ここでは例としてプラーナが10未満の時はバリアが発動しないようにする
If Plana() < 10 Then
 Disable Unit() バリア
 バリア封印 = 1
Else
 攻撃前EN = EN()
Endif
Exit

さらに、2の攻撃後イベントと3の破壊イベントを次のように書き換えます。

攻撃後 ○○ 全:
# ENが減少している場合処理を行なう
If バリア封印 <> 1 Then
 If EN() < 攻撃前EN Then
  # EN減少値が使った武器のEN消費量より大きい場合処理を行なう
  If (攻撃前EN - EN()) > Info(対象ユニットID,武器,対象ユニット使用武器,消費EN) Then
   # ここでは例としてプラーナを10減らす
   Plana() = Plana() - 10
  Endif
 Endif
Else
 Enable Unit(相手ユニット) バリア
Endif
Exit

破壊 全:
If バリア封印 <> 1 Then
 If 相手ユニット = ○○ Then
  # ENが減少している場合処理を行なう
  If EN() < 攻撃前EN Then
   # EN減少値が使った武器のEN消費量より大きい場合処理を行なう
   If (攻撃前EN - EN(相手ユニットID)) > Info(相手ユニットID,武器,対象ユニット使用武器,消費EN) Then
    # ここでは例としてプラーナを10減らす
    Plana(相手ユニット) = Plana(相手ユニット) - 10
   Endif
  Endif
 Endif
Else
 Enable Unit(相手ユニット) バリア
Endif
Exit

サイトホームへ