#//////////////////////////////////////////////////////////////// # ○RGSS2複数戦闘アニメ指定 #1つのスキルに複数戦闘アニメを表示させます #作成者: riru #サイト: ガラス細工の夢幻 # URL: http://garasuzaikunomugen.web.fc2.com/index.html #readmeやスタッフロールの明記,使用報告は任意. # #<使い方> #スキルのメモ欄に<アニメ複数 (アニメID):(次のアニメまでのウェイト数)>を #記入してください。アニメIDを-1にすると通常攻撃と同じアニメーションになります #(例:<アニメ複数 3:10> アニメーションID3のアニメを間に再生し、次のアニメの間に10ウェイトはさむ) #上から順番に再生され、最後にデフォルトで設定した戦闘アニメが表示されます #なお、ダメージ表示は一番最後の戦闘アニメ時になります # #スキル実行の部分を再定義しているので、戦闘レイアウト系のスクリプトなどを入れていると競合する恐れがあります。 #//////////////////////////////////////////////////////////////// #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 途中で挿入するアニメの取得 #-------------------------------------------------------------------------- def get_skill_anime(skill) @plural_anime = [] @plural_anime_weit = [] #メモ欄より再生アニメを取得 <アニメ複数 ID:ウエイト> skill.note.split(/[\r\n]+/).each{|line| case line when /<(?:アニメ複数)[ ]+([\+\-]?\d+):([\+\-]?\d+)?>/ @plural_anime.push($1.to_i)#アニメIDを挿入 @plural_anime_weit.push($2.to_i) end } end #-------------------------------------------------------------------------- # ● 戦闘行動の実行 : スキル(再定義) #-------------------------------------------------------------------------- alias execute_action_skill_plural_anime_riru execute_action_skill def execute_action_skill skill = @active_battler.action.skill get_skill_anime(skill) targets = @active_battler.action.make_targets text = @active_battler.name + skill.message1 @message_window.add_instant_text(text) if @plural_anime.size > 0 for i in 0...@plural_anime.size next if @plural_anime[i] == nil display_animation(targets, @plural_anime[i])#anime再生 wait(@plural_anime_weit[i])#アニメ間のウェイト end end display_animation(targets, skill.animation_id) @active_battler.mp -= @active_battler.calc_mp_cost(skill) $game_temp.common_event_id = skill.common_event_id for target in targets target.skill_effect(@active_battler, skill) display_action_effects(target, skill) end end end