PlayEffectコマンド

ふと思い立ち、シナリオをちまちまと執筆していたところ、攻撃力UPなどのエフェクトを単独で実行したい場面に遭遇。
しかしPlayEffectにはなんとも微妙なエフェクトしかなく、SpecialAnimePowerコマンドでもちょうどいいのが無い。
というわけで、ちょっくら攻撃力UPや防御力DOWNなどのエフェクトを単独で実行するインクルードを作成。
なお、作成に当たって汎用戦闘アニメのルーチンを利用させてもらいました。感謝感謝。
で、以下コード。

# 書式:_PlayEffect2 対象ステータス 対象パイロットorユニットID 効果音
# ステータスには以下のものが指定可能
# 攻撃力UP 攻撃力DOWN 防御力UP 防御力DOWN 運動性UP 運動性DOWN 移動力UP 移動力DOWN 
# 気力UP 気力DOWN 脱力 劣化
_PlayEffect2:

# 相手ユニットを設定
SelectTarget Args(2)

# 表示アニメを取得
Local status
status = Args(1)

# UP or DOWN を指定するものなら、それがどちらかを取得する
Local value = "DOWN"
status = Replace(status, "DOWN", "")
If InStr(status, "UP") != 0 Then
	value = "UP"
	status = Replace(status, "UP", "")
Endif

# 効果音を取得
Local effectSound = Args(3)
#Switch status
#Case ""
#	effectSound = ""
#EndSw

# 対象ステータス画像名を取得
Local statusImg
Switch status
Case "攻撃力"
	statusImg = "String\EFFECT_AttackStrings01.bmp"
Case "防御力"
	statusImg = "String\EFFECT_ArmorStrings01.bmp"
Case "運動性"
	statusImg = "String\EFFECT_MotilityStrings01.bmp"
Case "移動力"
	statusImg = "String\EFFECT_SpeedStrings01.bmp"
Case "劣化"
	statusImg = "String\EFFECT_ArmorStrings01.bmp"
Case "脱力" "気力"
	statusImg = "String\EFFECT_MoraleStrings01.bmp"
EndSw

# 矢印画像名を取得
Local arrowImg
Switch status
Case "攻撃力"
	arrowImg = "Common\EFFECT_Arrow(Red)01.bmp"
Case "防御力" "劣化"
	arrowImg = "Common\EFFECT_Arrow(blue)01.bmp"
Case "運動性"
	arrowImg = "Common\EFFECT_Arrow(LightBlue)01.bmp"
Case "移動力"
	arrowImg = "Common\EFFECT_Arrow(Green)01.bmp"
Case "脱力" "気力"
	arrowImg = "Common\EFFECT_Arrow(Purple)01.bmp"
EndSw

# 表示文字列画像名を取得
Local stringImg stringSize
Switch status
Case "劣化"
	stringImg = "String\EFFECT_DegradationStrings01.bmp"
	stringSize = 48
Case "脱力"
	stringImg = "String\EFFECT_HypostheniaStrings01.bmp"
	stringSize = 48
EndSw

# エフェクトを実行
# 引数1 効果音
# 引数2 "攻" "防" "運" "移"の画像名
# 引数3 矢印画像名
# 引数4 UP DOWN
# 引数5 文字列画像名
# 引数6 文字列サイズ
# 引数7 ユニットID
Call 戦闘アニメ_ステータスUPDOWN effectSound statusImg arrowImg value stringImg stringSize Args(2)

ClearPicture
Refresh
Return