Project1

标题: 持有物品时习得技能 [打印本页]

作者: taroxd    时间: 2014-5-21 16:11
标题: 持有物品时习得技能
RUBY 代码复制
  1. #============================================================================
  2. #  〇 require Taroxd基础设置
  3. #     使用方法:在角色处备注 <learn x by y>,表示当持有道具 y 时习得技能 x
  4. #============================================================================
  5.  
  6. class RPG::Actor < RPG::BaseItem
  7.   #--------------------------------------------------------------------------
  8.   # ● 获取由 [技能id, 物品] 构成的数组
  9.   #--------------------------------------------------------------------------
  10.   def learn_skill_by_item
  11.     @learn_skill_by_item ||=
  12.     @note.scan(/<learn\s*(\d+)\s*by\s*(\d+)>/i).map {|(x, y)|
  13.       [x.to_i, $data_items[y.to_i]] }
  14.   end
  15. end
  16.  
  17. class Game_Actor < Game_Battler
  18.   #--------------------------------------------------------------------------
  19.   # ● 获取添加的技能
  20.   #--------------------------------------------------------------------------
  21.   def_with :added_skills do |old|
  22.     actor.learn_skill_by_item.each {|(skill_id, item)|
  23.       old.push(skill_id) if $game_party.has_item?(item) }
  24.     old
  25.   end
  26. end





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