#装備画面強化 ver1.00 #装備画面に表示される能力値を増やします #また、変化の無い能力値装備後の能力を表示しません #バグ報告はhttp://asukanosouko.hp.infoseek.co.jp/までどうぞ class Window_EquipLeft < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 # actor : アクター #-------------------------------------------------------------------------- def initialize(actor) super(0, 64, 272, 416) self.contents = Bitmap.new(width - 32, height - 32) @actor = actor refresh end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_state(@actor, 4, 32) draw_actor_hp(@actor, 4, 64, 172) draw_actor_sp(@actor, 4, 96, 172) draw_actor_parameter(@actor, 4, 128, 0) draw_actor_parameter(@actor, 4, 160, 1) draw_actor_parameter(@actor, 4, 192, 2) draw_actor_parameter(@actor, 4, 224, 3) draw_actor_parameter(@actor, 4, 256, 4) draw_actor_parameter(@actor, 4, 288, 5) draw_actor_parameter(@actor, 4, 320, 6) if @new_maxhp != nil if @new_maxhp != @actor.maxhp self.contents.font.color = system_color self.contents.draw_text(160, 64, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(190, 64, 48, 32, @new_maxhp.to_s, 2) end end if @new_maxsp != nil if @new_maxsp != @actor.maxsp self.contents.font.color = system_color self.contents.draw_text(160, 96, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(190, 96, 48, 32, @new_maxsp.to_s, 2) end end if @new_atk != nil if @new_atk != @actor.atk self.contents.font.color = system_color self.contents.draw_text(160, 128, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 128, 36, 32, @new_atk.to_s, 2) end end if @new_pdef != nil if @new_pdef != @actor.pdef self.contents.font.color = system_color self.contents.draw_text(160, 160, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 160, 36, 32, @new_pdef.to_s, 2) end end if @new_mdef != nil if @new_mdef != @actor.mdef self.contents.font.color = system_color self.contents.draw_text(160, 192, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 192, 36, 32, @new_mdef.to_s, 2) end end if @new_str != nil if @new_str != @actor.str self.contents.font.color = system_color self.contents.draw_text(160, 224, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 224, 36, 32, @new_str.to_s, 2) end end if @new_dex != nil if @new_dex != @actor.dex self.contents.font.color = system_color self.contents.draw_text(160, 256, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 256, 36, 32, @new_dex.to_s, 2) end end if @new_agi != nil if @new_agi != @actor.agi self.contents.font.color = system_color self.contents.draw_text(160, 288, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 288, 36, 32, @new_agi.to_s, 2) end end if @new_int != nil if @new_int != @actor.int self.contents.font.color = system_color self.contents.draw_text(160, 320, 40, 32, "→", 1) self.contents.font.color = normal_color self.contents.draw_text(200, 320, 36, 32, @new_int.to_s, 2) end end end #-------------------------------------------------------------------------- # ● 装備変更後のパラメータ設定 # new_atk : 装備変更後の攻撃力 # new_pdef : 装備変更後の物理防御 # new_mdef : 装備変更後の魔法防御 #-------------------------------------------------------------------------- def set_new_parameters(new_maxhp,new_maxsp,new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int) if @new_maxhp != new_maxhp or @new_maxsp != new_maxsp or @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or @new_str != new_str or @new_dex != new_dex or @new_agi != new_agi or @new_int != new_int @new_maxhp = new_maxhp @new_maxsp = new_maxsp @new_atk = new_atk @new_pdef = new_pdef @new_mdef = new_mdef @new_str = new_str @new_dex = new_dex @new_agi = new_agi @new_int = new_int refresh end end end class Window_EquipItem < Window_Selectable #-------------------------------------------------------------------------- # ● オブジェクト初期化 # actor : アクター # equip_type : 装備部位 (0〜3) #-------------------------------------------------------------------------- def initialize(actor, equip_type) super(272, 256, 368, 224) @actor = actor @equip_type = equip_type @column_max = 1 refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # ● 項目の描画 # index : 項目番号 #-------------------------------------------------------------------------- def draw_item(index) item = @data[index] x = 4 y = index * 32 case item when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24)) self.contents.font.color = normal_color self.contents.draw_text(x + 28, y, 232, 32, item.name, 0) self.contents.draw_text(x + 256, y, 16, 32, ":", 1) self.contents.draw_text(x + 272, y, 24, 32, number.to_s, 2) end end class Scene_Equip #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh # アイテムウィンドウの可視状態設定 @item_window1.visible = (@right_window.index == 0) @item_window2.visible = (@right_window.index == 1) @item_window3.visible = (@right_window.index == 2) @item_window4.visible = (@right_window.index == 3) @item_window5.visible = (@right_window.index == 4) # 現在装備中のアイテムを取得 item1 = @right_window.item # 現在のアイテムウィンドウを @item_window に設定 case @right_window.index when 0 @item_window = @item_window1 when 1 @item_window = @item_window2 when 2 @item_window = @item_window3 when 3 @item_window = @item_window4 when 4 @item_window = @item_window5 end # ライトウィンドウがアクティブの場合 if @right_window.active # 装備変更後のパラメータを消去 @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil, nil, nil) end # アイテムウィンドウがアクティブの場合 if @item_window.active # 現在選択中のアイテムを取得 item2 = @item_window.item # 装備を変更 last_hp = @actor.hp last_sp = @actor.sp @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id) # 装備変更後のパラメータを取得 new_maxhp = @actor.maxhp new_maxsp = @actor.maxsp new_atk = @actor.atk new_pdef = @actor.pdef new_mdef = @actor.mdef new_str = @actor.str new_dex = @actor.dex new_agi = @actor.agi new_int = @actor.int # 装備を戻す @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id) @actor.hp = last_hp @actor.sp = last_sp # レフトウィンドウに描画 @left_window.set_new_parameters(new_maxhp, new_maxsp, new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int) end end end