# # 連撃VX Ace(RGSS3) #  (C)2011 TYPE74RX-T # #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ★ アクター側の通常攻撃か #-------------------------------------------------------------------------- def rx3_normal_attack?(item, subject) result = ((item.id == 1 and not item.kind_of?(RPG::Item)) and subject.actor?) end #-------------------------------------------------------------------------- # ● スキル/アイテムの使用 #-------------------------------------------------------------------------- alias rx3_111215_use_item use_item def use_item rx_current_times = 0 item = @subject.current_action.item # ★ アクター側の通常攻撃なら if rx3_normal_attack?(item, @subject) # 連撃回数取得(通常攻撃時は装備物の効果を合計する) (@subject.equips).each do |rxc| rxc.note =~ /(.+)<\/rx連撃>/ if rxc != nil rx_current_times += $+.to_i if rxc != nil end rx_current_times -= 1 if rx_current_times > 0 end rx3_111215_use_item # メソッド呼び戻し # ★ 連撃回数取得 item.note =~ /(.+)<\/rx連撃>/ unless rx3_normal_attack?(item, @subject) rx_current_times = $+.to_i - 1 unless rx3_normal_attack?(item, @subject) # ★ 指定回数繰り返す (0...rx_current_times).each do |i| refresh_status targets = @subject.current_action.make_targets.compact show_animation(targets, item.animation_id) targets.each {|target| item.repeats.times { invoke_item(target, item) } } # ★ 全滅させたなら終了 break if $game_troop.all_dead? and @subject.actor? # 味方→敵全滅 break if $game_party.all_dead? and not @subject.actor? # 敵→味方全滅 end end end