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