#============================================================================== # ■ VX-RGSS2-14 まとめ買いショップ [Ver.1.1.0] by Claimh #------------------------------------------------------------------------------ #こんなショップが作れます。 #・まとめ買い&まとめ売りができる #・装備変更ができる #・アイテムの詳細が表示できる #・購入・売却の価格レートの変更ができる #------------------------------------------------------------------------------ #(注) Scene_Shop等、ショップ系は全て再構築。 #------------------------------------------------------------------------------ # <操作> # Cボタン : 購入(売買する品があるとき) # ← : 個数増(Ctrl押下中は+10) # → : 個数減(Ctrl押下中は-10) # Yボタン : 情報切り替え(下のウィンドウ) # Xボタン : アイテム詳細情報表示 #------------------------------------------------------------------------------ # <レート変更> #・購入レート # $game_system.shop.buy.rate = 購入レート(%) #・売却レート # $game_system.shop.sell.rate = 購入レート(%) # <購入合計金額> # $game_system.shop.buy.gold # <売却合計金額> # $game_system.shop.sell.gold #============================================================================== module ShopEx # 装備変更方式 # true : 「装備変更」… メニューと同じ装備画面に遷移 # false : 「購入リスト」… 購入したアイテムから選んで装備する USE_MENU_EQUIP = false =begin ◆「装備変更」の仕様 装備画面遷移時に売買しようとしている商品の個数は初期化されます Scene_Equipに改変が入っている場合、併用できないかも。 ◆「購入リスト」の仕様 直前に購入した武器・防具だけが装備可能です アイテムは使用できません 購入・売却リストの商品個数を増減した時点で購入リストは初期化されます =end end module ShopExItemInfo #---------------------------------------------------------------------------- # アイテム詳細情報の表示方式 #---------------------------------------------------------------------------- # 属性表示方法(true:アイコン false:文字) USE_ICON = false # 属性用アイコン(USE_ICON=trueの時のみ) ELE_ICON = { # 属性ID => アイコンIndex 1 => 1, # 格闘 2 => 2, # 斬撃 3 => 3, # 刺突 4 => 4, # 打撃 5 => 5, # 弓 6 => 6, # 鞭 9 => 9, # 炎 10 => 10, # 冷気 11 => 11, # 雷 12 => 12, # 水 13 => 13, # 大地 14 => 14, # 風 15 => 15, # 神聖 16 => 16, # 暗黒 } # 表示しない属性 ELE_NOT_SHOW = [] # 表示しないステート STT_NOT_SHOW = [] # 表示最大数(属性) ELE_MAX = 8 # 表示最大数(ステート) STT_MAX = 8 end module ShopEx #============================================================================== # ■ ShopEx::ShopStatus #============================================================================== class ShopStatus # 初期購入レート(%) BUY_RATE = 100.0 # 初期売却レート(%) SELL_RATE = 50.0 class Status attr_accessor :rate # レート attr_accessor :gold # 金額 def initialize(rate) @rate = rate @gold = 0 end def rate_f return (@rate / 100.0) end end attr_reader :buy # 購入ステータス attr_reader :sell # 売却ステータス def initialize @buy = Status.new(BUY_RATE) @sell = Status.new(SELL_RATE) end end end #============================================================================== # ■ Game_System #============================================================================== class Game_System #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_reader :shop # ショップ情報 #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias initialize_shop_ex initialize def initialize initialize_shop_ex @shop = ShopEx::ShopStatus.new end end #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 仮想装備時の能力値取得 #-------------------------------------------------------------------------- def shop_v_equip(type, equip_id, prm) tmp2_id = 0 case type # 仮想装備にする when 0; tmp_id = @weapon_id; @weapon_id = equip_id unless two_hands_legal? tmp2_id = @armor1_id; @armor1_id = 0 end when 1; tmp_id = @armor1_id; @armor1_id = equip_id unless two_hands_legal? tmp2_id = @weapon_id; @weapon_id = 0 end when 2; tmp_id = @armor2_id; @armor2_id = equip_id when 3; tmp_id = @armor3_id; @armor3_id = equip_id when 4; tmp_id = @armor4_id; @armor4_id = equip_id end case prm # 仮想装備時のパラメータ when 0; ret_prm = self.atk when 1; ret_prm = self.def when 2; ret_prm = self.spi when 3; ret_prm = self.agi when 4; ret_prm = self.hit when 5; ret_prm = self.eva end case type # 仮想装備を戻す when 0; @weapon_id = tmp_id @armor1_id = tmp2_id if tmp2_id != 0 when 1; @armor1_id = tmp_id @weapon_id = tmp2_id if tmp2_id != 0 when 2; @armor2_id = tmp_id when 3; @armor3_id = tmp_id when 4; @armor4_id = tmp_id end return ret_prm end end