module PERCENT_REGEN
REGEN_RATE = 0.05 # 以小数表示的百分比,每有一个回血状态会增加5%的自动回血的意味
REGEN_STATES = [35,37] # 回复状态id数组,存在于此数组的
end
class Game_Battler
include PERCENT_REGEN
#--------------------------------------------------------------------------
# ● 应用连续伤害效果
#--------------------------------------------------------------------------
def slip_damage_effect
# 设置回复
regen_rate = 0
slip_count = 0
@states.each{|id|
regen_rate += REGEN_RATE if REGEN_STATES.include(id)
slip_count += 1
}
# 设置伤害
self.damage = 0
self.damage = self.maxhp / 10 if slip_count > regen_rate / REGEN_RATE
self.damage -= self.maxhp * regen_rate
# 抵消返回
return if self.damage ==0
# 分散准备
amp = [self.damage.abs * 15 / 100, 1].max
#分散度
if self.damage.abs > 0
self.damage += rand(amp+1) + rand(amp+1) - amp
else
self.damage -= rand(amp+1) + rand(amp+1) - amp
end
# HP 的伤害减法运算
self.hp -= self.damage
# 过程结束
return true
end
end
module PERCENT_REGEN
REGEN_RATE = 0.05 # 以小数表示的百分比,每有一个回血状态会增加5%的自动回血的意味
REGEN_STATES = [35,37] # 回复状态id数组,存在于此数组的
end
class Game_Battler
include PERCENT_REGEN
#--------------------------------------------------------------------------
# ● 应用连续伤害效果
#--------------------------------------------------------------------------
def slip_damage_effect
# 设置回复
regen_rate = 0
slip_count = 0
@states.each{|id|
regen_rate += REGEN_RATE if REGEN_STATES.include(id)
slip_count += 1
}
# 设置伤害
self.damage = 0
self.damage = self.maxhp / 10 if slip_count > regen_rate / REGEN_RATE
self.damage -= self.maxhp * regen_rate
# 抵消返回
return if self.damage ==0
# 分散准备
amp = [self.damage.abs * 15 / 100, 1].max
#分散度
if self.damage.abs > 0
self.damage += rand(amp+1) + rand(amp+1) - amp
else
self.damage -= rand(amp+1) + rand(amp+1) - amp
end
# HP 的伤害减法运算
self.hp -= self.damage
# 过程结束
return true
end
end