#==============================================================================
# ■ アクター固有装備 By 貪藻矢射妥←
#------------------------------------------------------------------------------
# ツクールXPには存在したアクター固有装備をVX Aceでも復活させてみます。
#
# 武器、防具のメモに
# 固有[ID,...]
# と記載するとそのアクターIDのアクターのみ装備可能の武器、防具を作成可能です
#
#==============================================================================
# 更新っぽいもの
# まだなし
$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["EquipFix_Custom"] = true
#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
# 装備画面で、装備変更の候補となるアイテムの一覧を表示するウィンドウです。
#==============================================================================
class Window_EquipItem < Window_ItemList
include Equip_Extend
#--------------------------------------------------------------------------
# ● アイテムをリストに含めるかどうか
#--------------------------------------------------------------------------
def include?(item)
return true if item == nil
return false unless item.is_a?(RPG::EquipItem)
return false if @slot_id < 0
if $OuterFlgs["EquipFix_Custom"]
text = item.note.clone
fix_id = text =~ /固有\[(\S+)\]/ ? $1.split(/,/) : nil
if fix_id
for c in 0...fix_id.size
fix_id[c] = fix_id[c].to_i
end
end
return false if fix_id && !fix_id.include?(@actor.id)
end
if $OuterFlgs["Equip_Extend"]
if item.is_a?(RPG::Armor)
for cnt in INNER_ETYPE
if @actor.equip_slots[@slot_id] == cnt[0]
return false if ATYPE_EXTEND[cnt][1].include?(item.atype_id)
return true if ATYPE_EXTEND[cnt][0].include?(item.atype_id) && @actor.equippable?(item)
end
if @actor.equip_slots[@slot_id] == cnt[1]
return true if ATYPE_EXTEND[cnt][1].include?(item.atype_id) && @actor.equippable?(item)
return false if ATYPE_EXTEND[cnt][0].include?(item.atype_id)
end
end
end
end
return false if item.etype_id != @actor.equip_slots[@slot_id]
return @actor.equippable?(item)
end
end
|