#============================================================================== # ■ XP-RGSS-38 スキルダブルアニメーション [Ver.1.1.0] by Claimh #------------------------------------------------------------------------------ # ・スキル使用時の対象側アニメーションを二重化。 #============================================================================== module Double_Animation DOUBLE_ANIME = [] #============================================================================== # □ カスタマイズSTART #============================================================================== # スキル別ダブルアニメーションのセッティング # DOUBLE_ANIME[スキルID] = アニメーションID DOUBLE_ANIME[57] = 62 #============================================================================== # □ カスタマイズEND #============================================================================== module_function #-------------------------------------------------------------------------- # ● ダブルアニメーションの取得 #-------------------------------------------------------------------------- def get_double_anime(skill_id) unless DOUBLE_ANIME[skill_id].nil? return DOUBLE_ANIME[skill_id] else return 0 end end end #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :double_animation_id # ダブルアニメーション ID #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias init_double_anime initialize def initialize init_double_anime @double_animation_id = 0 end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● フレーム更新 (メインフェーズ ステップ 1 : アクション準備) #-------------------------------------------------------------------------- alias update_phase4_step1_double_anime update_phase4_step1 def update_phase4_step1 # ダブルアニメーションの初期化 @double_animation_id = 0 update_phase4_step1_double_anime end #-------------------------------------------------------------------------- # ● スキルアクション 結果作成 #-------------------------------------------------------------------------- alias make_skill_action_result_double_anime make_skill_action_result def make_skill_action_result make_skill_action_result_double_anime if @phase4_step != 1 # ダブルアニメーションの取得とSET @double_animation_id = Double_Animation.get_double_anime(@skill.id) end end #-------------------------------------------------------------------------- # ● フレーム更新 (メインフェーズ ステップ 4 : 対象側アニメーション) #-------------------------------------------------------------------------- alias update_phase4_step4_double_anime update_phase4_step4 def update_phase4_step4 update_phase4_step4_double_anime # 対象側アニメーション [ダブル] for target in @target_battlers target.double_animation_id = @double_animation_id end end end #============================================================================== # ■ Sprite_Battler #============================================================================== class Sprite_Battler < RPG::Sprite #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_double_anime update def update # バトラーが nil の場合 if @battler == nil return end # 可視の場合 if @battler_visible # ダブルアニメーション if @battler.double_animation_id != 0 animation = $data_animations[@battler.double_animation_id] animation2(animation, @battler.animation_hit) @battler.double_animation_id = 0 end end update_double_anime end end