This is what I ended up with. If you want any improvements, let me know and I'll see what I can do.
class Window_BattleLog < Window_Selectable
pac_overwrite = ["display_current_state", "display_use_item",
"display_counter", "display_reflection", "display_substitute",
"display_action_results", "display_auto_affected_status"]
pac_overwrite.each {|string|
overwrite_code = %Q(alias pac_vxcomlog_#{string} #{string}
def #{string}(*args)
c = SceneManager.scene.status_window
c.close if c.open?
self.open if close?
pac_vxcomlog_#{string}(*args)
self.close
c.open if c.close?
end)
eval(overwrite_code)
}
alias pac_vxcomlog_init initialize
def initialize(*args)
pac_vxcomlog_init(*args)
self.height
self.y = Graphics.height - self.height
self.openness = 0
self.opacity = 255
end
def back_opacity
0
end
end
class Scene_Battle < Scene_Base
attr_accessor :status_window
end