#==============================================================================
#                   「ピクチャ番号拡張」(ACE) ver1.0
#   製作者:奈々(なな)
#   へぷたなすくろーる http://heptanas.mamagoto.com/
#
#   ◇使用規約
#   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
#   このスクリプトを改変したり、改変したものを配布するなどは自由ですが
#   その場合も元のスクリプトの作成者として名前は載せて下さい。
#
#------------------------------------------------------------------------------
#
#   通常は100番までしか扱えないピクチャ番号を無限にします。
#   
#   「ピクチャの表示」「ピクチャの移動」「ピクチャの回転」
#   「ピクチャの色調変更」「ピクチャの消去」の手前に
#   イベントコマンドのスクリプトで
#   adv_pcture_number(n)
#   と入れます。(nは好きな番号です)
#   
#   すると、イベントで設定したピクチャ番号は無視され
#   スクリプトで入力した番号に置き換えられます。
#   つまり好きな番号でピクチャを管理することができます。
#
#==============================================================================
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● ピクチャ番号拡張
  #--------------------------------------------------------------------------
  def adv_pcture_number(number = false)
    if number
      $adv_pcture_number = number
    else
      $adv_pcture_number = false
    end
  end
  #--------------------------------------------------------------------------
  # ● ピクチャの表示(再定義)
  #--------------------------------------------------------------------------
  def command_231
    if @params[3] == 0    # 直接指定
      x = @params[4]
      y = @params[5]
    else                  # 変数で指定
      x = $game_variables[@params[4]]
      y = $game_variables[@params[5]]
    end
    if $adv_pcture_number
      screen.pictures[$adv_pcture_number].show(@params[1], @params[2],
        x, y, @params[6], @params[7], @params[8], @params[9])
    else
      screen.pictures[@params[0]].show(@params[1], @params[2],
        x, y, @params[6], @params[7], @params[8], @params[9])
    end
    $adv_pcture_number = false
  end
  #--------------------------------------------------------------------------
  # ● ピクチャの移動(再定義)
  #--------------------------------------------------------------------------
  def command_232
    if @params[3] == 0    # 直接指定
      x = @params[4]
      y = @params[5]
    else                  # 変数で指定
      x = $game_variables[@params[4]]
      y = $game_variables[@params[5]]
    end
    if $adv_pcture_number
      screen.pictures[$adv_pcture_number].move(@params[2], x, y, @params[6],
        @params[7], @params[8], @params[9], @params[10])
    else
      screen.pictures[@params[0]].move(@params[2], x, y, @params[6],
        @params[7], @params[8], @params[9], @params[10])
    end
    $adv_pcture_number = false
    wait(@params[10]) if @params[11]
  end
  #--------------------------------------------------------------------------
  # ● ピクチャの回転(再定義)
  #--------------------------------------------------------------------------
  def command_233
    if $adv_pcture_number
      screen.pictures[$adv_pcture_number].rotate(@params[1])
    else
      screen.pictures[@params[0]].rotate(@params[1])
    end
    $adv_pcture_number = false
  end
  #--------------------------------------------------------------------------
  # ● ピクチャの色調変更(再定義)
  #--------------------------------------------------------------------------
  def command_234
    if $adv_pcture_number
      screen.pictures[$adv_pcture_number].start_tone_change(@params[1], @params[2])
      wait(@params[2]) if @params[3]
    else
      screen.pictures[@params[0]].start_tone_change(@params[1], @params[2])
      wait(@params[2]) if @params[3]
    end
    $adv_pcture_number = false
  end
  #--------------------------------------------------------------------------
  # ● ピクチャの消去(再定義)
  #--------------------------------------------------------------------------
  def command_235
    if $adv_pcture_number
      screen.pictures[$adv_pcture_number].erase
    else
      screen.pictures[@params[0]].erase
    end
    $adv_pcture_number = false
  end
end