#==============================================================================
#                           「アクター複製」(ACE) ver1.0
#   製作者:奈々(なな)
#   へぷたなすくろーる http://heptanas.mamagoto.com/
#
#   ◇使用規約
#   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
#   このスクリプトを改変したり、改変したものを配布するなどは自由ですが
#   その場合も元のスクリプトの作成者として名前は載せて下さい。
#   その他、詳しい利用規約はブログを参照して下さい。
#
#------------------------------------------------------------------------------
#
#   アクターの再生成や複製が出来るスクリプトです。
#   デフォルトでもアクターの入れ替えで初期化が行えますが
#   このスクリプトではそれに加えて、他のアクターをコピーすることが可能です。
#   
#   キャラメイクやモンスターテイムといったシステムの自作や
#   大量のアクターを管理するのに効果的な素材です。
#   ※具体的な使用例、及び注意点はブログもご参照下さい。
#   
#   使い方は、イベントコマンドの「スクリプト」で行います。
#   
#   $game_actors.regenerate(n, m)
#   
#   n番のアクターを、m番のアクターに再生成します。
#   これはデータベースの内容を使い、アクターの初期化を行う処理です。
#   mを省略して、単なる初期化としても使えます。
#   
#   $game_actors.copy(n, m)
#   
#   n番のアクターに、m番のアクターを複製します。
#   こちらはゲーム中の、アクターそのものをコピーする処理です。
#   コピー後は独立したアクターとなります。
#   
#
#==============================================================================

#==============================================================================
# ■ Game_Actors
#------------------------------------------------------------------------------
#  アクターの配列のラッパーです。このクラスのインスタンスは $game_actors で参
# 照されます。
#==============================================================================

class Game_Actors
  #--------------------------------------------------------------------------
  # ● アクターの再生成
  #--------------------------------------------------------------------------
  def regenerate(to, from = to)
    return nil unless $data_actors[from]
    @data[to] = Game_Actor.new(from)
    $game_player.refresh
  end
  #--------------------------------------------------------------------------
  # ● アクターの複製
  #--------------------------------------------------------------------------
  def copy(to, from)
    return nil unless @data[from]
    @data[to] = Marshal.load(Marshal.dump(@data[from]))
    $game_player.refresh
  end
end