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