Project1

标题: 利用开关禁止使用道具 [打印本页]

作者: taroxd    时间: 2014-5-21 15:49
标题: 利用开关禁止使用道具
本帖最后由 taroxd 于 2014-10-2 21:04 编辑

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● require Taroxd基础设置
  3. #    使用方法:技能/道具备注以下内容
  4. #    <unusable x> 或 <usable -x> :当 x 号开关开启时,技能/道具禁止使用
  5. #    <usable x> 或 <unusable -x> :当 x 号开关关闭时,技能/道具禁止使用
  6. #--------------------------------------------------------------------------
  7.  
  8. class RPG::UsableItem < RPG::BaseItem
  9.   #--------------------------------------------------------------------------
  10.   # ● 获取开关 ID 构成的数组
  11.   #--------------------------------------------------------------------------
  12.   def unusable_switches
  13.     @unusable_switches ||=
  14.     @note.scan(/<(UN)?USABLE\s+(-*\d+)>/i).map {|(un, id)|
  15.       un ? id.to_i : -id.to_i }.uniq
  16.   end
  17. end
  18.  
  19. class Game_BattlerBase
  20.   #--------------------------------------------------------------------------
  21.   # ● 检查技能/物品的使用条件
  22.   #--------------------------------------------------------------------------
  23.   id_ok = ->(id) { (id > 0) ^ $game_switches[id.abs] }
  24.   ok = ->(old, item) { old && item.unusable_switches.all?(&id_ok) }
  25.   def_with :usable_item_conditions_met?, ok
  26. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1