设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 645|回复: 0
打印 上一主题 下一主题

[已经过期] ATB脚本二次行动的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
536
在线时间
69 小时
注册时间
2016-5-5
帖子
31
跳转到指定楼层
1
发表于 2018-2-25 23:40:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我用了ATB系统的一个脚本发现

在主角可二次行动的条件下 分别使用对敌方和对我方(攻击或物品)

最后都会变成对敌方使用(或我方)

举个例
在同一回合我能做两次行动
我先攻击敌方再给自己吃药
最后卻变成 我攻击到敌方了  但敌方吃到药....

可否解答下 附上脚本

RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Battler Motion (v3.6) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]https://atelierrgss.wordpress.com/[/url]
  6. #==============================================================================
  7. # Adiciona efeitos de animações nos sprites dos battlers.
  8. # ● Animação inicial (entrada)de batalha.
  9. # ● Animação de espera.
  10. # ● Animação de ação.
  11. # ● Animação de dano.
  12. # ● Animação de colapso.
  13. #==============================================================================
  14.  
  15. #==============================================================================
  16. # ● Histórico (Version History)
  17. #==============================================================================
  18. # v3.6 - Melhoria na compatibilidade com MOG Battle Camera.
  19. # v3.5 - Possibilidade de desabilitar o efeito "blinking"
  20. #      - Melhoria no tempo de execução do efeito slice
  21. # v3.4 - Adição da função SLICE.
  22. #==============================================================================
  23.  
  24. $imported = {} if $imported.nil?
  25. $imported[:mog_battler_motion] = true
  26.  
  27. #==============================================================================
  28. # ● CONFIGURAÇÃO
  29. #==============================================================================
  30. # ■ Animação inicial de entrada ao começar a batalha.
  31. #==============================================================================
  32. # Coloque as seguintes Tags na caixa de notas dos inimigos ou personagens.
  33. #
  34. # <Motion Appear = X>
  35. #
  36. # X = 0
  37. # Battler desliza horizontalmente.
  38. #
  39. # X = 1
  40. # Battler desliza verticalmente.
  41. #
  42. # X = 2
  43. # Battler rola (Cambalhota O_o) pela tela.
  44. #
  45. # X = 3
  46. # Zoom IN
  47. #
  48. # X = 4
  49. # Zoom Out
  50. #
  51. # X = 5
  52. # Efeito de emergir do solo.
  53. #
  54. #==============================================================================
  55. # ■ Animações dos battlers em modo espera.
  56. #==============================================================================
  57. # Coloque as seguintes Tags na caixa de notas dos inimigos ou personagens.
  58. #
  59. # <Motion Standby = X>
  60. #
  61. # X = 0
  62. # Ativa o efeito do battler respirando.
  63. #
  64. # X = 1
  65. # Ativa o efeito do battler levitando.
  66. #
  67. # X = 2
  68. # Ativa o efeito do battler movimentando para os lados.
  69. #
  70. #==============================================================================
  71. # ■ Animações dos battlers em modo de ação.
  72. #==============================================================================
  73. # Coloque as seguintes Tags na caixa de notas de itens ou habilidades.
  74. #
  75. # <Motion Action = X>
  76. #
  77. # X = 0
  78. # Ativa o efeito de ação de zoom.
  79. #
  80. # X = 1
  81. # Ativa o efeito de ação de pular.
  82. #
  83. # X = 2
  84. # Ativa o efeito de girar para a esquerda.
  85. #
  86. # X = 3
  87. # Ativa o efeito de girar para a direita.
  88. #
  89. # X = 4
  90. # Ativa o efeito de tremer.
  91. #
  92. # X = 5
  93. # Ativa o efeito de ação frontal.
  94. #
  95. # X = 6
  96. # Ativa o efeito de dar um passo para esquerda.
  97. #
  98. # X = 7
  99. # Ativa o efeito de de dar um passo para direita.
  100. #
  101. #==============================================================================
  102. # ■ Animações dos battlers em Colapso.
  103. #==============================================================================
  104. # Coloque as seguintes Tags na caixa de notas dos inimigos ou personagens.
  105. #
  106. # <Motion Collapse = X>
  107. #
  108. # X = 0
  109. # Ativa colapso na vertical.
  110. #
  111. # X = 1
  112. # Ativa o colapso na horizontal.
  113. #
  114. # X = 2
  115. # Ativa o colapso em Zoom OUT.
  116. #
  117. # X = 3
  118. # Ativa o colapso em Zoom IN.
  119. #
  120. # X = 4
  121. # Ativa o colapso em Zoom IN e Zoom OUT.
  122. #
  123. # X = 5
  124. # Ativa o colapso em Modo Boss.
  125. #
  126. # X = 6
  127. # Não ativa colapso.(Do nothing)
  128. #
  129. # X = 7
  130. # Ativa o collapse em Slice.
  131. #
  132. #==============================================================================
  133. # ■ Forçar o collapso Slice
  134. #==============================================================================
  135. # Coloque a Tag abaixo na caixa de notas da habilidade.
  136. #
  137. # <Slice>
  138. #
  139. #==============================================================================
  140. # ■ Ativar animação de dano em condições maléficas.
  141. #==============================================================================
  142. # Coloque a seguinte Tag na caixa de notas de condições para ativar o efeito
  143. # de dano.
  144. #
  145. # <Bad State>
  146. #
  147. #==============================================================================
  148. # ■ Definir uma posição específica do battler inimigo
  149. #==============================================================================
  150. # Para definir uma posição do inimigo na tela use a Tag abaixo na caixa
  151. # dos inimigos
  152. #
  153. # <Screen X Y = 150 - 400>
  154. #
  155. #==============================================================================
  156. module MOG_BATTLER_MOTION
  157.  
  158.   #============================================================================
  159.   #Ativar o efeito no aliados.
  160.   #============================================================================
  161.   ENABLE_ACTOR_MOTION = true
  162.  
  163.   #============================================================================
  164.   #Ativar o efeito nos inimigos
  165.   #============================================================================
  166.   ENABLE_ENEMY_MOTION = true
  167.  
  168.   #============================================================================
  169.   #Definição da velocidade do efeito de respirar.
  170.   #============================================================================
  171.   BREATH_EFFECT_SPEED = 4  #Default 1
  172.  
  173.   #============================================================================
  174.   #Definição do limite de zoom do efeito de respirar.
  175.   #============================================================================
  176.   BREATH_EFFECT_RANGE = [0.98, 1.00] #Default [0.92, 1.00]
  177.  
  178.   #============================================================================
  179.   # Ativar a função mirror dependendo do lado do oponente.
  180.   #============================================================================
  181.   BATTLER_MIRROR_DIRECTION = true
  182.  
  183.   #============================================================================
  184.   # Ativar o efeito Blink ao receber dano.
  185.   #============================================================================
  186.   ENABLE_DAMAGE_BLINK_EFFECT = false
  187. end
  188.  
  189. #==============================================================================
  190. # ■ Game_Temp
  191. #==============================================================================
  192. class Game_Temp
  193.  
  194.   attr_accessor :battler_in_motion
  195.   attr_accessor :bact_wait_d
  196.   attr_accessor :bact_phase
  197.  
  198.   #--------------------------------------------------------------------------
  199.   # ● Initialize
  200.   #--------------------------------------------------------------------------      
  201.   alias mog_battler_motion_initialize initialize
  202.   def initialize
  203.       @battler_in_motion = false ; @bact_wait_d = 0 ; @bact_phase = [0,0]
  204.       mog_battler_motion_initialize
  205.   end  
  206.  
  207. end
  208.  
  209. #==============================================================================
  210. # ■ Game_Battler
  211. #==============================================================================
  212. class Game_Battler < Game_BattlerBase
  213.  
  214.    attr_accessor :motion_start
  215.    attr_accessor :motion_stand
  216.    attr_accessor :motion_action
  217.    attr_accessor :motion_damage
  218.    attr_accessor :motion_collapse
  219.    attr_accessor :motion_slice
  220.    attr_accessor :motion_move
  221.    attr_accessor :motion_org_pos
  222.    attr_accessor :motion_bms
  223.    attr_accessor :bact_action
  224.    attr_accessor :bact_skill
  225.    attr_accessor :primary_target
  226.  
  227.   #--------------------------------------------------------------------------
  228.   # ● Initialize
  229.   #--------------------------------------------------------------------------      
  230.    alias mog_motion_animation_initialize initialize
  231.    def initialize
  232.        mog_motion_animation_initialize
  233.        @motion_start = -1
  234.        @motion_stand = [-1,0]
  235.        @motion_action = [-1,0]
  236.        @motion_collapse = [99,0]
  237.        @motion_damage = [0,0]
  238.        @motion_move = [false,0,0]
  239.        @motion_org_pos = [0,0]
  240.        @motion_bms = [0,false]
  241.        @motion_slice = [false,0,0]
  242.        bact_action_clear
  243.    end     
  244.  
  245.   #--------------------------------------------------------------------------
  246.   # ● Bact Action Clear
  247.   #--------------------------------------------------------------------------      
  248.   def bact_action_clear
  249.       @bact_action = [false,0,0] ; @bact_skill = nil
  250.   end   
  251.  
  252.   #--------------------------------------------------------------------------
  253.   # ● Added New State
  254.   #--------------------------------------------------------------------------  
  255.   alias mog_motion_animation_add_new_state add_new_state
  256.   def add_new_state(state_id)
  257.       mog_motion_animation_add_new_state(state_id)
  258.       self.motion_damage[0] = 1 if $data_states[state_id].note =~ /<Bad State>/
  259.   end   
  260.  
  261.   #--------------------------------------------------------------------------
  262.   # ● Move To
  263.   #--------------------------------------------------------------------------  
  264.   def move_to(x,y)
  265.       return if self.dead?
  266.       @motion_move = [true,x,y]
  267.   end
  268.  
  269.   #--------------------------------------------------------------------------
  270.   # ● Set Original Position
  271.   #--------------------------------------------------------------------------  
  272.   def set_org_pos
  273.       scx = self.screen_x rescue 0
  274.       scy = self.screen_y rescue 0   
  275.       @motion_opos = [scx,scy]
  276.   end
  277.  
  278.   #--------------------------------------------------------------------------
  279.   # ● Return Org
  280.   #--------------------------------------------------------------------------  
  281.   def return_org
  282.       return if self.dead?
  283.       @motion_move = [true,@motion_opos[0],@motion_opos[1]]   
  284.   end
  285.  
  286.   #--------------------------------------------------------------------------
  287.   # ● Item Apply
  288.   #--------------------------------------------------------------------------  
  289.   alias mog_bactmotion_item_apply item_apply
  290.   def item_apply(user, item)
  291.       return if self.motion_slice[0]
  292.       mog_bactmotion_item_apply(user, item)
  293.       unless self.is_a?(Game_Actor)
  294.          self.motion_collapse[0] = 7 if self.dead? and item.note =~ /<Slice>/
  295.       end
  296.   end
  297.  
  298. end
  299.  
  300. #==============================================================================
  301. # ■ Game_Enemy
  302. #==============================================================================
  303. class Game_Enemy < Game_Battler
  304.  
  305.   #--------------------------------------------------------------------------
  306.   # ● Initialize
  307.   #--------------------------------------------------------------------------
  308.   alias mog_motion_animation_enemy_initialize initialize
  309.   def initialize(index, enemy_id)
  310.       mog_motion_animation_enemy_initialize(index, enemy_id)
  311.       setup_motion_animation(enemy_id)
  312.   end
  313.  
  314.   #--------------------------------------------------------------------------
  315.   # ● Setup Motion Animation
  316.   #--------------------------------------------------------------------------  
  317.   def setup_motion_animation(enemy_id)
  318.       self.motion_stand[0] = $1.to_i if  enemy.note =~ /<Motion Standby = (\d+)>/i
  319.       self.motion_collapse[0] = $1.to_i if  enemy.note =~ /<Motion Collapse = (\d+)>/i
  320.       self.motion_start =  $1.to_i if  enemy.note =~ /<Motion Appear = (\d+)>/i
  321.   end
  322. end
  323.  
  324. #==============================================================================
  325. # ■ Game Actor
  326. #==============================================================================
  327. class Game_Actor < Game_Battler
  328.  
  329.   #--------------------------------------------------------------------------
  330.   # ● Setup
  331.   #--------------------------------------------------------------------------
  332.   alias mog_motion_animation_actor_setup setup
  333.   def setup(actor_id)
  334.       mog_motion_animation_actor_setup(actor_id)
  335.       self.motion_stand[0] = $1.to_i if  actor.note =~ /<Motion Standby = (\d+)>/i
  336.       self.motion_collapse[0] = $1.to_i if  actor.note =~ /<Motion Collapse = (\d+)>/i      
  337.       self.motion_start =  $1.to_i if  actor.note =~ /<Motion Appear = (\d+)>/i  
  338.   end
  339.  
  340. end
  341.  
  342. #==============================================================================
  343. # ■ Game_Battler
  344. #==============================================================================
  345. class Game_Battler < Game_BattlerBase
  346.  
  347.   #--------------------------------------------------------------------------
  348.   # ● Execute Damage
  349.   #--------------------------------------------------------------------------  
  350.   alias mog_battler_motion_execute_damage execute_damage
  351.   def execute_damage(user)
  352.       mog_battler_motion_execute_damage(user)
  353.       self.motion_damage[0] = 1 if @result.hp_damage > 0
  354.   end
  355.  
  356. end
  357.  
  358. #==============================================================================
  359. # ■ Spriteset Battle
  360. #==============================================================================
  361. class Spriteset_Battle
  362.  
  363.   #--------------------------------------------------------------------------
  364.   # * Update
  365.   #--------------------------------------------------------------------------
  366.   alias mog_battler_motion_update update
  367.   def update
  368.       $game_temp.battler_in_motion = false
  369.       mog_battler_motion_update
  370.   end
  371.  
  372.   #--------------------------------------------------------------------------
  373.   # * Animation?
  374.   #--------------------------------------------------------------------------
  375.   alias mog_battler_motion_animation? animation?
  376.   def animation?
  377.       return true if $game_temp.battler_in_motion
  378.       mog_battler_motion_animation?
  379.   end
  380.   #--------------------------------------------------------------------------
  381.   # * Effect?
  382.   #--------------------------------------------------------------------------
  383.   alias mog_battler_motion_effect? effect?
  384.   def effect?
  385.       return true if $game_temp.battler_in_motion
  386.       mog_battler_motion_effect?
  387.   end
  388.  
  389. end
  390.  
  391.  
  392. #==============================================================================
  393. #==============================================================================
  394. # ● INITIAL ●
  395. #==============================================================================
  396. #==============================================================================
  397.  
  398. #==============================================================================
  399. # ■ Sprite Battler
  400. #==============================================================================
  401. class Sprite_Battler < Sprite_Base
  402.  
  403.   #--------------------------------------------------------------------------
  404.   # ● Update Bitmap
  405.   #--------------------------------------------------------------------------   
  406.   alias mog_bactmotion_update_bitmap update_bitmap
  407.   def update_bitmap
  408.       return if @battler.motion_slice[0]
  409.       mog_bactmotion_update_bitmap
  410.   end   
  411.  
  412.   #--------------------------------------------------------------------------
  413.   # ● Can Update Motion?
  414.   #--------------------------------------------------------------------------   
  415.   def can_update_motion?
  416.       return true
  417.   end   
  418.  
  419.   #--------------------------------------------------------------------------
  420.   # ● Update Position
  421.   #--------------------------------------------------------------------------  
  422.   alias mog_motion_animation_update_position update_position
  423.   def update_position
  424.       active_battler_motion      
  425.       if @battler_motion_active
  426.          update_motion_animation
  427.          self.z = @battler.screen_z rescue nil
  428.          self.z += 20 if @battler.bact_data[1] != nil and !@battler.bact_data[6]
  429.          return
  430.       end      
  431.       mog_motion_animation_update_position
  432.       self.z += 20 if @battler.bact_data[1] != nil and !@battler.bact_data[6]
  433.   end  
  434.  
  435.   #--------------------------------------------------------------------------
  436.   # ● Active Battler Motion
  437.   #--------------------------------------------------------------------------   
  438.   def active_battler_motion
  439.       return if @motion_initial_base != nil or bitmap == nil
  440.       return if @battler == nil
  441.       return if !@battler.exist?
  442.       @motion_initial_base = true
  443.       @battler_motion_active = true if can_update_battler_motion?
  444.   end  
  445.  
  446.   #--------------------------------------------------------------------------
  447.   # ● Can Update Battler Motion
  448.   #--------------------------------------------------------------------------      
  449.   def can_update_battler_motion?
  450.       return false if @battler.is_a?(Game_Actor)
  451.       return false if @battler == nil
  452.       return false if @battler.dead?
  453.       return false if !@battler.use_sprite?
  454.       return false if @battler.screen_x == nil
  455.       return false if @battler.is_a?(Game_Actor) and !MOG_BATTLER_MOTION::ENABLE_ACTOR_MOTION
  456.       return false if @battler.is_a?(Game_Enemy) and !MOG_BATTLER_MOTION::ENABLE_ENEMY_MOTION
  457.       return false if $imported[:mog_sprite_actor] and @battler.is_a?(Game_Actor)
  458.       return true
  459.   end
  460.  
  461.   #--------------------------------------------------------------------------
  462.   # ● Update Motion Animation
  463.   #--------------------------------------------------------------------------   
  464.   def update_motion_animation
  465.       setup_initial_motion
  466.       execute_start_animation
  467.       return if @wait_motion_start
  468.       if can_execute_collapse?
  469.          execute_motion_collapse
  470.       else
  471.          if can_update_motion?
  472.             execute_motion_move_to if can_update_move_to?
  473.             execute_motion_damage
  474.             execute_motion_idle if can_update_idle?
  475.             execute_motion_action if can_update_action?
  476.          end
  477.       end
  478.   end
  479.  
  480.   #--------------------------------------------------------------------------
  481.   # ● Setup Initial Motion
  482.   #--------------------------------------------------------------------------      
  483.   def setup_initial_motion
  484.       return if @motion_initial != nil
  485.       @motion_initial = true
  486.       @collapse_done = false
  487.       @motion_speed = 0
  488.       @start_speed = [0,0]      
  489.       @battler.motion_collapse[1] = 0
  490.       self.x = @battler.screen_x rescue 0
  491.       self.y = @battler.screen_y rescue 0
  492.       self.z = @battler.screen_z rescue 100
  493.       @battler.motion_bms = [0,false]
  494.       @battler.set_org_pos      
  495.       setup_motion_stand
  496.       @original_set = [self.x, self.y, self.zoom_x,self.zoom_y,self.mirror,self.angle,255]
  497.       setup_motion_start
  498.       setup_motion_damage            
  499.       setup_motion_action
  500.   end  
  501.  
  502.   #--------------------------------------------------------------------------
  503.   # ● Return Set
  504.   #--------------------------------------------------------------------------         
  505.   def return_set(value)
  506.       self.x = value[0]
  507.       self.y = value[1]
  508.       self.zoom_x = value[2]
  509.       self.zoom_y = value[3]
  510.       self.mirror = value[4]
  511.       self.angle = value[5]
  512.       self.opacity = value[6]      
  513.   end  
  514.  
  515.   #--------------------------------------------------------------------------
  516.   # ● setup_motion_start
  517.   #--------------------------------------------------------------------------            
  518.   def setup_motion_start
  519.       @wait_motion_start = true
  520.       @scr_rect_speed = 1      
  521.       case @battler.motion_start
  522.          when 0  
  523.             self.x = 0 - (self.bitmap.width + rand(100))
  524.          when 1
  525.             self.y = 0 - (self.bitmap.height + rand(100))
  526.          when 2   
  527.             self.angle = 360
  528.             self.x = 0 - self.bitmap.width
  529.          when 3   
  530.             self.zoom_x = 1.5 + (rand(10) / 100.0)
  531.             self.zoom_y = self.zoom_x
  532.             self.opacity = 0
  533.          when 4
  534.             self.zoom_x = 0.2 + (rand(10) / 100.0)
  535.             self.zoom_y = self.zoom_x
  536.             self.opacity = 0
  537.          when 5   
  538.             self.src_rect.y = -self.bitmap.height
  539.             @scr_rect_speed = self.bitmap.height / 40
  540.             @scr_rect_speed = 1 if @scr_rect_speed <= 0
  541.          else   
  542.            @wait_motion_start = false
  543.       end   
  544.   end  
  545.  
  546.   #--------------------------------------------------------------------------
  547.   # ● Execute Start Animation
  548.   #--------------------------------------------------------------------------         
  549.   def execute_start_animation
  550.       return if !@wait_motion_start
  551.       $game_temp.battler_in_motion = true
  552.       s_x = 1 + ((self.x - @original_set[0]).abs / (20 + @start_speed[0]))
  553.       s_y = 1 + ((self.y - @original_set[1]).abs / (20 + @start_speed[1]))      
  554.       if self.x < @original_set[0]
  555.          self.x += s_x
  556.          self.x = @original_set[0] if self.x >= @original_set[0]
  557.       elsif self.x > @original_set[0]
  558.          self.x -= s_x
  559.          self.x = @original_set[0] if self.x <= @original_set[0]
  560.       end
  561.       if self.y < @original_set[1]
  562.          self.y += s_y
  563.          self.y = @original_set[1] if self.y > @original_set[1]
  564.       elsif self.y > @original_set[1]
  565.          self.y -= s_y
  566.          self.y = @original_set[1] if self.y < @original_set[1]
  567.       end
  568.       if self.zoom_x != @original_set[2]
  569.          if self.zoom_x > @original_set[2]
  570.             self.zoom_x -= 0.01
  571.             self.zoom_x = @original_set[2] if self.zoom_x < @original_set[2]
  572.          elsif self.zoom_x < @original_set[2]
  573.             self.zoom_x += 0.01
  574.             self.zoom_x = @original_set[2] if self.zoom_x > @original_set[2]
  575.          end         
  576.       end  
  577.       if self.zoom_y != @original_set[3]
  578.          if self.zoom_y > @original_set[3]
  579.             self.zoom_y -= 0.01
  580.             self.zoom_y = @original_set[3] if self.zoom_y < @original_set[3]
  581.          elsif self.zoom_y < @original_set[3]
  582.             self.zoom_y += 0.01
  583.             self.zoom_y = @original_set[3] if self.zoom_y > @original_set[3]
  584.          end         
  585.       end        
  586.       self.opacity += 10
  587.       if self.angle > 0
  588.          self.angle -= 5
  589.          self.angle = @original_set[5] if self.angle < @original_set[5]
  590.       end
  591.       if self.src_rect.y != 0
  592.          self.src_rect.y += @scr_rect_speed
  593.          self.src_rect.y = 0 if self.src_rect.y > 0
  594.       end
  595.       if sprite_original_set?  
  596.          @wait_motion_start = false
  597.          @battler.motion_bms[1] = true
  598.          self.src_rect.y = 0
  599.       end   
  600.   end  
  601.  
  602.   #--------------------------------------------------------------------------
  603.   # ● Sprite original Set?
  604.   #--------------------------------------------------------------------------         
  605.   def sprite_original_set?
  606.       return false if self.x != @original_set[0]
  607.       return false if self.y != @original_set[1]   
  608.       return false if self.zoom_x != @original_set[2]
  609.       return false if self.zoom_y != @original_set[3]        
  610.       return false if self.mirror != @original_set[4]
  611.       return false if self.angle != @original_set[5]
  612.       return false if self.opacity != @original_set[6]     
  613.       return false if self.src_rect.y != 0      
  614.       return true
  615.   end  
  616.  
  617. end
  618.  
  619. #==============================================================================
  620. #==============================================================================
  621. # ● MOVE TO ●
  622. #==============================================================================
  623. #==============================================================================
  624.  
  625. #==============================================================================
  626. # ■ Sprite Battler
  627. #==============================================================================
  628. class Sprite_Battler < Sprite_Base
  629.  
  630.   #--------------------------------------------------------------------------
  631.   # ● Can Update Move_to
  632.   #--------------------------------------------------------------------------   
  633.   def can_update_move_to?
  634.       return false if !@battler.motion_move[0]
  635.       return true
  636.   end  
  637.  
  638.   #--------------------------------------------------------------------------
  639.   # ● Execute Motion Move_to
  640.   #--------------------------------------------------------------------------        
  641.   def execute_motion_move_to      
  642.       $game_temp.battler_in_motion = true
  643.       execute_motion_mv(0,self.x,@battler.motion_move[1])
  644.       execute_motion_mv(1,self.y,@battler.motion_move[2])
  645.       mv_clear
  646.   end
  647.  
  648.   #--------------------------------------------------------------------------
  649.   # ● MV Clear
  650.   #--------------------------------------------------------------------------      
  651.   def mv_clear
  652.       return if self.x != @battler.motion_move[1]
  653.       return if self.y != @battler.motion_move[2]
  654.       @battler.motion_move[0] = false
  655.   end
  656.  
  657.   #--------------------------------------------------------------------------
  658.   # ● Execute Motion Mv
  659.   #--------------------------------------------------------------------------      
  660.   def execute_motion_mv(type,cp,np)
  661.       sp = 2 + ((cp - np).abs / 20)
  662.       if cp > np
  663.          cp -= sp
  664.          cp = np if cp < np
  665.       elsif cp < np
  666.          cp += sp
  667.          cp = np if cp > np
  668.       end     
  669.       self.x = cp if type == 0
  670.       self.y = cp if type == 1
  671.   end   
  672.  
  673. end
  674.  
  675. #==============================================================================
  676. #==============================================================================
  677. # ● DAMAGE ●
  678. #==============================================================================
  679. #==============================================================================
  680.  
  681. #==============================================================================
  682. # ■ Sprite Battler
  683. #==============================================================================
  684. class Sprite_Battler < Sprite_Base
  685.  
  686.   #--------------------------------------------------------------------------
  687.   # ● Can Update Damage
  688.   #--------------------------------------------------------------------------   
  689.   def can_update_damage?
  690.       return false if @battler.motion_damage[1] == 0
  691.       return false if @battler.motion_move[0]
  692.       return false if $imported[:mog_battle_camera] and $game_temp.bc_wait_cp[0] > 0
  693.       return true
  694.   end   
  695.  
  696.   #--------------------------------------------------------------------------
  697.   # ● Setup Initial Motion
  698.   #--------------------------------------------------------------------------        
  699.   def execute_motion_damage
  700.       damage_refresh
  701.       update_motion_damage if can_update_damage?
  702.   end
  703.  
  704.   #--------------------------------------------------------------------------
  705.   # ● Setup Motion Damage
  706.   #--------------------------------------------------------------------------        
  707.   def setup_motion_damage     
  708.       @battler.motion_damage = [0,0]
  709.       @damage_pre_set = [self.x, self.y, self.zoom_x,self.zoom_y,self.mirror,self.angle,self.opacity]
  710.   end  
  711.  
  712.   #--------------------------------------------------------------------------
  713.   # ● Damage Refresh
  714.   #--------------------------------------------------------------------------         
  715.   def damage_refresh
  716.       return if @battler.motion_damage[0] == 0
  717.       if @battler.motion_damage[1] == 0
  718.          @damage_pre_set = [self.x, self.y, self.zoom_x,self.zoom_y,self.mirror,self.angle,self.opacity]
  719.       end
  720.       @battler.motion_damage[0] = 0
  721.       @battler.motion_damage[1] = 45
  722.   end
  723.  
  724.   #--------------------------------------------------------------------------
  725.   # ● Update Motion Damage
  726.   #--------------------------------------------------------------------------            
  727.   def update_motion_damage
  728.       return if @damage_pre_set.nil?
  729.       self.x = @damage_pre_set[0] + rand(@battler.motion_damage[1])
  730.       @battler.motion_damage[1] -= 1
  731.       if @battler.motion_damage[1] == 0
  732.          if $imported[:mog_battle_hud_ex] != nil and @battler.is_a?(Game_Actor)
  733.             return_set(@original_set)
  734.          else  
  735.             return_set(@damage_pre_set)
  736.          end   
  737.       end  
  738.   end
  739.  
  740. end
  741.  
  742. #==============================================================================
  743. #==============================================================================
  744. # ● IDLE ●
  745. #==============================================================================
  746. #==============================================================================
  747.  
  748.  
  749. #==============================================================================
  750. # ■ Sprite Battler
  751. #==============================================================================
  752. class Sprite_Battler < Sprite_Base
  753.  
  754.   #--------------------------------------------------------------------------
  755.   # ● Can Update idle
  756.   #--------------------------------------------------------------------------   
  757.   def can_update_idle?
  758.       return false if @old_motion_action != -1
  759.       return false if @battler.motion_damage[1] > 0
  760.       return false if @battler.motion_move[0]
  761.       return false if $imported[:mog_battle_camera] and $game_temp.bc_wait_cp[0] > 0
  762.       return true
  763.   end      
  764.  
  765.   #--------------------------------------------------------------------------
  766.   # ● Setup Motion Stand
  767.   #--------------------------------------------------------------------------        
  768.   def setup_motion_stand
  769.       @breath_range = [MOG_BATTLER_MOTION::BREATH_EFFECT_RANGE[0],
  770.                        MOG_BATTLER_MOTION::BREATH_EFFECT_RANGE[1],0,
  771.                        MOG_BATTLER_MOTION::BREATH_EFFECT_SPEED]
  772.       @float_range = [@battler.screen_y - 10, @battler.screen_y + 10]
  773.       @side_range = [@battler.screen_x - 10, @battler.screen_x + 10]
  774.       @battler.motion_stand[1] = 0
  775.       case @battler.motion_stand[0]
  776.          when 0
  777.              self.zoom_y = @breath_range[0] + (rand(10) / 100.0)
  778.              @battler.motion_stand[1] = rand(2)
  779.          when 1
  780.              self.y += 10 - rand(20)
  781.              @battler.motion_stand[1] = rand(2)
  782.          when 2
  783.              self.x += 10 - rand(20)
  784.              @battler.motion_stand[1] = rand(2)            
  785.       end
  786.   end
  787.  
  788.   #--------------------------------------------------------------------------
  789.   # ● Execute Motion Animation
  790.   #--------------------------------------------------------------------------        
  791.   def execute_motion_idle
  792.       case @battler.motion_stand[0]
  793.          when 0
  794.              update_motion_breath
  795.          when 1  
  796.              update_motion_float
  797.          when 2
  798.              update_motion_side
  799.       end        
  800.   end  
  801.  
  802.   #--------------------------------------------------------------------------
  803.   # ● Update Motion Breath
  804.   #--------------------------------------------------------------------------         
  805.   def update_motion_breath  
  806.       @breath_range[2] += 1
  807.       return if @breath_range[2] < @breath_range[3]
  808.       @breath_range[2] = 0
  809.       case @battler.motion_stand[1]
  810.          when 0
  811.            self.zoom_y -= 0.002
  812.            if self.zoom_y <= @breath_range[0]
  813.               @battler.motion_stand[1] = 1
  814.               self.zoom_y = @breath_range[0]
  815.            end   
  816.          when 1  
  817.            self.zoom_y += 0.002
  818.            if self.zoom_y >= @breath_range[1]
  819.               @battler.motion_stand[1] = 0
  820.               self.zoom_y = @breath_range[1]
  821.            end   
  822.       end
  823.   end  
  824.  
  825.   #--------------------------------------------------------------------------
  826.   # ● Update Motion Float
  827.   #--------------------------------------------------------------------------         
  828.   def update_motion_float
  829.       @motion_speed += 1
  830.       return if @motion_speed < 5
  831.       @motion_speed = 0
  832.       case @battler.motion_stand[1]
  833.            when 0
  834.                 self.y -= 1
  835.                 @battler.motion_bms[0] -= 1
  836.                 if self.y < @float_range[0]
  837.                    self.y = @float_range[0]
  838.                    @battler.motion_bms[0] += 1
  839.                    @battler.motion_stand[1] = 1
  840.                 end   
  841.            when 1  
  842.                 self.y += 1
  843.                 @battler.motion_bms[0] += 1
  844.                 if self.y > @float_range[1]
  845.                    self.y = @float_range[1]
  846.                    @battler.motion_bms[0] -= 1
  847.                    @battler.motion_stand[1] = 0
  848.                 end                  
  849.       end
  850.   end   
  851.  
  852.   #--------------------------------------------------------------------------
  853.   # ● Update Motion Side
  854.   #--------------------------------------------------------------------------         
  855.   def update_motion_side
  856.       @motion_speed += 1
  857.       return if @motion_speed < 5
  858.       @motion_speed = 0
  859.       case @battler.motion_stand[1]
  860.            when 0
  861.                 self.x -= 1
  862.                 if self.x < @side_range[0]
  863.                    self.x = @side_range[0]
  864.                    @battler.motion_stand[1] = 1
  865.                 end   
  866.            when 1  
  867.                 self.x += 1
  868.                 if self.x > @side_range[1]
  869.                    self.x = @side_range[1]
  870.                    @battler.motion_stand[1] = 0
  871.                 end                  
  872.       end
  873.   end     
  874.  
  875. end
  876.  
  877. #==============================================================================
  878. #==============================================================================
  879. # ● ACTION ●
  880. #==============================================================================
  881. #==============================================================================
  882.  
  883. #==============================================================================
  884. # ■ Game Action
  885. #==============================================================================
  886. class Game_Action
  887.  
  888.   #--------------------------------------------------------------------------
  889.   # ● Prepare
  890.   #--------------------------------------------------------------------------                  
  891.   alias mog_motion_action_prepare prepare
  892.   def prepare
  893.       mog_motion_action_prepare   
  894.       set_motion_action
  895.   end
  896.  
  897.   #--------------------------------------------------------------------------
  898.   # ● Set Motion Action
  899.   #--------------------------------------------------------------------------                    
  900.   def set_motion_action
  901.       return if @item.object == nil or subject == nil
  902.       subject.motion_action[0] = $1.to_i if @item.object.note =~ /<Motion Action = (\d+)>/i
  903.   end
  904.  
  905. end
  906.  
  907. #==============================================================================
  908. # ■ Sprite Battler
  909. #==============================================================================
  910. class Sprite_Battler < Sprite_Base
  911.  
  912.   #--------------------------------------------------------------------------
  913.   # ● Can Update Action
  914.   #--------------------------------------------------------------------------   
  915.   def can_update_action?
  916.       return false if @battler.motion_damage[1] > 0
  917.       return false if @battler.motion_move[0]
  918.       return false if $imported[:mog_battle_camera] and $game_temp.bc_wait_cp[0] > 0
  919.       return true
  920.   end      
  921.  
  922.   #--------------------------------------------------------------------------
  923.   # ● Setup Motion Action
  924.   #--------------------------------------------------------------------------        
  925.   def setup_motion_action
  926.       @battler.motion_action = [-1,0]
  927.       @old_motion_action = @battler.motion_action[0]
  928.       @pre_set = [self.x, self.y, self.zoom_x,self.zoom_y,self.mirror,self.angle,self.opacity]
  929.   end
  930.  
  931.   #--------------------------------------------------------------------------
  932.   # ● Refresh Action
  933.   #--------------------------------------------------------------------------         
  934.   def refresh_action
  935.       return if @old_motion_action == @battler.motion_action[0]
  936.       if @old_motion_action == -1
  937.          @pre_set = [self.x, self.y, self.zoom_x,self.zoom_y,self.mirror,self.angle,self.opacity]
  938.       end
  939.       @battler.motion_action[1] = 0  
  940.       return_set(@pre_set)
  941.       @old_motion_action = @battler.motion_action[0]
  942.       self.src_rect.y =  0
  943.   end  
  944.  
  945.   #--------------------------------------------------------------------------
  946.   # ● Execute Motion Action
  947.   #--------------------------------------------------------------------------            
  948.   def execute_motion_action
  949.       refresh_action
  950.       update_motion_action
  951.   end  
  952.  
  953.   #--------------------------------------------------------------------------
  954.   # ● Update Motion Action
  955.   #--------------------------------------------------------------------------              
  956.   def update_motion_action
  957.       return if @battler.motion_action[0] == -1
  958.       $game_temp.battler_in_motion = true
  959.       @battler.motion_action[1] += 1
  960.       case @battler.motion_action[0]
  961.            when -2
  962.               end_action
  963.            when 0
  964.               update_motion_zoom
  965.            when 1
  966.               update_motion_jump
  967.            when 2  
  968.               update_motion_round_right
  969.            when 3
  970.               update_motion_round_left
  971.            when 4
  972.               update_motion_shake
  973.            when 5
  974.               update_motion_front
  975.            when 6   
  976.               update_motion_step_left
  977.            when 7
  978.               update_motion_step_right              
  979.       end
  980.   end
  981.  
  982.   #--------------------------------------------------------------------------
  983.   # ● Update Motion Step Left
  984.   #--------------------------------------------------------------------------                  
  985.   def update_motion_step_left
  986.       case @battler.motion_action[1]
  987.            when 1..20
  988.                 self.x -= 2
  989.            when 21..40  
  990.                 self.x += 2           
  991.            else
  992.            end_action
  993.       end   
  994.  
  995.   end  
  996.  
  997.   #--------------------------------------------------------------------------
  998.   # ● Update Motion Step Right
  999.   #--------------------------------------------------------------------------                  
  1000.   def update_motion_step_right
  1001.       case @battler.motion_action[1]
  1002.            when 1..20
  1003.                 self.x += 2
  1004.            when 21..40  
  1005.                 self.x -= 2           
  1006.            else
  1007.         end_action   
  1008.       end   
  1009.   end   
  1010.  
  1011.   #--------------------------------------------------------------------------
  1012.   # ● Update Motion Shake
  1013.   #--------------------------------------------------------------------------               
  1014.   def update_motion_shake      
  1015.       self.x = @pre_set[0] + rand(@battler.motion_action[1]) if can_update_motion_shake?
  1016.       end_action if @battler.motion_action[1] > 40
  1017.   end   
  1018.  
  1019.   #--------------------------------------------------------------------------
  1020.   # ● Can Update Motion Shake?
  1021.   #--------------------------------------------------------------------------                  
  1022.   def can_update_motion_shake?
  1023.       if $imported[:mog_battle_hud_ex] !=nil
  1024.          return false if @battler.is_a?(Game_Actor)
  1025.       end
  1026.       return true  
  1027.   end  
  1028.  
  1029.   #--------------------------------------------------------------------------
  1030.   # ● Update Motion Zoom
  1031.   #--------------------------------------------------------------------------               
  1032.   def update_motion_zoom
  1033.       case @battler.motion_action[1]
  1034.         when 1..20
  1035.            self.zoom_x += 0.01
  1036.            self.zoom_y += 0.01
  1037.         when 21..40
  1038.            self.zoom_x -= 0.01
  1039.            self.zoom_y -= 0.01         
  1040.         else  
  1041.         end_action   
  1042.       end
  1043.   end
  1044.  
  1045.   #--------------------------------------------------------------------------
  1046.   # ● Update Motion Jump
  1047.   #--------------------------------------------------------------------------                  
  1048.   def update_motion_jump
  1049.       case @battler.motion_action[1]
  1050.         when 1..20
  1051.             self.y -= 9
  1052.             self.zoom_x += 0.01
  1053.             self.zoom_y += 0.01
  1054.             self.mirror = true
  1055.             self.angle += 9
  1056.         when 21..40
  1057.             self.y += 9
  1058.             self.zoom_x -= 0.01
  1059.             self.zoom_y -= 0.01            
  1060.             self.mirror = false
  1061.             self.angle += 9
  1062.         else  
  1063.         self.angle = 0
  1064.         end_action   
  1065.       end      
  1066.   end
  1067.  
  1068.   #--------------------------------------------------------------------------
  1069.   # ● Update Motion Front
  1070.   #--------------------------------------------------------------------------                  
  1071.   def update_motion_front
  1072.       case @battler.motion_action[1]
  1073.         when 1..20
  1074.             self.y += 3
  1075.             self.zoom_x += 0.02
  1076.             self.zoom_y += 0.02
  1077.         when 21..40
  1078.             self.y -= 3
  1079.             self.zoom_x -= 0.02
  1080.             self.zoom_y -= 0.02            
  1081.         else  
  1082.         end_action   
  1083.       end      
  1084.   end
  1085.  
  1086.   #--------------------------------------------------------------------------
  1087.   # ● Update Motion Round Left
  1088.   #--------------------------------------------------------------------------                    
  1089.   def update_motion_round_left
  1090.       case @battler.motion_action[1]
  1091.         when 1..15
  1092.             self.y += 3
  1093.             self.x -= 3
  1094.             self.mirror = false
  1095.         when 16..30
  1096.             self.x += 6
  1097.             self.mirror = true
  1098.         when 31..45
  1099.             self.y -= 3
  1100.             self.x -= 3
  1101.             self.mirror = false
  1102.         else  
  1103.         end_action  
  1104.       end        
  1105.   end
  1106.  
  1107.   #--------------------------------------------------------------------------
  1108.   # ● Update Motion Round Right
  1109.   #--------------------------------------------------------------------------                    
  1110.   def update_motion_round_right
  1111.       case @battler.motion_action[1]
  1112.         when 1..15
  1113.             self.y += 3
  1114.             self.x += 3
  1115.             self.mirror = true
  1116.         when 16..30
  1117.             self.x -= 6
  1118.              self.mirror = false
  1119.         when 31..45
  1120.             self.y -= 3
  1121.             self.x += 3
  1122.             self.mirror = true
  1123.         else  
  1124.         end_action   
  1125.       end   
  1126.   end  
  1127.  
  1128.   #--------------------------------------------------------------------------
  1129.   # ● End Action
  1130.   #--------------------------------------------------------------------------                     
  1131.   def end_action
  1132.       if $imported[:mog_battle_hud_ex] != nil and @battler.is_a?(Game_Actor)
  1133.          return_set(@original_set)
  1134.       else  
  1135.          return_set(@pre_set)  
  1136.       end
  1137.       @battler.motion_action = [-1,0]
  1138.   end  
  1139.  
  1140. end
  1141.  
  1142. #==============================================================================
  1143. #==============================================================================
  1144. # ● COLLAPSE ●
  1145. #==============================================================================
  1146. #==============================================================================
  1147.  
  1148. #==============================================================================
  1149. # ■ Sprite Battler
  1150. #==============================================================================
  1151. class Sprite_Battler < Sprite_Base
  1152.  
  1153.   #--------------------------------------------------------------------------
  1154.   # ● Dispose
  1155.   #--------------------------------------------------------------------------   
  1156.   alias mog_bact_motion_dispose dispose
  1157.   def dispose   
  1158.       @pre_image.dispose rescue nil if !@pre_image.nil?
  1159.       mog_bact_motion_dispose
  1160.   end   
  1161.  
  1162.   #--------------------------------------------------------------------------
  1163.   # ● Can Update Action
  1164.   #--------------------------------------------------------------------------   
  1165.   def can_update_collapse?
  1166.       return true
  1167.   end      
  1168.  
  1169.   #--------------------------------------------------------------------------
  1170.   # ● Update Blink
  1171.   #--------------------------------------------------------------------------      
  1172.   alias mog_motion_animation_update_blink update_blink
  1173.   def update_blink
  1174.       return if @battler.dead? or !MOG_BATTLER_MOTION::ENABLE_DAMAGE_BLINK_EFFECT
  1175.       mog_motion_animation_update_blink
  1176.   end
  1177.  
  1178.   #--------------------------------------------------------------------------
  1179.   # ● Update Collapse
  1180.   #--------------------------------------------------------------------------
  1181.   def update_collapse
  1182.   end
  1183.  
  1184.   #--------------------------------------------------------------------------
  1185.   # ● Execute Motion Collapse
  1186.   #--------------------------------------------------------------------------   
  1187.   def execute_motion_collapse
  1188.       collapse_end if self.opacity == 0
  1189.       @battler.motion_collapse[1] += 1      
  1190.       case @battler.motion_collapse[0]
  1191.            when 0;     update_collapse_vertical
  1192.            when 1;     update_collapse_horizontal
  1193.            when 2;     update_collapse_zoom_out
  1194.            when 3;     update_collapse_zoom_in
  1195.            when 4;     update_collapse_zoom_in_out
  1196.            when 5;     update_collapse_boss_2
  1197.            when 6;     update_collpase_do_nothing
  1198.            when 7;     update_collpase_slice
  1199.            else ;      update_collapse_normal
  1200.       end
  1201.  
  1202.   end
  1203.  
  1204.   #--------------------------------------------------------------------------
  1205.   # ● Can Execute Collapse
  1206.   #--------------------------------------------------------------------------      
  1207.   def can_execute_collapse?
  1208.       return false if !@battler.dead?
  1209.       return false if @collapse_done
  1210.       return true
  1211.   end
  1212.  
  1213.   #--------------------------------------------------------------------------
  1214.   # ● Update Collapse Vertical
  1215.   #--------------------------------------------------------------------------        
  1216.   def update_collapse_vertical
  1217.       self.zoom_y += 0.1
  1218.       self.zoom_x -= 0.02         
  1219.       self.opacity -= 3   
  1220.   end
  1221.  
  1222.   #--------------------------------------------------------------------------
  1223.   # ● Update Collapse Horizontal
  1224.   #--------------------------------------------------------------------------         
  1225.   def update_collapse_horizontal
  1226.       self.zoom_x += 0.1
  1227.       self.zoom_y -= 0.02      
  1228.       self.opacity -= 3      
  1229.   end
  1230.  
  1231.   #--------------------------------------------------------------------------
  1232.   # ● Update Collapse Zoom Out
  1233.   #--------------------------------------------------------------------------            
  1234.   def update_collapse_zoom_out     
  1235.       self.zoom_x += 0.02
  1236.       self.zoom_y += 0.02     
  1237.       self.opacity -= 4   
  1238.   end
  1239.  
  1240.   #--------------------------------------------------------------------------
  1241.   # ● Update Collapse Zoom IN
  1242.   #--------------------------------------------------------------------------              
  1243.   def update_collapse_zoom_in
  1244.       self.zoom_x -= 0.01
  1245.       self.zoom_y -= 0.01      
  1246.       self.opacity -= 4            
  1247.   end
  1248.  
  1249.   #--------------------------------------------------------------------------
  1250.   # ● Update Collapse Zoom IN OUT
  1251.   #--------------------------------------------------------------------------               
  1252.   def update_collapse_zoom_in_out
  1253.       case @battler.motion_collapse[1]
  1254.            when 0..30
  1255.                 self.zoom_x += 0.1
  1256.                 self.zoom_y -= 0.02
  1257.                 self.opacity -= 2
  1258.            else  
  1259.                 self.zoom_y += 0.5
  1260.                 self.zoom_x -= 0.2
  1261.                 self.opacity -= 10
  1262.       end      
  1263.   end
  1264.  
  1265.   #--------------------------------------------------------------------------
  1266.   # ● Update Collapse Boss 2
  1267.   #--------------------------------------------------------------------------                  
  1268.   def update_collapse_boss_2
  1269.       self.x = @original_set[0] + rand(10)
  1270.       self.src_rect.y -= 1
  1271.       self.opacity = 0 if self.src_rect.y < -self.bitmap.height
  1272.   end
  1273.  
  1274.   #--------------------------------------------------------------------------
  1275.   # ● Update Collapse do nothing
  1276.   #--------------------------------------------------------------------------                    
  1277.   def update_collpase_do_nothing
  1278.   end  
  1279.  
  1280.   #--------------------------------------------------------------------------
  1281.   # ● Update Collpase Slice
  1282.   #--------------------------------------------------------------------------      
  1283.   def update_collpase_slice   
  1284.       return if !self.visible
  1285.       if !@battler.motion_slice[0] ; @battler.motion_slice[0] = true
  1286.           @pre_image = self.bitmap
  1287.           @cw_2s = @pre_image.width ; @ch_2s = @pre_image.height
  1288.           self.bitmap = Bitmap.new(@pre_image.width * 2,@pre_image.height)
  1289.           self.ox = self.bitmap.width / 2
  1290.       end
  1291.       @battler.motion_slice[1] += 1
  1292.       @battler.motion_slice[2] += 1
  1293.       if @battler.motion_slice[2] < 60 and @battler.motion_slice[2] < @cw_2s / 2
  1294.          self.bitmap.clear
  1295.          scr_rect_1 = Rect.new(0,0,@cw_2s,@ch_2s / 2)
  1296.          self.bitmap.blt((@cw_2s / 2) - @battler.motion_slice[1],0,@pre_image,scr_rect_1)
  1297.          scr_rect_2 = Rect.new(0,@ch_2s / 2,@cw_2s,@ch_2s / 2)
  1298.          self.bitmap.blt((@cw_2s / 2) + @battler.motion_slice[1],@ch_2s / 2,@pre_image,scr_rect_2)   
  1299.       else
  1300.          self.opacity -= 3
  1301.          if self.opacity == 0 ; self.visible = false ; collapse_end ; end
  1302.       end   
  1303.   end  
  1304.  
  1305.   #--------------------------------------------------------------------------
  1306.   # ● Update Collapse Normal
  1307.   #--------------------------------------------------------------------------                    
  1308.   def update_collapse_normal
  1309.       self.opacity -= 3
  1310.       self.blend_type = 1
  1311.   end  
  1312.  
  1313.   #--------------------------------------------------------------------------
  1314.   # ● Collapse End
  1315.   #--------------------------------------------------------------------------      
  1316.   def collapse_end
  1317.       return if @battler.motion_slice[0]
  1318.       @collapse_done = true
  1319.       return_set(@original_set)
  1320.       self.src_rect.y = -self.bitmap.height unless @battler.motion_collapse[0] == 6
  1321.       if @battler.is_a?(Game_Enemy) and @battler.dead?
  1322.          self.visible = false ; self.opacity = 0
  1323.       end   
  1324.   end  
  1325.  
  1326.   #--------------------------------------------------------------------------
  1327.   # ● Revert to Normal
  1328.   #--------------------------------------------------------------------------        
  1329.   alias mog_battler_motion_revert_to_normal revert_to_normal
  1330.   def revert_to_normal
  1331.       return if @battler.motion_slice[0]
  1332.       if @collapse_done
  1333.          @collapse_done = false
  1334.          return_set(@original_set)
  1335.       end
  1336.       mog_battler_motion_revert_to_normal
  1337.   end  
  1338.  
  1339. end
  1340.  
  1341. #===============================================================================
  1342. # ■ Game Battler
  1343. #===============================================================================
  1344. class Game_Battler < Game_BattlerBase
  1345.  
  1346.   attr_accessor :bact_data
  1347.   attr_accessor :bact_sprite
  1348.   attr_accessor :pre_target
  1349.  
  1350.   #--------------------------------------------------------------------------
  1351.   # ● Initialize
  1352.   #--------------------------------------------------------------------------      
  1353.   alias mog_bact_data_motion_initialize initialize
  1354.   def initialize
  1355.       bact_clear
  1356.       mog_bact_data_motion_initialize
  1357.   end
  1358.  
  1359.   #--------------------------------------------------------------------------
  1360.   # ● Bact Clear
  1361.   #--------------------------------------------------------------------------      
  1362.   def bact_clear
  1363.       @bact_data = [0,nil,nil,nil,false,false,0,0] ; @pre_target = nil  
  1364.   end
  1365.  
  1366. end
  1367.  
  1368. #==============================================================================
  1369. # ■ Sprite Battler
  1370. #==============================================================================
  1371. class Sprite_Battler < Sprite_Base
  1372.  
  1373.   #--------------------------------------------------------------------------
  1374.   # ● Initialize
  1375.   #--------------------------------------------------------------------------      
  1376.   alias mog_bact_motion_initialize initialize
  1377.   def initialize(viewport, battler = nil)
  1378.       @jump_count = 0 ; @jump_peak = 0 ; @move_wait_d = 0 ; @battler_dir = [false,0]
  1379.       mog_bact_motion_initialize(viewport, battler)
  1380.       if @battler.is_a?(Game_Enemy) and @battler.enemy.note =~ /<Screen X Y = \s*(\-*\d+)\s* - \s*(\-*\d+)\s*>/
  1381.          @battler.screen_x = $1.to_i ; @battler.screen_y = $2.to_i
  1382.       end        
  1383.   end   
  1384.  
  1385.   #--------------------------------------------------------------------------
  1386.   # ● Update Position
  1387.   #--------------------------------------------------------------------------  
  1388.   alias mog_bact_motion_update_position update_position
  1389.   def update_position     
  1390.       if battler_in_motion? ; battler_in_motion ; return ; end
  1391.       if escape_phase? ; update_escape_phase ; return ; end
  1392.       mog_bact_motion_update_position   
  1393.   end
  1394.  
  1395.   #--------------------------------------------------------------------------
  1396.   # ● Battler In Motion
  1397.   #--------------------------------------------------------------------------      
  1398.   def battler_in_motion?
  1399.       return false if @battler == nil
  1400.       return false if @battler.bact_data[0] == 0
  1401.       return false if $imported[:mog_animation_plus] and $game_temp.ani_plus_wait
  1402.       return true
  1403.   end
  1404.  
  1405.   #--------------------------------------------------------------------------
  1406.   # ● Escape Phase
  1407.   #--------------------------------------------------------------------------  
  1408.   def escape_phase?
  1409.       return false if !$imported[:mog_sprite_actor]
  1410.       return false if !MOG_SPRITE_ACTOR::ESCAPE_ANIMATION
  1411.       return false if @battler == nil
  1412.       return false if @battler.is_a?(Game_Enemy)
  1413.       return false if @battler.dead?
  1414.       return false if $game_temp.bact_phase[0] != 1
  1415.       return true
  1416.   end  
  1417.  
  1418.   #--------------------------------------------------------------------------
  1419.   # ● Battler In Motion
  1420.   #--------------------------------------------------------------------------      
  1421.   def battler_in_motion
  1422.       old_x = self.x ; old_y = self.y
  1423.       np = [@battler.bact_data[1],@battler.bact_data[2]]
  1424.       set_move_duration(np) if @battler.bact_data[5]
  1425.       update_jump(np)
  1426.       if @pre_set != nil and @battler.is_a?(Game_Enemy) and @battler.bact_data[0] == 2
  1427.          self.zoom_x -= 0.01 if self.zoom_x > @pre_set[2]
  1428.          self.zoom_y -= 0.01 if self.zoom_y > @pre_set[3]   
  1429.       end   
  1430.       if @move_wait_d == 0
  1431.          end_bact_move(np) if self.x == np[0] and self.y == np[1]
  1432.          if $imported[:mog_sprite_actor] and !@battler.dead?
  1433.             @battler.step_animation if @battler.bact_data[6] if (old_x != self.x) or (old_y != self.y)
  1434.             @battler.bact_sprite[3] = 2 if @wp_index > 0
  1435.          end
  1436.       end
  1437.       self.z = @battler.screen_z
  1438.       self.z += 20 if !@battler.bact_data[6]
  1439.       update_in_motion_end
  1440.   end
  1441.  
  1442.   #--------------------------------------------------------------------------
  1443.   # ● Update In Motion End
  1444.   #--------------------------------------------------------------------------      
  1445.   def update_in_motion_end
  1446.       return if @move_wait_d == 0
  1447.       @move_wait_d -= 1
  1448.       return if @move_wait_d > 0
  1449.       @battler.bact_data[0] = 0      
  1450.   end
  1451.  
  1452.   #--------------------------------------------------------------------------
  1453.   # ● End Bact Move
  1454.   #--------------------------------------------------------------------------      
  1455.   def end_bact_move(np)   
  1456.       self.angle = 0 unless @battler.dead?
  1457.       @battler.screen_x = np[0] ; @battler.screen_y = np[1]
  1458.       if @battler.motion_damage[1] > 0
  1459.          @battler.motion_damage = [0,0] ; update_motion_damage               
  1460.       end  
  1461.       if @pre_set != nil
  1462.          @pre_set[0] = self.x ; @pre_set[1] = self.y
  1463.          end_action if @battler.bact_data[0] == 2
  1464.          self.angle = 0
  1465.       end   
  1466.       @move_wait_d = (@battler.bact_data[6] or @battler.bact_data[0] == 2) ? 10 : 1
  1467.       @battler.bact_sprite[3] = 0 if $imported[:mog_sprite_actor]
  1468.       if @battler.bact_data[0] == 1
  1469.          @battler.bact_action[0] = true
  1470.       elsif @battler.bact_data[0] == 2
  1471.          @battler.bact_action_clear
  1472.          self.mirror = @battler_dir[0]
  1473.          @battler.bact_sprite[0] = @battler_dir[1]
  1474.          @battler_dir = [false,4]
  1475.          @battler.bact_sprite_need_refresh = true if @battler.is_a?(Game_Actor)
  1476.       end         
  1477.   end
  1478.  
  1479.   #--------------------------------------------------------------------------
  1480.   # ● Set Move Duration
  1481.   #--------------------------------------------------------------------------      
  1482.   def set_move_duration(np)      
  1483.       set_bact_angle_m      
  1484.       self.mirror = false if @battler.bact_data[0] == 2
  1485.       if @battler.motion_damage[1] > 0
  1486.          @battler.motion_damage = [0,0] ; update_motion_damage   
  1487.       end
  1488.       @battler.motion_damage = [0,0]
  1489.       @battler.bact_data[5] = false
  1490.       x_plus = (self.x - np[0]).abs ; y_plus = (self.y - np[1]).abs
  1491.       p = 0
  1492.       p = @battler.is_a?(Game_Actor) ? 500 : 0 if $imported[:mog_sprite_actor]
  1493.       e = @battler.bact_data[6] ? 200 + p : 5
  1494.       distance = Math.sqrt(x_plus + y_plus + e).round
  1495.       @jump_peak = (distance * 80 / 100).truncate
  1496.       @jump_count = @jump_peak * 2
  1497.       if @pre_set != nil
  1498.          @pre_set[0] = self.x ; @pre_set[1] = self.y ; @pre_set[4] = self.mirror
  1499.       end   
  1500.       @battler.bact_sprite[3] = 2 if $imported[:mog_sprite_actor]  
  1501.       @battler.bact_action_clear if @battler.bact_data[0] == 2
  1502.       @move_wait_d = 0
  1503.       @wp_index = 0 if @battler.bact_data[0] == 1      
  1504.   end
  1505.  
  1506.   #--------------------------------------------------------------------------
  1507.   # ● Set Bact Angle M
  1508.   #--------------------------------------------------------------------------      
  1509.   def set_bact_angle_m
  1510.       @battler_dir = [self.mirror,@battler.bact_sprite[0]] if @battler.bact_data[0] == 1  
  1511.       return if @battler.bact_data[6] and [2,4].include?(@battler.bact_sprite[5])
  1512.       if @battler.bact_data[7] >= 0 ; else
  1513.          self.angle = @battler.bact_data[0] == 2 ? 350 : 5
  1514.          self.mirror = true if @battler.is_a?(Game_Enemy) and MOG_BATTLER_MOTION::BATTLER_MIRROR_DIRECTION
  1515.          @battler.bact_sprite[0] = 4 unless [2,8].include?( @battler.bact_sprite[0])
  1516.       end
  1517.   end
  1518.  
  1519.   #--------------------------------------------------------------------------
  1520.   # ● Update Jump
  1521.   #--------------------------------------------------------------------------      
  1522.   def update_jump(np)
  1523.       return if $game_temp.bc_target_dmg[1] > 0
  1524.       @jump_count -= 1 if @jump_count > 0
  1525.       self.x = (self.x * @jump_count + np[0]) / (@jump_count + 1.0)
  1526.       self.y = ((self.y * @jump_count + np[1]) / (@jump_count + 1.0)) - jump_height
  1527.   end
  1528.  
  1529.   #--------------------------------------------------------------------------
  1530.   # ● Jump Height
  1531.   #--------------------------------------------------------------------------      
  1532.   def jump_height
  1533.       return 0 if @battler.bact_data[6]
  1534.       return (@jump_peak * @jump_peak - (@jump_count - @jump_peak).abs ** 2) / 40
  1535.   end
  1536.  
  1537.  
  1538.   #--------------------------------------------------------------------------
  1539.   # ● Can Update Battler Motion
  1540.   #--------------------------------------------------------------------------      
  1541.   alias mog_bact_can_update_battler_motion? can_update_battler_motion?
  1542.   def can_update_battler_motion?
  1543.       return false if @battler.bact_data[0] != 0
  1544.       mog_bact_can_update_battler_motion?
  1545.   end
  1546.  
  1547.   #--------------------------------------------------------------------------
  1548.   # ● Can Update idle
  1549.   #--------------------------------------------------------------------------   
  1550.   alias mog_bact_can_update_idle? can_update_idle?
  1551.   def can_update_idle?
  1552.       return false if @battler.bact_data[1] != nil
  1553.       mog_bact_can_update_idle?
  1554.   end   
  1555.  
  1556. end  
  1557.  
  1558. #===============================================================================
  1559. # ■ Scene Battle
  1560. #===============================================================================
  1561. class Scene_Battle < Scene_Base
  1562.  
  1563.   #--------------------------------------------------------------------------
  1564.   # ● Execute Action
  1565.   #--------------------------------------------------------------------------      
  1566.   alias mog_bact_execute_action execute_action
  1567.   def execute_action
  1568.       @cp_members = []
  1569.       if @subject != nil
  1570.          @subject.bact_action_clear
  1571.          item = @subject.current_action.item rescue nil
  1572.          @subject.bact_skill = item if item != nil
  1573.          if $imported[:mog_atb_system] and execute_cooperation_skill?
  1574.             @cp_members = current_cp_members
  1575.             for battler in @cp_members
  1576.                 battler.bact_skill = item if item != nil
  1577.            end
  1578.          end         
  1579.       end
  1580.       execute_bact_move if execute_bact_move?
  1581.       if $imported[:mog_sprite_actor] and $imported[:mog_animation_plus]
  1582.          $game_temp.ani_plus_wait = false  ; execute_cast_animation
  1583.       end
  1584.       mog_bact_execute_action
  1585.   end
  1586.  
  1587.   #--------------------------------------------------------------------------
  1588.   # ● Execute Bact Move
  1589.   #--------------------------------------------------------------------------      
  1590.   def execute_bact_move?
  1591.       item = @subject.current_action.item rescue nil
  1592.       return false if item == nil
  1593.       return false if item.is_a?(RPG::Skill) and @subject.is_a?(Game_Actor) and item.id == @subject.guard_skill_id
  1594.       targets = @subject.current_action.make_targets.compact rescue nil
  1595.       @subject.pre_target = targets
  1596.       for battler in @cp_members ; battler.pre_target = targets ; end      
  1597.       scy = @subject.screen_x rescue nil ; scx = targets[0].screen_x rescue nil
  1598.       return false if scx == nil or scy == nil
  1599.       return false if $imported[:mog_battle_hud_ex] and SceneManager.face_battler?
  1600.       return false if @act_enabled != nil
  1601.       return true
  1602.   end
  1603.  
  1604.   #--------------------------------------------------------------------------
  1605.   # ● Long Range?
  1606.   #--------------------------------------------------------------------------      
  1607.   def long_range?(item)
  1608.       return false if item == nil
  1609.       if @subject.is_a?(Game_Actor) and item.is_a?(RPG::Skill) and
  1610.          item.id == @subject.attack_skill_id and  @subject.equips[0] != nil
  1611.       return true if @subject.equips[0].note =~ /<Icon Angle = (\d+)>/i
  1612.       end  
  1613.       return false if item.note =~ /<Move to Target>/
  1614.       return false if item.note =~ /<Move to Target x\s*(\-*\d+)\s* y\s*(\-*\d+)\s*>/
  1615.       return true if [2,8,10].include?(item.scope)      
  1616.       return true
  1617.   end
  1618.  
  1619.   #--------------------------------------------------------------------------
  1620.   # ● Set BC Skill Type
  1621.   #--------------------------------------------------------------------------   
  1622.   def set_bc_skill_type
  1623.       item = @subject.current_action.item rescue nil
  1624.       return if item == nil
  1625.       return if item.is_a?(RPG::Skill) and item.stype_id != 1
  1626.       return if item.is_a?(RPG::Item) and item.itype_id != 1
  1627.       targets = @subject.current_action.make_targets.compact
  1628.       set_battle_camera_animation(targets, item.animation_id)
  1629.   end
  1630.   #--------------------------------------------------------------------------
  1631.   # ● Execute Bact Move
  1632.   #--------------------------------------------------------------------------      
  1633.   def execute_bact_move
  1634.       return if @subject.bact_skill == nil
  1635.       @act_enabled = true
  1636.       item = @subject.bact_skill
  1637.       if $imported[:mog_sprite_actor] and @subject.is_a?(Game_Actor) and long_range?(item)
  1638.           execute_bact_move_sprite_actor
  1639.       else   
  1640.          unless @subject.is_a?(Game_Enemy) and long_range?(item)
  1641.          targets = @subject.current_action.make_targets.compact
  1642.          targets[0] = @subject.primary_target if !@subject.primary_target.nil?
  1643.          exy = [0,0]
  1644.          if item.note =~ /<Move to Target x\s*(\-*\d+)\s* y\s*(\-*\d+)\s*>/
  1645.             exy = [$1.to_i,$2.to_i]
  1646.          end
  1647.          @subject.bact_data = [1,targets[0].screen_x + exy[0],targets[0].screen_y + exy[1],@subject.screen_x,@subject.screen_y,0,0,0]
  1648.          @subject.bact_data[5] = true
  1649.          @subject.bact_data[6] = false
  1650.          @subject.bact_data[7] = targets[0].screen_x - @subject.screen_x
  1651.          if @cp_members != nil
  1652.          for battler in @cp_members            
  1653.              battler.bact_data = [1,targets[0].screen_x,targets[0].screen_y,battler.screen_x,battler.screen_y,0,0,0]
  1654.              battler.bact_data[5] = true
  1655.              battler.bact_data[6] = false
  1656.              battler.bact_data[7] = targets[0].screen_x - battler.screen_x
  1657.           end         
  1658.           end
  1659.           execute_action_bact
  1660.          end
  1661.       end      
  1662.   end   
  1663.  
  1664.   #--------------------------------------------------------------------------
  1665.   # ● Execute Bact Move Sprite Actor
  1666.   #--------------------------------------------------------------------------      
  1667.   def execute_bact_move_sprite_actor
  1668.       ns = $imported[:mog_sprite_actor] ? $game_party.battlers_m_steps : 32
  1669.       if @subject.is_a?(Game_Enemy)
  1670.          targets = @subject.pre_target rescue nil
  1671.          targets = @subject.current_action.make_targets.compact if targets == nil
  1672.          if [2,8].include?($game_party.battle_members[0].bact_sprite[0])
  1673.             if targets[0].screen_y >= @subject.screen_y ; @subject.bact_sprite[0] = 2; end
  1674.             if targets[0].screen_y < @subject.screen_y ; @subject.bact_sprite[0] = 8; end
  1675.          else  
  1676.             if targets[0].screen_x >= @subject.screen_x ; @subject.bact_sprite[0] = 6; end
  1677.             if targets[0].screen_x < @subject.screen_x ; @subject.bact_sprite[0] = 4; end
  1678.          end
  1679.       end
  1680.       case @subject.bact_sprite[0]
  1681.            when 2 ; x = @subject.screen_x ; y = @subject.screen_y + ns
  1682.            when 4 ; x = @subject.screen_x - ns ; y = @subject.screen_y            
  1683.            when 6 ; x = @subject.screen_x + ns ; y = @subject.screen_y            
  1684.            when 8 ; x = @subject.screen_x ; y = @subject.screen_y - ns
  1685.       end      
  1686.       @subject.bact_data = [1,x,y,@subject.screen_x,@subject.screen_y,0,0,0,0]
  1687.       @subject.bact_data[5] = true ; @subject.bact_data[6] = true  
  1688.       for battler in @cp_members
  1689.           case battler.bact_sprite[0]
  1690.                when 2 ; x = battler.screen_x ; y = battler.screen_y + ns
  1691.                when 4 ; x = battler.screen_x - ns ; y = battler.screen_y            
  1692.                when 6 ; x = battler.screen_x + ns ; y = battler.screen_y            
  1693.                when 8 ; x = battler.screen_x ; y = battler.screen_y - ns
  1694.           end         
  1695.           battler.bact_data = [1,x,y,battler.screen_x,battler.screen_y,0,0,0,0]
  1696.           battler.bact_data[5] = true
  1697.           battler.bact_data[6] = true   
  1698.       end
  1699.       execute_action_bact  
  1700.   end
  1701.  
  1702.   #--------------------------------------------------------------------------
  1703.   # ● Process Action End
  1704.   #--------------------------------------------------------------------------      
  1705.   alias mog_bact_f_use_item use_item
  1706.   def use_item
  1707.       mog_bact_f_use_item
  1708.       motion_move_to_origin if @act_enabled
  1709.   end
  1710.  
  1711.   #--------------------------------------------------------------------------
  1712.   # ● Process Turn End
  1713.   #--------------------------------------------------------------------------      
  1714.   alias mog_bact_f_turn_end turn_end
  1715.   def turn_end
  1716.       motion_move_to_origin if @act_enabled
  1717.       mog_bact_f_turn_end
  1718.   end
  1719.  
  1720.   #--------------------------------------------------------------------------
  1721.   # ● Motion Move to Origin
  1722.   #--------------------------------------------------------------------------      
  1723.   def motion_move_to_origin
  1724.       if $imported[:mog_battle_camera]         
  1725.          $game_temp.bc_in_action[3] = false
  1726.          $game_temp.bc_in_turn = false ; clear_target_camera
  1727.       end
  1728.       process_wait_end
  1729.       process_bact_end if @subject.bact_data[1] != nil
  1730.       @subject.bact_action_clear
  1731.       @subject.pre_target = nil
  1732.       if @cp_members != nil
  1733.       for battler in @cp_members
  1734.           battler.bact_action_clear
  1735.           battler.pre_target = nil
  1736.       end
  1737.       end
  1738.       @act_enabled = nil  
  1739.   end
  1740.  
  1741.   #--------------------------------------------------------------------------
  1742.   # ● Turn End
  1743.   #--------------------------------------------------------------------------
  1744.   alias mog_bact_turn_end turn_end
  1745.   def turn_end
  1746.       @subject.return_to_orign if @subject.is_a?(Game_Actor) and $imported[:mog_sprite_actor]
  1747.       if @cp_members != nil
  1748.       for battler in @cp_members
  1749.           battler.return_to_orign if $imported[:mog_sprite_actor]
  1750.       end
  1751.       end      
  1752.       mog_bact_turn_end
  1753.   end
  1754.  
  1755.   #--------------------------------------------------------------------------
  1756.   # ● Process Wait End
  1757.   #--------------------------------------------------------------------------      
  1758.   def process_wait_end
  1759.       return if $game_temp.bact_wait_d == 0
  1760.       loop do ; update_basic ; $game_temp.bact_wait_d -= 1 ; break if $game_temp.bact_wait_d == 0
  1761.       end   
  1762.   end
  1763.  
  1764.   #--------------------------------------------------------------------------
  1765.   # ● Process Bact End
  1766.   #--------------------------------------------------------------------------      
  1767.   def process_bact_end      
  1768.       $game_temp.bc_in_action[6] = false if $imported[:mog_battle_camera]
  1769.       @subject.bact_data[0] = 2
  1770.       @subject.bact_data[1] = @subject.bact_data[3]
  1771.       @subject.bact_data[2] = @subject.bact_data[4]
  1772.       @subject.bact_data[5] = true
  1773.       @subject.wp_animation = [false,false] if $imported[:mog_sprite_actor]
  1774.       if @cp_members != nil
  1775.       for battler in @cp_members
  1776.           battler.bact_data[0] = 2
  1777.           battler.bact_data[1] = battler.bact_data[3]
  1778.           battler.bact_data[2] = battler.bact_data[4]
  1779.           battler.bact_data[5] = true
  1780.           battler..wp_animation = [false,false] if $imported[:mog_sprite_actor]
  1781.           battler.bact_sprite_need_refresh = true
  1782.       end      
  1783.       end
  1784.       execute_action_bact unless @subject.is_a?(Game_Actor) and $game_party.all_dead?
  1785.       @subject.bact_clear
  1786.       if @cp_members != nil
  1787.       for battler in @cp_members ; battler.bact_clear ; end
  1788.       end
  1789.   end     
  1790.  
  1791.   #--------------------------------------------------------------------------
  1792.   # ● Execute Action Bact
  1793.   #--------------------------------------------------------------------------      
  1794.   def execute_action_bact
  1795.       return if @subject == nil      
  1796.       loop do ; update_basic ; break if @subject.bact_data[0] == 0 ; end
  1797.   end
  1798.  
  1799.   #--------------------------------------------------------------------------
  1800.   # ● Execute Cooperation Skill?
  1801.   #--------------------------------------------------------------------------  
  1802.   def execute_cooperation_skill?
  1803.       return false if !@subject.is_a?(Game_Actor)
  1804.       item = @subject.bact_skill rescue nil
  1805.       return false if item == nil
  1806.       return false if !BattleManager.cskill_usable?(item.id,@subject.id)
  1807.       return true
  1808.   end  
  1809.  
  1810.   #--------------------------------------------------------------------------
  1811.   # ● Use Item
  1812.   #--------------------------------------------------------------------------  
  1813.   alias mog_bact2_use_item use_item
  1814.   def use_item
  1815.       if $imported[:mog_sprite_actor]
  1816.       target = @subject.pre_target[0] rescue nil
  1817.       if target != nil and target.dead?
  1818.          if @subject.is_a?(Game_Actor) ; return unless target.is_a?(Game_Actor)
  1819.          else ; return unless target.is_a?(Game_Enemy)
  1820.          end   
  1821.       end
  1822.       end
  1823.       mog_bact2_use_item
  1824.       @subject.wp_animation = [false,false] if $imported[:mog_sprite_actor]
  1825.   end  
  1826.  
  1827. end
  1828.  
  1829. #===============================================================================
  1830. # ■ Game Action
  1831. #===============================================================================
  1832. class Game_Action
  1833.  
  1834.   #--------------------------------------------------------------------------
  1835.   # ● Clear
  1836.   #--------------------------------------------------------------------------
  1837.   alias mog_bact_clear clear
  1838.   def clear
  1839.       @subject.pre_target = nil rescue nil
  1840.       mog_bact_clear
  1841.   end  
  1842.  
  1843.   #--------------------------------------------------------------------------
  1844.   # ● Make Targets
  1845.   #--------------------------------------------------------------------------
  1846.   alias mog_bact_make_targets make_targets
  1847.   def make_targets
  1848.       return @subject.pre_target if @subject != nil and @subject.pre_target != nil
  1849.       mog_bact_make_targets
  1850.   end
  1851.  
  1852. end
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 09:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表