本帖最后由 taroxd 于 2014-6-14 06:35 编辑
# 在职业处备注 <mhp = f(lv)> # f(lv) 是 mhp 的 计算公式 # 例 <mhp = lv * 10000> # 备注后使得数据库中最大HP的设置无效 class RPG::Class def mhp_formula return @mhp_formula unless @mhp_formula.nil? @mhp_formula = @note =~ /<mhp\s*=(.+)>/ ? eval("->(lv){#{$1}}") : false end end class Game_Actor remove_method :param_max def param_base(param_id) if param_id == 0 formula = self.class.mhp_formula return formula.(@level) if formula end self.class.params[param_id, @level] end end
# 在职业处备注 <mhp = f(lv)>
# f(lv) 是 mhp 的 计算公式
# 例 <mhp = lv * 10000>
# 备注后使得数据库中最大HP的设置无效
class RPG::Class
def mhp_formula
return @mhp_formula unless @mhp_formula.nil?
@mhp_formula = @note =~ /<mhp\s*=(.+)>/ ? eval("->(lv){#{$1}}") : false
end
end
class Game_Actor
remove_method :param_max
def param_base(param_id)
if param_id == 0
formula = self.class.mhp_formula
return formula.(@level) if formula
end
self.class.params[param_id, @level]
end
end
|