| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 4 | 
 
| 经验 | 0 | 
 
| 最后登录 | 2025-4-17 | 
 
| 在线时间 | 32 小时 | 
 
 
 
 
 
Lv2.观梦者 
	- 梦石
 - 0 
 
        - 星屑
 - 438 
 
        - 在线时间
 - 32 小时
 
        - 注册时间
 - 2019-7-2
 
        - 帖子
 - 4
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
# @taroxd metadata 1.0 
# @display 属性修正的扩展 
# @require taroxd_core 
# @id element_effect 
# @help  
#             表示该角色/该职业/习得技能后/装上装备后/该敌人/获得状态后, 
#             战斗者使用第 id 号属性的技能时,效果乘以 rate 
 
Taroxd::ElementEffect = true 
 
class RPG::BaseItem 
  # 属性效果构成的 hash,属性ID => 效果 
  def element_effect 
    @element_effect ||= @note.scan(/<ELEMENT\s+(\d+)\s+(\d+(?:\.\d+)?)>/i) 
      .each_with_object(Hash.new(1.0)) { |(id, rate), hash| 
        hash[id.to_i] *= rate.to_f } 
  end 
end 
 
class Game_Battler < Game_BattlerBase 
  def element_effect 
    note_objects.each_with_object(Hash.new(1.0)) do |e, h| 
      h.merge!(e.element_effect) { |_, r1, r2| r1 * r2 } 
    end 
  end 
 
  calc_new_rate = lambda do |old, user, item| 
    if item.damage.element_id < 0 
      user.atk_elements.pi(old) { |id| user.element_effect[id] } 
    else 
      old * user.element_effect[item.damage.element_id] 
    end 
  end 
  def_with :item_element_rate, calc_new_rate 
end |   
 
 
 
 |