Project1

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

作者: taroxd    时间: 2014-5-21 16:11
标题: 持有物品时习得技能
[pre lang="ruby" line="1"]

#============================================================================
#  〇 require Taroxd基础设置
#     使用方法:在角色处备注 <learn x by y>,表示当持有道具 y 时习得技能 x
#============================================================================

class RPG::Actor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ● 获取由 [技能id, 物品] 构成的数组
  #--------------------------------------------------------------------------
  def learn_skill_by_item
    @learn_skill_by_item ||=
    @note.scan(/<learn\s*(\d+)\s*by\s*(\d+)>/i).map {|(x, y)|
      [x.to_i, $data_items[y.to_i]] }
  end
end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 获取添加的技能
  #--------------------------------------------------------------------------
  def_with :added_skills do |old|
    actor.learn_skill_by_item.each {|(skill_id, item)|
      old.push(skill_id) if $game_party.has_item?(item) }
    old
  end
end
[/pre]




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