#==============================================================================
#                   「リンクアイテム」(ACE) ver1.2  by奈々
#
#   ◇使用規約
#   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
#   このスクリプトを改変したり、改変したものを配布するなどは自由ですが
#   その場合も元のスクリプトの作成者として名前は載せて下さい。
#   http://heptanas.mamagoto.com/
#
#------------------------------------------------------------------------------
#
#   アイテム、武器、防具それぞれのメモ欄にタグを書きます。
#   <リンクアイテム ID> <リンク武器 ID> <リンク防具 ID>
#   タグを書いたアイテムは、増減するときに指定したアイテムも同時に増減させます。
#   つまり相互にリンクさせることで、あたかも1つのアイテムとして扱えます。
#   
#   この機能を活用することで、アイテムとして使える装備品や
#   装備部位や性能が複数ある装備品などを作ることができます。
#   また、それらのアイテムが全て表示されることを防ぐため
#   メモ欄に<リスト非表示>と書くことでアイテムリストから除外できます。
#   (装備画面や戦闘画面からは選べますのでご安心下さい)
#   
#   もう1つ、メモ欄に<専用スロット 0>などと書くことで
#   その番号のスロットでしか装備できなくすることが出来ます。
#   右手武器、左手武器の使い分けや装飾品の種類を増やす場合に使って下さい。
#
#==============================================================================
#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
#  パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ
# スのインスタンスは $game_party で参照されます。
#==============================================================================

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● アイテムの増加(減少)
  #     include_equip : 装備品も含める
  #--------------------------------------------------------------------------
  alias nana_gain_item gain_item
  def gain_item(item, amount, include_equip = false)
    nana_gain_item(item, amount, include_equip)
    item.note.scan(/<リンクアイテム\s*(\d+)>/){|s| 
    nana_gain_item($data_items[$1.to_i], amount, include_equip)
    } if item
    item.note.scan(/<リンク武器\s*(\d+)>/){|s| 
    nana_gain_item($data_weapons[$1.to_i], amount, include_equip)
    } if item
    item.note.scan(/<リンク防具\s*(\d+)>/){|s| 
    nana_gain_item($data_armors[$1.to_i], amount, include_equip)
    } if item
  end
end
#==============================================================================
# ■ Window_ItemList
#------------------------------------------------------------------------------
#  アイテム画面で、所持アイテムの一覧を表示するウィンドウです。
#==============================================================================

class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # ● アイテムをリストに含めるかどうか
  #--------------------------------------------------------------------------
  alias nana_include? include?
  def include?(item)
    nana_include?(item) && !item.note.include?("<リスト非表示>")
  end
end
#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
#  装備画面で、装備変更の候補となるアイテムの一覧を表示するウィンドウです。
#==============================================================================

class Window_EquipItem < Window_ItemList
  #--------------------------------------------------------------------------
  # ● アイテムをリストに含めるかどうか(alias再定義)
  #--------------------------------------------------------------------------
  alias x_include? include?
  def include?(item)
    return true if item == nil
    return false if item.note.include?("<専用スロット") &&\
    !item.note.include?("<専用スロット " + @slot_id.to_s + ">")
    return x_include?(item)
  end
end