#==============================================================================
#                   「ショップ・商品追加分割」(ACE) ver1.1
#   製作者:奈々(なな)
#   へぷたなすくろーる http://heptanas.mamagoto.com/
#
#   ◇使用規約
#   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
#   スクリプトの改変は自由に行って頂いて構いませんが
#   その場合も元のスクリプトの作成者として名前を載せて下さい。
#   また配布前に必ず、ブログにある利用規約を確認して下さい。
#
#------------------------------------------------------------------------------
#
#   ショップの処理を「商品リスト追加」と「ショップに入る」の2つに分割します。
#   これにより条件分岐などを使った商品の操作が簡単になります。
#   
#   ・使い方
#   イベントコマンドのショップの処理を行うと
#   ショップには入らずに「リスト」に商品を追加します。
#   
#   ショップに入るためにはイベントコマンドの「スクリプト」を使います。
#   (ショップに入ると「リスト」はリセットされます。)
#   list_shop(false)             :売却も可能なショップ
#   list_shop(true)              :購入のみのショップ
#   
#   ・特殊なコマンド
#   list_shop(false, false)      :リストをリセットしない(売却あり)
#   list_shop(true, false)       :リストをリセットしない(購入のみ)
#   $game_systemshop_list = []   :リストをその場でリセットする
#
#==============================================================================
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
#  システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
# します。このクラスのインスタンスは $game_system で参照されます。
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :shop_list                # 売品リスト
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias n7_shoplist_initialize initialize
  def initialize
    n7_shoplist_initialize
    @shop_list = []
  end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● ショップの処理
  #--------------------------------------------------------------------------
  def command_302
    return if $game_party.in_battle
    goods = [@params]
    while next_event_code == 605
      @index += 1
      goods.push(@list[@index].parameters)
    end
    $game_system.shop_list += goods
  end
  #--------------------------------------------------------------------------
  # ● ショップの処理(リストモード)
  #--------------------------------------------------------------------------
  def list_shop(only_buy, clear = true)
    SceneManager.call(Scene_Shop)
    SceneManager.scene.prepare($game_system.shop_list, only_buy)
    Fiber.yield
    $game_system.shop_list = [] if clear
  end    
end