#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  attr_accessor :momo_wbsd_before_state
end
#==============================================================================
# ■ Scene_Battle (分割定義 4)
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 2 : アクション開始)
  #--------------------------------------------------------------------------
  alias window_battlestatus_state_draw_update_phase4_step2 update_phase4_step2
  def update_phase4_step2
    for battler in ($game_party.actors + $game_troop.enemies)
      battler.momo_wbsd_before_state = battler.states.dup
    end
    window_battlestatus_state_draw_update_phase4_step2
    if @phase4_step == 1
      for battler in ($game_party.actors + $game_troop.enemies)
        battler.momo_wbsd_before_state = nil
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
  #--------------------------------------------------------------------------
  alias window_battlestatus_state_draw_update_phase4_step5 update_phase4_step5
  def update_phase4_step5
    for battler in ($game_party.actors + $game_troop.enemies)
      battler.momo_wbsd_before_state = nil
    end
    window_battlestatus_state_draw_update_phase4_step5
  end
end

class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # ● 描画用のステート文字列作成 ★ 再定義
  #     actor       : アクター
  #     width       : 描画先の幅
  #     need_normal : [正常] が必要かどうか (true / false)
  #--------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)
    # 括弧の幅を取得
    brackets_width = self.contents.text_size("[]").width
    # ステート名の文字列を作成
    text = ""
    # 実際表示するステートの配列作成
    show_state = []
    array = battler.momo_wbsd_before_state.nil? ? battler.states : battler.momo_wbsd_before_state # ★
    for i in array # ★
      if $data_states[i].rating >= 1
        show_state.push($data_states[i].name)
      end
    end
    # 表示ステートの配列が空の場合は "[正常]" にする
    if show_state.size == 0
      if need_normal
        text = "[正常]"
      else
        text = ""
      end
    else
      # カウントに見合ったステートを文字列に設定
      text = show_state[(@state_count / STATE_DRAW_FRAME) % show_state.size]
      # 括弧をつける
      text = "[" + text + "]"
    end
    # 完成した文字列を返す
    return text
  end  
end

[PR]中古車探しはガリバー:在庫多数、全車保証つき!