class Scene_Menu < Scene_MenuBase def start super create_image_actor create_command_window create_gold_window create_location_window create_status_window create_gauge_window end def create_image_actor @image_actor = Image_Actor.new end def create_gauge_window @gauge_window = Window_Gauge.new end def create_gold_window @gold_window = Window_Gold.new end def create_location_window @location_window = Window_Location.new end def create_command_window @command_window = Window_MenuCommand.new @command_window.set_handler(:item, method(:command_item)) @command_window.set_handler(:skill, method(:command_personal)) @command_window.set_handler(:equip, method(:command_personal)) @command_window.set_handler(:status, method(:command_personal)) @command_window.set_handler(:custom_scene_0, method(:command_custom_scene_0)) @command_window.set_handler(:common_event_69, method(:command_common_event_69)) @command_window.set_handler(:common_event_70, method(:command_common_event_70)) @command_window.set_handler(:common_event_71, method(:command_common_event_71)) @command_window.set_handler(:continue, method(:command_continue)) @command_window.set_handler(:game_end, method(:command_game_end)) @command_window.set_handler(:cancel, method(:return_scene)) end def dispose_background super @image_actor.dispose end def create_status_window @status_window = Window_MenuStatus.new(160, 0) end def command_custom_scene_0 SceneManager.call(Scene_Status_Distribution) end def command_common_event_69 $game_temp.reserve_common_event(69) SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved? end def command_common_event_70 $game_temp.reserve_common_event(70) SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved? end def command_common_event_71 $game_temp.reserve_common_event(71) SceneManager.goto(Scene_Map) if $game_temp.common_event_reserved? end def command_continue SceneManager.call(Scene_Load) end end class Window_MenuCommand < Window_Command def initialize super(0, 0) self.opacity = 255 if SceneManager.scene_is?(Scene_Menu) select_last end def window_width return 160 end def window_height return 272 end def make_command_list add_command(Vocab::item, :item, main_commands_enabled) add_command(Vocab::skill, :skill, main_commands_enabled) add_command(Vocab::equip, :equip, main_commands_enabled) add_command(Vocab::status, :status, main_commands_enabled) add_command('½ºÅ×ÀÌÅͽººÐ¹è', :custom_scene_0) add_command('½Å(œÓ)»óÁ¡', :common_event_69) add_command('ÀÓ½Ã1', :common_event_70) add_command('ÀÓ½Ã2', :common_event_71) add_command(Vocab::continue, :continue, main_commands_enabled) add_command(Vocab::game_end, :game_end) end def alignment return 0 end end class Window_MenuStatus < Window_Selectable def initialize(x, y) super(x, y, window_width, window_height) @pending_index = -1 self.opacity = 0 if SceneManager.scene_is?(Scene_Menu) refresh end def window_width return 384 end def window_height return 267 end def item_height return (height - standard_padding * 2) / 1 end def draw_item(index) actor = $game_party.members[index] enabled = $game_party.battle_members.include?(actor) rect = item_rect(index) draw_item_background(index) draw_actor_simple_status(actor, rect.x, rect.y) end def draw_actor_simple_status(actor, x, y) draw_actor_name(actor, x + 10, y + 97) draw_actor_level(actor, x + 11, y + 123) draw_actor_icons(actor, x + 8, y + 63) draw_actor_class(actor, x + 84, y + 124) draw_actor_hp(actor, x + 10, y + 149) draw_actor_mp(actor, x + 10, y + 173) draw_actor_tp(actor, x + 10, y + 194) end def draw_actor_name(actor, x, y, width = 112) change_color(hp_color(actor)) draw_text(x, y, width, 24, actor.name) end def draw_actor_level(actor, x, y) change_color(system_color) draw_text(x, y, 32, line_height, Vocab::level_a) change_color(normal_color) draw_text(x + 56 - 24, y, 24, 24, actor.level, 2) end def draw_actor_icons(actor, x, y, width = 96) icons = (actor.state_icons + actor.buff_icons)[0, ((24/24)*width)/24] icons.each_with_index {|n, i| draw_icon(n, x + 24 * (i % (width / 24)), y + 24 * (i / (width / 24))) } end def draw_actor_class(actor, x, y, width = 112) change_color(normal_color) draw_text(x, y, width, 24, actor.class.name) end def draw_actor_hp(actor, x, y, width = 124) draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2) change_color(system_color) draw_text(x, y, 30, line_height, Vocab::hp_a) draw_current_and_max_values(x, y, width, actor.hp, actor.mhp, hp_color(actor), normal_color) end def draw_actor_mp(actor, x, y, width = 124) draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2) change_color(system_color) draw_text(x, y, 30, line_height, Vocab::mp_a) draw_current_and_max_values(x, y, width, actor.mp, actor.mmp, mp_color(actor), normal_color) end end class Window_MenuActor < Window_MenuStatus def initialize super(0, 0) self.visible = false end def window_height Graphics.height end end class Image_Actor def initialize @sprite = Sprite.new @sprite.bitmap = Cache.picture("CG#{$game_party.members[0].id}") @sprite.x = Graphics.width - @sprite.bitmap.width end def dispose @sprite.dispose end end class Window_Gold < Window_Base def initialize super(0, 368, window_width, 48) self.opacity = 255 if SceneManager.scene_is?(Scene_Menu) refresh end def window_width return 285 end def refresh contents.clear change_color(system_color) draw_text(4, 0, contents_width - 8, line_height, '¼ÒÁö±Ý') cx = text_size(currency_unit).width change_color(normal_color) draw_text(4, contents_height - line_height, contents.width - 8 - cx - 2, line_height, value, 2) change_color(system_color) draw_text(4, contents_height - line_height, contents.width - 8, line_height, currency_unit, 2) end end class Window_Location < Window_Base def initialize super(285, 368, window_width, 48) self.opacity = 255 if SceneManager.scene_is?(Scene_Menu) refresh end def window_width return 259 end def refresh contents.clear change_color(system_color) draw_text(4, 0, contents_width - 8, line_height, 'À§Ä¡') change_color(normal_color) draw_text(4, contents_height - line_height, contents_width - 8, line_height, $game_map.display_name, 2) end def open refresh super end end class Window_Gauge < Window_Base def initialize super(285, 272, window_width, window_height) self.opacity = 255 if SceneManager.scene_is?(Scene_Menu) refresh end def window_width return 259 end def window_height return 96 end def gauge_color1 return Color.new(25, 176, 1) end def gauge_color2 return Color.new(25, 176, 1) end def refresh contents.clear draw_icon(1, 8, 0) draw_icon(2, 8, 26) draw_icon(3, 8, 50) draw_gauge(48, -6, 160, ($game_variables[1] / $game_variables[2].to_f), gauge_color1, gauge_color2) draw_gauge(48, 20, 160, ($game_variables[3] / $game_variables[4].to_f), gauge_color1, gauge_color2) draw_gauge(48, 46, 160, ($game_variables[5] / $game_variables[6].to_f), gauge_color1, gauge_color2) end end