rebf-gaiden/Scripts/_.37.rb
2025-04-26 17:06:34 -05:00

53 lines
1.9 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

module Element
# ◆ スキル・アイテムに継承しない属性
# <攻撃属性継承> で継承しない属性の ID を指定。
IGNORE = [1, 2,3,4,5,11, 12, 13, 14, 15, 16, 17, 18]
# 範囲オブジェクト1..6 など)の記述形式には対応していません。
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● スキル/アイテムの属性修正値を取得(再定義)
#--------------------------------------------------------------------------
def item_element_rate(user, item)
#複数属性のリストを習得
e_list = item.attack_elements_list
#アクターであれば反映属性を取得
e_list += user.reflect_elements if user.actor?
if e_list == ([] or empty?)
e_id = item.damage.element_id
if e_id < 0
result = user.atk_elements.empty? ? 1.0 : elements_max_rate(user, user.atk_elements)
else
elements = [e_id]
if item.note =~ /<攻撃属性継承>/
user.atk_elements.each do |element|
elements.push(element) unless Element::IGNORE.include?(element)
end
end
result = elements_max_rate(user, elements.uniq)
end
else
e_list.push(item.damage.element_id)
if item.note =~ /<攻撃属性継承>/
user.atk_elements.each do |element|
e_list.push(element) unless Element::IGNORE.include?(element)
end
end
result = elements_max_rate(user, e_list.uniq)
end
#アクターであればダメージ増加補正を取得
result *= gain_damage_rate(user, item) if user.actor?
return result
end
end