#==============================================================================
# ★ 设定部分 ★
#==============================================================================
module SFSaigao
=begin
使用方法:
只需要在对应角色数据库备注 <被动:回复>
该角色便会随体力的减少而提升生命回复属性
数值可在↓↓进行设置
=end
CARRYING = 3 #通过体力损失获取的属性最大保留几位小数(默认保留3位)即0.000
HPLOSS = 0.05 #表示每损失5%生命值
HPREPLY = 0.005 #表示生命恢复速度0.5%
end
#==============================================================================
# ★ 设定结束 ★
#==============================================================================
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
include SFSaigao
#--------------------------------------------------------------------------
# ● 获取特殊能力重定义
#--------------------------------------------------------------------------
alias new_xparam xparam
def xparam(xparam_id)
if xparam_id==7 && $data_actors[id].note =~ /<被动:回复>/
(features_sum(FEATURE_XPARAM, xparam_id) + count).round(CARRYING)
else
new_xparam(xparam_id)
end
end
#--------------------------------------------------------------------------
# ● 获取属性加成
#--------------------------------------------------------------------------
def count
return HPREPLY*ability
end
#--------------------------------------------------------------------------
# ● 获取当前已损失的体力百分比
#--------------------------------------------------------------------------
def loss
return 1-(1.0*hp)/(1.0*mhp)
end
#--------------------------------------------------------------------------
# ● 获取被动属性加成数量
#--------------------------------------------------------------------------
def ability
loss % HPLOSS == 0 ? loss/HPLOSS : (loss/HPLOSS).round
end
end