
#==============================================================================
# ■ 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