|
- class Game_Party < Game_Unit
- #--------------------------------------------------------------------------
- # ● 增加/减少物品
- # include_equip : 是否包括装备
- #--------------------------------------------------------------------------
- def gain_item(item, amount, include_equip = false)
- container = item_container(item.class)
- return unless container
- last_number = item_number(item) #旧物品数量
- new_number = last_number + amount #新物品数量
- a = amount #数量
- if include_equip && new_number < last_number #丢弃物品的情况
- members.each do |actor|
- while a < 0 && actor.equips.include?(item)
- discard_members_equip(item, 1)
- a += 1
- end
- end
- end
- new_number = last_number + a #重新修正新物品数量
-
- container[item.id] = [[new_number, 0].max, max_item_number(item)].min #物品数量修改
- container.delete(item.id) if container[item.id] == 0
- $game_map.need_refresh = true
- end
- end
复制代码
已测试,复制到main脚本前面,原默认脚本后。
方法完全覆盖,未考虑兼容。
实现:扣除装备时,按照队列顺序扣除对应装备,如果不够,再扣除包裹中的。 |
评分
-
查看全部评分
|