伤害的数据类。
伤害类型。
属性编号。
计算公式。
离散度。
允许必杀(true/false)。
判断伤害对象是否为空,当伤害类型为 0 时返回true。
判断伤害对象是否为 HP型为 1、3 或 5 时返回true。
判断伤害对象是否为 MP型为 2、4 或 6 时返回true。
判断伤害结果是否为恢复,当伤害类型为 3、4 时返回true。
判断伤害结果是否为吸收,当伤害类型为 5、6 时返回true。
判断伤害结果,如果是恢复,则返回 -1 ,否则返回 1 。
根据参数执行计算公式,参数 a,b,v 分别指定了技能释放者所在队伍、技能承受者所在队伍以及所需的变量。
如果伤害结果是恢复,那么就会返回一个负值。
class RPG::UsableItem::Damage
def initialize
@type = 0
@element_id = 0
@formula = '0'
@variance = 20
@critical = false
end
def none?
@type == 0
end
def to_hp?
[1,3,5].include?(@type)
end
def to_mp?
[2,4,6].include?(@type)
end
def recover?
[3,4].include?(@type)
end
def drain?
[5,6].include?(@type)
end
def sign
recover? ? -1 : 1
end
def eval(a, b, v)
[Kernel.eval(@formula), 0].max * sign rescue 0
end
attr_accessor :type
attr_accessor :element_id
attr_accessor :formula
attr_accessor :variance
attr_accessor :critical
end