#==============================================================================
# 物品选择扩张 by 子弹君
#==============================================================================
# 使用说明:
# 在事件中使用指令,
# 变量XXX = 脚本 :item
# 脚本指令分别有 :item :weapon :armor :key_item
# 指令使用一次之后就会自动还原成贵重物品选择,需要再设定一次。
# 脚本设置说明:
# ITEMKEY那个开关如果打开的话就会和物品大于多少价格出现冲突,方法可以有多种,或者
# 直接到XX行将那一段屏蔽了。
#==============================================================================
$BombScript ||= {};$BombScript["物品选择扩张 "] = "物品选择扩张20141014"
#==============================================================================
# 设定部分
#==============================================================================
module BOMB
KEYVAR = 1 #控制物品类型的变量
EAPRIVAR = 2 #控制价格的变量ID
RMYPVAR = 3 #控制类型编号的变量ID
end
class Window_KeyItem < Window_ItemList
#--------------------------------------------------------------------------
# ● 开始输入的处理
#--------------------------------------------------------------------------
def start
unless $game_variables[BOMB::KEYVAR] == :null
self.category = $game_variables[BOMB::KEYVAR]
$game_variables[BOMB::KEYVAR] = :null
else
self.category = :key_item
end
update_placement
refresh
select(0)
open
activate
end
#--------------------------------------------------------------------------
# ● 查询列表中是否含有此物品
#--------------------------------------------------------------------------
def include?(item)
type = $game_variables[BOMB::RMYPVAR]
case @category
when :item
item.is_a?(RPG::Item) && !item.key_item? &&
item.price >= $game_variables[BOMB::EAPRIVAR]
when :weapon
item.is_a?(RPG::Weapon) && type.include?(item.wtype_id) &&
item.price >= $game_variables[BOMB::EAPRIVAR]
when :armor
item.is_a?(RPG::Armor) && type.include?(item.atype_id) &&
item.price >= $game_variables[BOMB::EAPRIVAR]
when :key_item
item.is_a?(RPG::Item) && item.key_item? &&
item.price >= $game_variables[BOMB::EAPRIVAR]
else
false
end
end
end