- #============================================================================== 
- # ★ RGSS3_バトラー表示拡張 Ver1.02 
- #============================================================================== 
- =begin 
-   
- 作者:tomoaky 
- webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url]) 
-   
- 戦闘シーンにおいてエネミーのスプライトに以下の効果を適用します。 
-   ・ランダムに左右反転 
-   ・Y座標を元に拡大縮小をおこない遠近感を演出 
-   ・一定間隔で拡大縮小をおこない息遣いを演出 
-    
- 行動不可状態のエネミーは息遣いが自動的に一時停止します 
-   
- 2012.04.05  Ver1.02 
-  ・アクターグラフィックに効果を適用しないように修正 
-     デフォルトの戦闘シーンでは特に意味はありません 
-   
- 2011.12.20  Ver1.01 
-   ・解像度に合わせて遠近効果の基準となるY座標を自動計算するように修正 
-   
- 2011.12.15  Ver1.0 
-   公開 
-   
- =end 
-   
- #============================================================================== 
- # □ 設定項目 
- #============================================================================== 
- module TMBSPREX 
-   # 左右反転を適用しないトループをIDで指定 
-   NO_MIRROR_TROOP = [4, 5, 6] 
-   
-   # 左右反転を適用しないエネミーをIDで指定 
-   NO_MIRROR_ENEMY = [2, 3] 
-   
-   # 遠近効果を適用しないトループをIDで指定 
-   NO_ZOOM_TROOP = [5, 6] 
-   
-   # 遠近効果を適用しないエネミーをIDで指定 
-   NO_ZOOM_ENEMY = [6] 
-   
-   # 息遣いを適用しないトループをIDで指定 
-   NO_BREATH_TROOP = [] 
-   
-   # 息遣いを適用しないエネミーをIDで指定 
-   NO_BREATH_ENEMY = [6] 
- end 
-   
- #============================================================================== 
- # ■ Sprite_Battler 
- #============================================================================== 
- class Sprite_Battler < Sprite_Base 
-   #-------------------------------------------------------------------------- 
-   # ● オブジェクト初期化 
-   #-------------------------------------------------------------------------- 
-   alias tmbsprex_sprite_battler_initialize initialize 
-   def initialize(viewport, battler = nil) 
-     tmbsprex_sprite_battler_initialize(viewport, battler) 
-     if battler && !battler.actor? 
-       unless TMBSPREX::NO_MIRROR_TROOP.include?($game_troop.troop.id) 
-         unless TMBSPREX::NO_MIRROR_ENEMY.include?(battler.enemy.id) 
-           self.mirror = (rand(3) == 0)      # 1/3の確率で左右反転 
-         end 
-       end 
-       unless TMBSPREX::NO_ZOOM_TROOP.include?($game_troop.troop.id) 
-         unless TMBSPREX::NO_ZOOM_ENEMY.include?(battler.enemy.id) 
-           border_y = Graphics.height * 65 / 100 
-           self.zoom_x = (battler.screen_y - border_y) * 0.005 + 1.0 
-         end 
-       end 
-       unless TMBSPREX::NO_BREATH_TROOP.include?($game_troop.troop.id) 
-         unless TMBSPREX::NO_BREATH_ENEMY.include?(battler.enemy.id) 
-           @zoom_max = rand(30) + 150 
-           @zoom_count = rand(@zoom_max) 
-         end 
-       end 
-       @use_tmbsprex = true 
-     end 
-   end 
-   #-------------------------------------------------------------------------- 
-   # ● フレーム更新 
-   #-------------------------------------------------------------------------- 
-   alias tmbsprex_sprite_battler_update update 
-   def update 
-     tmbsprex_sprite_battler_update 
-     if @use_tmbsprex 
-       self.zoom_y = self.zoom_x 
-       self.z = 50 + self.y 
-       if @zoom_max && @battler.movable? 
-         @zoom_count += 1 
-         @zoom_count = 0 if @zoom_count == @zoom_max 
-         f = Math.sin(Math::PI * @zoom_count / (@zoom_max / 2)) 
-         self.zoom_y += f * 0.015 + 0.015 
-       end 
-     end 
-   end 
- end