#==============================================================================
# 「リンクアイテム」(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