=begin  戦闘のログ表示部の整形を変更するスクリプト。// Jun.A  また、ログウィンドウを右側に向けて透過するように変更。  オーバーライドしている物が多いので、ログウィンドウ関連の競合に注意。  ★対応  ・VX Ace通常戦闘  ・Yanflyさんのバトルシステム(一部コメントアウト解除が必要)  ・ストレイキャットさんのXP風戦闘  ・可変サイズ(640x480)対応。 =end module LOG_SHAPE BACK_RECT_X = 0 #ログウィンドウ背景の矩形、表示位置 X(デフォルトはゼロ) DISP_X = 0 #ログウィンドウの文字、表示位置 X(デフォルトはゼロ) end class Window_BattleLog < Window_Selectable #-------------------------------------------------------------------------- # override:● 背景の描画 #-------------------------------------------------------------------------- def draw_background @back_bitmap.clear #右方向に透過していくウィンドウに改造 @back_bitmap.gradient_fill_rect(back_rect, back_color1, back_color2) end #-------------------------------------------------------------------------- # override:● 背景の矩形を取得 #-------------------------------------------------------------------------- def back_rect Rect.new(LOG_SHAPE::BACK_RECT_X, padding, width, line_number * line_height) end #-------------------------------------------------------------------------- # override:● ログウィンドウ背景色の取得 1 (左) #-------------------------------------------------------------------------- def back_color1 Color.new(0, 0, 0, 100) end #-------------------------------------------------------------------------- # override:● ログウィンドウ背景色の取得 2 (右) #-------------------------------------------------------------------------- def back_color2 Color.new(0, 0, 0, 10) end #-------------------------------------------------------------------------- # override:● 背景の不透明度を取得 #-------------------------------------------------------------------------- def back_opacity return 64 end #-------------------------------------------------------------------------- # override:● 行の描画 #-------------------------------------------------------------------------- def draw_line(line_number) rect = item_rect_for_text(line_number) contents.clear_rect(rect) draw_text_ex(rect.x + LOG_SHAPE::DISP_X, rect.y, @lines[line_number]) end #-------------------------------------------------------------------------- # override:● 汎用・戦闘メッセージの出力 #-------------------------------------------------------------------------- def display_encount_message(text, name) add_text(sprintf(text, name)) end end class Scene_Battle #-------------------------------------------------------------------------- # alias: ●戦闘開始処理 #-------------------------------------------------------------------------- alias scene_battle_battle_start_abe_add battle_start def battle_start scene_battle_battle_start_abe_add battle_start_message #下記はYanflyさんのバトルシステムを使っている場合にコメントアウトを外す。 #return unless YEA::BATTLE::SKIP_PARTY_COMMAND @party_command_window.deactivate if BattleManager.input_start command_fight else turn_start end end #-------------------------------------------------------------------------- # override: ●戦闘開始メッセージ処理 // ログウィンドウに敵出現表示を出力。 #-------------------------------------------------------------------------- def battle_start_message #下記はYanflyさんのバトルシステムを使っている場合にコメントアウトを外す。 #return unless YEA::BATTLE::MSG_ENEMY_APPEARS $game_troop.enemy_names.each do |name| @log_window.display_encount_message(Vocab::Emerge, name) end if @preemptive @log_window.display_encount_message(Vocab::Preemptive, $game_party.name) elsif @surprise @log_window.display_encount_message(sprintf(Vocab::Surprise, $game_party.name)) end @log_window.wait_and_clear end end module BattleManager #-------------------------------------------------------------------------- # override: self.battle_start #-------------------------------------------------------------------------- def self.battle_start $game_system.battle_count += 1 $game_party.on_battle_start $game_troop.on_battle_start end end