通常、バリアで消費させる事が出来るのはENだけです。
ここではバリアが発動した際、同時にプラーナを消費するように出来る方法を紹介します。
また、これを基にバリアに使用回数制限を付けることも可能です(こちらは割愛いたします)。
なお、これを使用するためには、バリアがENを消費することが前提条件となります。
- 攻撃イベントを使用し、戦闘前のEN値を取得する
攻撃 ○○ 全:
攻撃前EN = EN()
Exit
- 攻撃後イベントでプラーナを減らす
攻撃後 ○○ 全:
# ENが減少している場合処理を行なう
If EN() < 攻撃前EN Then
# EN減少値が使った武器のEN消費量より大きい場合処理を行なう
If (攻撃前EN - EN()) > Info(対象ユニットID,武器,対象ユニット使用武器,消費EN) Then
# ここでは例としてプラーナを10減らす
Plana() = Plana() - 10
Endif
Endif
Exit
※つまり、ENの消費量が武器のEN消費量より大きい場合、バリアが発動したと判定しています。
- 攻撃後イベントは破壊時には発生しないため、破壊イベントも記述する
破壊 全:
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