#============================================================================== # ■ XP-RGSS-49 戦闘不能アニメーション [Ver.1.1.0] by Claimh #------------------------------------------------------------------------------ # 戦闘不能時にアニメーションを再生します。 #============================================================================== module CollapseAnime ACT_ANI_ID = [] ENM_ANI_ID = [] #------------------------------------------------------------------------------ # ★設定カスタマイズ #------------------------------------------------------------------------------ # 適応パターン(0:アクター+エネミー/1:アクターのみ/2:エネミーのみ) CA_PAT = 0 # アクター用アニメーションID # ACT_ANIME_ID[アクターID] = アニメーションID # アクターID:0は全アクター共通の場合 ACT_ANI_ID[0] = 2 ACT_ANI_ID[1] = 1 # エネミー用アニメーションID # ACT_ANIME_ID[エネミーID] = アニメーションID # エネミーID:0は全エネミー共通の場合 ENM_ANI_ID[0] = 2 ENM_ANI_ID[1] = 101 # アニメーションエンド待ち ANI_WAIT = false #------------------------------------------------------------------------------ module_function # アクター用アニメーションID取得 def actor_anime(actor_id) unless ACT_ANI_ID[actor_id].nil? return ACT_ANI_ID[actor_id] end return ACT_ANI_ID[0] end # エネミー用アニメーションID取得 def enemy_anime(enemy_id) unless ENM_ANI_ID[enemy_id].nil? return ENM_ANI_ID[enemy_id] end return ENM_ANI_ID[0] end end #============================================================================== # ■ Sprite_Battler #============================================================================== class Sprite_Battler < RPG::Sprite #-------------------------------------------------------------------------- # ● コラプス再生 #-------------------------------------------------------------------------- def collapse super return if self.battler.nil? case self.battler when Game_Actor if CollapseAnime::CA_PAT != 2 animation = $data_animations[CollapseAnime.actor_anime(self.battler.id)] animation(animation, true) end when Game_Enemy if CollapseAnime::CA_PAT != 1 animation = $data_animations[CollapseAnime.enemy_anime(self.battler.id)] animation(animation, true) end end end end if CollapseAnime::ANI_WAIT #============================================================================== # ■ Sprite_Battler #============================================================================== class Sprite_Battler < RPG::Sprite alias update_a update def update update_a if @_collapse_duration > 0 and @_animation_duration > 0 @_collapse_duration += 1 self.opacity = 256 end end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● アフターバトルフェーズ開始 #-------------------------------------------------------------------------- alias start_phase5end_collanime start_phase5 def start_phase5 while 0 @spriteset.update Graphics.update break unless @spriteset.effect? end start_phase5end_collanime end end end # endof ANI_WAIT